diff options
Diffstat (limited to 'src/common/backend.h')
| -rw-r--r-- | src/common/backend.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/common/backend.h b/src/common/backend.h index 7633609..a9076e4 100644 --- a/src/common/backend.h +++ b/src/common/backend.h @@ -50,10 +50,13 @@ struct yasl_surface { struct yasl_private_vector2i reported_size; uint32_t reported_scale_120, reported_state; bool refresh_owed; - /* yasl_surface_request_frame waits for the frame in flight. */ + /* yasl_surface_request_frame waits for the next frame shown. Each loop + * step resolves it after the callbacks that present; see backend.c. */ bool frame_requested; /* Written by GL presents on a rendering thread. */ _Atomic uint64_t presented_ns; + /* When the last frame request was answered. */ + uint64_t frame_answered_ns; yasl_private_timer_id frame_timer; void (*refresh)(struct yasl_surface *); bool text_input_active; @@ -93,6 +96,8 @@ struct yasl_surface { bool yasl_private_events_open(struct yasl_private_display *d); void yasl_private_events_close(struct yasl_private_display *d); int yasl_private_events_error(struct yasl_private_display *d); +/* Whether an event was lost, without reporting it. */ +bool yasl_private_events_failed(struct yasl_private_display *d); bool yasl_private_events_pending(struct yasl_private_display *d); struct yasl_surface *yasl_private_events_find(struct yasl_private_display *d, uint64_t id); bool yasl_private_events_register(struct yasl_surface *s); |
