Solar System OpenGL v1.0.0
Loading...
Searching...
No Matches
mouse_handler.cpp
Go to the documentation of this file.
1
10#include "mouse_handler.h"
11
19float cameraAngleX = 0.0;
20
28float cameraAngleY = 0.0;
29
37int lastMouseX = 0;
38
46int lastMouseY = 0;
47
55bool leftButtonPressed = false;
56
66void mouseMotion(int x, int y)
67{
69 {
70 int dx = x - lastMouseX;
71 int dy = y - lastMouseY;
72
73 cameraAngleX += dx * 0.005;
74 cameraAngleY += dy * 0.005;
75
76 // Clamp cameraAngleY to prevent excessive vertical rotation
77 if (cameraAngleY > 1.5)
78 cameraAngleY = 1.5;
79 if (cameraAngleY < -1.5)
80 cameraAngleY = -1.5;
81
82 lastMouseX = x;
83 lastMouseY = y;
84
85 glutPostRedisplay();
86 }
87};
88
100void mouseButton(int button, int state, int x, int y)
101{
102 if (button == GLUT_LEFT_BUTTON)
103 {
104 if (state == GLUT_DOWN)
105 {
106 leftButtonPressed = true;
107 lastMouseX = x;
108 lastMouseY = y;
109 }
110 else
111 {
112 leftButtonPressed = false;
113 }
114 }
115};
float cameraAngleX
Camera angle around the X-axis.
Definition mouse_handler.cpp:19
float cameraAngleY
Camera angle around the Y-axis.
Definition mouse_handler.cpp:28
void mouseMotion(int x, int y)
Handles mouse motion events to adjust camera orientation.
Definition mouse_handler.cpp:66
int lastMouseY
Y-coordinate of the last mouse position.
Definition mouse_handler.cpp:46
int lastMouseX
X-coordinate of the last mouse position.
Definition mouse_handler.cpp:37
bool leftButtonPressed
State of the left mouse button.
Definition mouse_handler.cpp:55
void mouseButton(int button, int state, int x, int y)
Handles mouse button events to toggle camera control.
Definition mouse_handler.cpp:100
Handles mouse input for camera control.