| 3992 | |
| 3993 | |
| 3994 | void Viewer::MouseButtonCallback(GLFWwindow* window, int mouseButton, int press, int mods) |
| 3995 | { |
| 3996 | if (ImGui::GetIO().WantCaptureMouse) |
| 3997 | return; |
| 3998 | |
| 3999 | DisappearCountdown = DisappearDuration; |
| 4000 | |
| 4001 | double xposd, yposd; |
| 4002 | glfwGetCursorPos(window, &xposd, &yposd); |
| 4003 | float workH = float(DispH - GetNavBarHeight()); |
| 4004 | |
| 4005 | // Make origin lower-left. |
| 4006 | float mouseX = float(xposd); |
| 4007 | float mouseY = workH - float(yposd); |
| 4008 | |
| 4009 | bool down = press ? true : false; |
| 4010 | switch (mouseButton) |
| 4011 | { |
| 4012 | // Left mouse button. |
| 4013 | case 0: |
| 4014 | { |
| 4015 | LMBDown = down; |
| 4016 | if (CropMode) |
| 4017 | { |
| 4018 | CropGizmo.MouseButton(LMBDown, tVector2(mouseX, mouseY)); |
| 4019 | } |
| 4020 | else if (LMBDown) |
| 4021 | { |
| 4022 | CursorMouseX = mouseX; |
| 4023 | CursorMouseY = mouseY; |
| 4024 | } |
| 4025 | break; |
| 4026 | } |
| 4027 | |
| 4028 | // Right mouse button. |
| 4029 | case 1: |
| 4030 | { |
| 4031 | RMBDown = down; |
| 4032 | if (RMBDown) |
| 4033 | { |
| 4034 | DragAnchorX = int(mouseX); |
| 4035 | DragAnchorY = int(mouseY); |
| 4036 | PanOffsetX += PanDragDownOffsetX; |
| 4037 | PanOffsetY += PanDragDownOffsetY; |
| 4038 | PanDragDownOffsetX = 0; |
| 4039 | PanDragDownOffsetY = 0; |
| 4040 | ReticleVisibleOnSelect = true; |
| 4041 | } |
| 4042 | break; |
| 4043 | } |
| 4044 | } |
| 4045 | } |
| 4046 | |
| 4047 | |
| 4048 | void Viewer::CursorPosCallback(GLFWwindow* window, double x, double y) |
nothing calls this directly
no test coverage detected