diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/window.hpp | 82 |
1 files changed, 60 insertions, 22 deletions
diff --git a/include/window.hpp b/include/window.hpp index 7667bbc..66bd0eb 100644 --- a/include/window.hpp +++ b/include/window.hpp @@ -16,30 +16,64 @@ class vkrenderer; #include <Windows.h> #endif -enum MODIFIERS { - SHIFT = 1, - LOCK = 2, - CTRL = 4, - ALT = 8, - MOD2 = 16, - MOD3 = 32, - MOD4 = 64, - MOD5 = 128, - BUTTON1 = 256, - BUTTON2 = 512, - BUTTON3 = 1024, - BUTTON4 = 2048, - BUTTON5 = 4096, -}; +// enum MODIFIERS: uint32_t { +// SHIFT = 1, +// LOCK = 2, +// CTRL = 4, +// ALT = 8, +// MOD2 = 16, +// MOD3 = 32, +// MOD4 = 64, +// MOD5 = 128, +// BUTTON1 = 256, +// BUTTON2 = 512, +// BUTTON3 = 1024, +// BUTTON4 = 2048, +// BUTTON5 = 4096, +// }; -enum KEYS { - SPACE, - Z, +#if defined(WINDOWS) +enum KEYS: uint32_t { + SHIFT = 0x10, + CTRL, + ALT, + A = 0x41, + B, + C, + D, + E, + F, + G, + H, + I, + J, + K, + L, + M, + N, + O, + P, Q, + R, S, - D, + T, + U, + V, + W, + X, + Y, + Z, + MAX_KEYS = 255 }; +enum BUTTONS: uint32_t { + LEFT, + RIGHT, + MIDDLE, + MAX_BUTTONS = 255 +}; +#endif + enum EVENT_TYPES: int32_t { QUIT, RESIZE, @@ -53,9 +87,10 @@ enum EVENT_TYPES: int32_t { struct event { uint32_t width; uint32_t height; - // KEYS key; - uint32_t modifiers; - uint32_t keycode; + KEYS key; + BUTTONS button; + // uint32_t modifiers; + // uint32_t keycode; int32_t x; int32_t y; EVENT_TYPES type; @@ -92,6 +127,9 @@ class window { uint32_t height; bool isOpen; + + bool keyboard[KEYS::MAX_KEYS] = { false }; + bool mouse[BUTTONS::MAX_BUTTONS] = { false }; }; #endif // !__WINDOW_HPP_ |
