aboutsummaryrefslogtreecommitdiffstats
path: root/term.c
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-04-08 22:04:26 -0400
committerJesse Luehrs <doy@tozt.net>2014-04-08 22:04:26 -0400
commitbae22b3118742113a53d3496ee84ad577481077c (patch)
treecd4046bf2215f106e5041ef93e03360670152a96 /term.c
parent48da503fbfe7c376842dc9b05c69875f5b6092a6 (diff)
downloadrunes-bae22b3118742113a53d3496ee84ad577481077c.tar.gz
runes-bae22b3118742113a53d3496ee84ad577481077c.zip
a bunch more refactoring
Diffstat (limited to 'term.c')
-rw-r--r--term.c21
1 files changed, 7 insertions, 14 deletions
diff --git a/term.c b/term.c
index 8c23619..23e89a9 100644
--- a/term.c
+++ b/term.c
@@ -2,25 +2,18 @@
#include "runes.h"
-RunesTerm *runes_term_create(int argc, char *argv[])
+void runes_term_init(RunesTerm *t, int argc, char *argv[])
{
- RunesTerm *t;
+ t->loop = uv_default_loop();
- t = malloc(sizeof(RunesTerm));
+ runes_window_backend_init(t, argc, argv);
+ t->cr = cairo_create(runes_window_backend_surface_create(t));
- t->w = runes_window_create(argc, argv);
- t->surface = runes_surface_create(t);
- t->cr = cairo_create(t->surface);
- t->loop = runes_loop_create(t);
-
- return t;
+ runes_window_backend_loop_init(t, t->loop);
}
-void runes_term_destroy(RunesTerm *t)
+void runes_term_cleanup(RunesTerm *t)
{
cairo_destroy(t->cr);
- cairo_surface_destroy(t->surface);
- runes_window_destroy(t->w);
-
- free(t);
+ runes_window_backend_cleanup(t);
}