aboutsummaryrefslogtreecommitdiff
path: root/src/event.h
diff options
context:
space:
mode:
authorFederico Angelilli <code@fedang.net>2024-11-22 14:25:36 +0100
committerFederico Angelilli <code@fedang.net>2024-11-22 14:25:36 +0100
commit669fb0b98bc6802a34d7577f597f1a5aeb691e22 (patch)
tree35bf1e66f18e1e1d63b19f70ddf09f03c4c16adf /src/event.h
parent10d61d0a765ff3a55aab32e4d28e5b7298d9e89c (diff)
Track mouse hovering
Diffstat (limited to 'src/event.h')
-rw-r--r--src/event.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/event.h b/src/event.h
index 8d380ea..68fb507 100644
--- a/src/event.h
+++ b/src/event.h
@@ -3,14 +3,18 @@
#include "window.h"
+typedef struct layout layout_t;
+
typedef enum {
- EVENT_HOVER,
+ EVENT_TRIGGER,
EVENT_LEFT_CLICK,
EVENT_MIDDLE_CLICK,
EVENT_RIGHT_CLICK,
EVENT_SCROLL_UP,
EVENT_SCROLL_DOWN,
- EVENT_TRIGGER,
+ EVENT_HOVER_START,
+ EVENT_HOVER_MOVE,
+ EVENT_HOVER_STOP,
} event_type_t;
typedef struct {
@@ -18,16 +22,18 @@ typedef struct {
int x, y;
} event_t;
-typedef struct layout layout_t;
+typedef struct {
+ block_t *hovered;
+ int hover_x, hover_y;
+ layout_t *layout;
+} event_state_t;
const char *event_type_to_string(event_type_t type);
-bool event_is_hover(event_t event);
-
bool event_is_click(event_t event);
bool event_is_scroll(event_t event);
-void event_dispatch(window_t *window, layout_t *layout);
+void event_dispatch(event_state_t *state, window_t *window);
#endif