PGR Copakond OpenGL Engine - Bowling
Loading...
Searching...
No Matches
input.h
Go to the documentation of this file.
1#ifndef PGR_SEM_COPAKOND_INPUT_H
2#define PGR_SEM_COPAKOND_INPUT_H
3
4#define IS_SPECIAL_KEY 256
5
6#define KEY_ESC 27
7#define KEY_BACKSPACE 8
8#define KEY_SHIFT 513
9#define KEY_ENTER 13
10#define KEY_SPACE ' '
11#define MOUSE_BUTTON_LEFT 514
12#define MOUSE_BUTTON_RIGHT 515
13#define MOUSE_BUTTON_MIDDLE 516
14
15#include "../pgr-portable.h"
16#include "../geometry/camera.h"
17
18namespace copakond {
20 class Input {
21 public:
22 bool keysMap[1024] = {false};
23 float mouseDeltaX = 0.0f;
24 float mouseDeltaY = 0.0f;
25
29
30 bool _firstMouseMovement = false;
31
32 int _windowWidth = 0;
34 int _windowPosX = 0;
35 int _windowPosY = 0;
36
37 Input(Camera &cam, int winWidth, int winHeight);
38
39 void screenResize(int winWidth, int winHeight);
40
43
44 void keyboardInputEvent(unsigned char key, int x, int y);
45 void specKeyboardInputEvent(int key, int x, int y);
46 void keyboardUpInputEvent(unsigned char key, int x, int y);
47 void specKeyboardUpInputEvent(int key, int x, int y);
48
49 void mouseButtonEvent(int button, int state, int x, int y);
50 void mouseMoveEvent(int x, int y);
51 void mouseWheelEvent(int wheel, int direction, int x, int y);
52 };
53}
54
55#endif //PGR_SEM_COPAKOND_INPUT_H
Camera for generating view and projection matrices.
Definition camera.h:20
int _windowPosX
Definition input.h:34
void mouseButtonEvent(int button, int state, int x, int y)
Definition input.cpp:43
void specKeyboardUpInputEvent(int key, int x, int y)
Definition input.cpp:35
Camera & _camera
Definition input.h:26
int _winHeight
Definition input.h:28
bool _firstMouseMovement
Definition input.h:30
Input(Camera &cam, int winWidth, int winHeight)
Definition input.cpp:9
float mouseDeltaY
Definition input.h:24
int _windowHeight
Definition input.h:33
void resetMouseTarget()
Resets mouse deltas to prevent abrupt camera snapping upon initial window focus.
Definition input.h:42
void screenResize(int winWidth, int winHeight)
Definition input.cpp:12
void specKeyboardInputEvent(int key, int x, int y)
Definition input.cpp:28
float mouseDeltaX
Definition input.h:23
void keyboardInputEvent(unsigned char key, int x, int y)
Definition input.cpp:18
void mouseMoveEvent(int x, int y)
Definition input.cpp:54
void keyboardUpInputEvent(unsigned char key, int x, int y)
Definition input.cpp:23
void mouseWheelEvent(int wheel, int direction, int x, int y)
Definition input.cpp:74
int _windowPosY
Definition input.h:35
bool keysMap[1024]
Definition input.h:22
int _windowWidth
Definition input.h:32
int _winWidth
Definition input.h:27
PGR Semestral work with sample scenes and bowling. doxygen was generated with a help of LLM.
Definition bezier.cpp:3
int winHeight
Definition main.cpp:35
int winWidth
Definition main.cpp:34