diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/yasl/yasl.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/include/yasl/yasl.h b/include/yasl/yasl.h index 2574457..6fea487 100644 --- a/include/yasl/yasl.h +++ b/include/yasl/yasl.h @@ -208,12 +208,12 @@ struct yasl_key_event { struct yasl_mouse_event { struct yasl_vector2i pos; - int button; + int16_t button; + int16_t scroll_lines; enum yasl_pointer_kind kind; + enum yasl_pointer_device device; uint32_t mods; - int scroll_lines; float scroll_delta; - enum yasl_pointer_device device; struct yasl_pointer_pen pen; }; @@ -227,8 +227,9 @@ enum yasl_input_kind { }; struct yasl_input_event { - enum yasl_input_kind kind; struct yasl_surface *surface; + enum yasl_input_kind kind; + uint32_t reserved; union { struct yasl_key_event key; struct yasl_mouse_event mouse; @@ -280,6 +281,7 @@ YASL_API enum yasl_backend yasl_display_backend(const struct yasl_display *d); YASL_API void yasl_display_close(struct yasl_display *d); YASL_API uint32_t yasl_display_caps(const struct yasl_display *d); YASL_API void yasl_display_dispatch(struct yasl_display *d); +YASL_API int yasl_display_dispatch_timeout(struct yasl_display *d, int timeout_ms); YASL_API void yasl_display_flush(struct yasl_display *d); YASL_API int yasl_display_modifiers(const struct yasl_display *d); YASL_API void yasl_display_copy(struct yasl_display *d, enum yasl_selection sel, const char *text); @@ -355,7 +357,9 @@ YASL_API void *yasl_surface_get_native_handle(struct yasl_surface *s); YASL_API struct yasl_loop *yasl_loop_create(void); YASL_API void yasl_loop_destroy(struct yasl_loop *l); YASL_API int yasl_loop_run(struct yasl_loop *l); +YASL_API int yasl_loop_step(struct yasl_loop *l, int timeout_ms); YASL_API void yasl_loop_quit(struct yasl_loop *l); +YASL_API bool yasl_loop_is_running(const struct yasl_loop *l); YASL_API void yasl_loop_kick(struct yasl_loop *l); YASL_API uint64_t yasl_loop_now_ns(void); YASL_API int yasl_loop_add_fd(struct yasl_loop *l, int fd, short events, |
