1#ifndef PATCHWORK_EVENT_H
2#define PATCHWORK_EVENT_H 1
14#if defined(__cplusplus)
81#define EVENT_SCREEN_INFO 0
82#define EVENT_SURFACE_NEW 1
86#define EVENT_CURSOR_ENTER 5
87#define EVENT_CURSOR_LEAVE 6
90#define EVENT_GLOBAL_ATTACH 128
91#define EVENT_GLOBAL_DETACH 129
92#define EVENT_GLOBAL_REPORT 130
93#define EVENT_GLOBAL_KBD 131
94#define EVENT_GLOBAL_MOUSE 132
96#define DWM_MAX_EVENT 256
98#define EVENT_LIB_INIT 256
99#define EVENT_LIB_DEINIT 257
100#define EVENT_LIB_REDRAW 258
101#define EVENT_LIB_ACTION 259
102#define EVENT_LIB_QUIT 260
103#define EVENT_LIB_FORCE_ACTION 261
105#define EVENT_LIB_INTERNAL_WAKE 512
107#define EVENT_USER_START 1024
108#define EVENT_USER_END 65535
298#define EVENT_MAX_DATA 128
330static_assert(
sizeof(
event_t) == 144,
"invalid event_t size");
335#if defined(__cplusplus)
uint64_t element_id_t
Element identifier type.
event_mouse_t event_cursor_leave_t
Cursor Leave event.
event_mouse_t event_global_mouse_t
Global Mouse event.
report_flags_t
Report flags.
#define EVENT_MAX_DATA
Maximum size of event data.
kbd_mods_t
Keyboard modifiers type.
uint64_t event_bitmask_t[4]
Event bitmask type.
event_report_t event_global_report_t
Global Report event.
kbd_event_type_t
Keyboard event type.
action_type_t
Action type.
uint16_t event_type_t
Event type.
event_mouse_t event_cursor_enter_t
Cursor Enter event.
event_kbd_t event_global_kbd_t
Global Keyboard event.
mouse_buttons_t
Mouse buttons enum.
@ KBD_MOD_SUPER
Super (Windows/Command) modifier.
@ KBD_MOD_CAPS
Caps Lock modifier.
@ KBD_MOD_NONE
No modifier.
@ KBD_MOD_CTRL
Control modifier.
@ KBD_MOD_ALT
Alt modifier.
@ KBD_MOD_SHIFT
Shift modifier.
@ KBD_RELEASE
Key release event.
@ KBD_PRESS
Key press event.
@ MOUSE_RIGHT
Right mouse button.
@ MOUSE_MIDDLE
Middle mouse button.
@ MOUSE_LEFT
Left mouse button.
#define KEY_128BIT
The size of a buffer needed to hold a 128-bit key.
keycode_t
Keyboard keycode type.
Library Force Action event.
bool shouldPropagate
Whether the redraw event should be propagated to child elements.
event_global_detach_t globalDetach
event_lib_action_t libAction
event_global_mouse_t globalMouse
event_lib_redraw_t libRedraw
event_surface_new_t surfaceNew
event_cursor_leave_t cursorLeave
event_cursor_enter_t cursorEnter
event_global_attach_t globalAttach
event_lib_force_action_t libForceAction
event_global_report_t globalReport
event_global_kbd_t globalKbd
event_screen_info_t screenInfo