summaryrefslogtreecommitdiff
path: root/gui.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui.hpp')
-rw-r--r--gui.hpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/gui.hpp b/gui.hpp
index 39adb54..f40c361 100644
--- a/gui.hpp
+++ b/gui.hpp
@@ -33,11 +33,26 @@ enum {
};
typedef u16 Key;
+#define MOUSE_LEFT 0
+#define MOUSE_MIDDLE 1
+#define MOUSE_RIGHT 2
+
+typedef struct {
+ u8 button;
+ i32 x, y;
+} MousePress;
+typedef MousePress MouseRelease;
+
typedef struct {
bool closed; // was the window closed?
u8 keys_pressed[NKEYS]; // [i] = how many times was key #i pressed this frame?
u8 keys_released[NKEYS]; // [i] = how many times was key #i released this frame?
bool keys_down[NKEYS]; // [i] = is key #i down?
+ u16 nmouse_presses;
+#define MAX_MOUSE_PRESSES_PER_FRAME 256
+ MousePress mouse_presses[MAX_MOUSE_PRESSES_PER_FRAME];
+
+ i32 mouse_x, mouse_y; // (+y = down)
bool shift, ctrl;
} Input;