From 61f65a2e24fb7ac9739db934baa6e9fa53641c5f Mon Sep 17 00:00:00 2001 From: Federico Angelilli Date: Sat, 25 Nov 2023 11:11:15 +0100 Subject: Change redraw scheduling and use posix timer in date_update --- src/state.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/state.c') diff --git a/src/state.c b/src/state.c index c2f2a4a..64c479b 100644 --- a/src/state.c +++ b/src/state.c @@ -19,6 +19,19 @@ void state_add_button(State *state, Button *btn) state->btns = g_list_append(state->btns, btn); } +static gboolean redraw(gpointer data) +{ + State *state = data; + draw_compute_layout(state->draw, state->win, state->btns); + draw_paint(state->draw, state->win); + return G_SOURCE_REMOVE; +} + +void state_redraw(State *state) +{ + g_idle_add_full(G_PRIORITY_HIGH_IDLE, redraw, state, NULL); +} + void state_destroy(State *state) { g_list_free_full(state->btns, (void *)button_destroy); -- cgit v1.2.3