diff options
| author | Federico Angelilli <code@fedang.net> | 2024-11-22 14:25:36 +0100 |
|---|---|---|
| committer | Federico Angelilli <code@fedang.net> | 2024-11-22 14:25:36 +0100 |
| commit | 669fb0b98bc6802a34d7577f597f1a5aeb691e22 (patch) | |
| tree | 35bf1e66f18e1e1d63b19f70ddf09f03c4c16adf /src/event.h | |
| parent | 10d61d0a765ff3a55aab32e4d28e5b7298d9e89c (diff) | |
Track mouse hovering
Diffstat (limited to 'src/event.h')
| -rw-r--r-- | src/event.h | 18 |
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 |
