aboutsummaryrefslogtreecommitdiff
path: root/comet.c
diff options
context:
space:
mode:
Diffstat (limited to 'comet.c')
-rw-r--r--comet.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/comet.c b/comet.c
index 4707337..5ad6dc1 100644
--- a/comet.c
+++ b/comet.c
@@ -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);