diff options
| author | Federico Angelilli <code@fedang.net> | 2023-11-17 13:30:38 +0100 |
|---|---|---|
| committer | Federico Angelilli <code@fedang.net> | 2023-11-17 13:30:38 +0100 |
| commit | 41729222431449a81535b28ad27ce2620cb5819b (patch) | |
| tree | 0cbbffb343bc1b942ea5527cd52f0cc53143b122 /comet.c | |
| parent | a88d3a4c61f482ffeafba89910b896a92830f95f (diff) | |
Move all the state required for rendering in a struct
Diffstat (limited to 'comet.c')
| -rw-r--r-- | comet.c | 19 |
1 files changed, 12 insertions, 7 deletions
@@ -6,19 +6,21 @@ #include "log.h" #include "draw.h" #include "connection.h" +#include "state.h" #define EVEN(n) ((int)(n) - ((int)(n) % 2 != 0)) static gboolean mainloop_quit(gpointer data) { - g_main_loop_quit(data); - return G_SOURCE_CONTINUE; + g_main_loop_quit(data); + return G_SOURCE_CONTINUE; } -static gboolean mainloop_do(gpointer data) +static gboolean mainloop_draw(gpointer data) { - draw_paint(data); - return G_SOURCE_REMOVE; + State *state = data; + draw_paint(state->draw, state->win); + return G_SOURCE_REMOVE; } int main(int argc, char **argv) @@ -40,12 +42,14 @@ int main(int argc, char **argv) log_debug("Calculated dimensions [height=%d, x_pad=%d, y_pad=%d]", height, x_padding, y_padding); - Drawable *draw = draw_create(win, "Hack 12", height, x_padding, x_padding, y_padding, 0.99); + Drawable *draw = draw_create("Hack 12", height, x_padding, x_padding, y_padding, 1); + + State *state = state_create(win, draw); guint source_term = g_unix_signal_add(SIGTERM, mainloop_quit, mainloop); guint source_int = g_unix_signal_add(SIGINT, mainloop_quit, mainloop); - guint id = g_timeout_add(100, mainloop_do, draw); + guint id = g_timeout_add(100, mainloop_draw, state); log_debug("Starting main loop"); g_main_loop_run(mainloop); @@ -56,6 +60,7 @@ int main(int argc, char **argv) g_source_remove(source_term); g_source_remove(source_int); + state_destroy(state); draw_destroy(draw); window_destroy(win); |
