#ifndef COMET_EVENT_H #define COMET_EVENT_H #include "window.h" typedef struct layout layout_t; typedef enum { EVENT_TRIGGER, EVENT_LEFT_CLICK, EVENT_MIDDLE_CLICK, EVENT_RIGHT_CLICK, EVENT_SCROLL_UP, EVENT_SCROLL_DOWN, EVENT_HOVER_START, EVENT_HOVER_MOVE, EVENT_HOVER_STOP, } event_type_t; typedef struct { event_type_t type; int x, y; } event_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_click(event_t event); bool event_is_scroll(event_t event); void event_dispatch(event_state_t *state, window_t *window); #endif