aboutsummaryrefslogtreecommitdiff
path: root/src/sc_interp.c
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2014-12-27 21:57:29 +0000
committerThomas White <taw@bitwiz.org.uk>2014-12-27 21:57:29 +0000
commita68d64edca4f67df49b9499272319cad93d38bbe (patch)
treee1f5084d006257713090bb7a2dc1f91976b91e7c /src/sc_interp.c
parentfb69111748d9d4eba92024799421ee2573418d15 (diff)
Draw from callbacks
Diffstat (limited to 'src/sc_interp.c')
-rw-r--r--src/sc_interp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/sc_interp.c b/src/sc_interp.c
index f628754..7d90b4f 100644
--- a/src/sc_interp.c
+++ b/src/sc_interp.c
@@ -184,8 +184,12 @@ static void do_callback(SCInterpreter *scin, SCBlock *bl, const char *name)
}
for ( i=0; i<cbl->n_callbacks; i++ ) {
+ cairo_surface_t *surf;
if ( strcmp(cbl->names[i], name) != 0 ) continue;
- cbl->funcs[i](scin, bl, cbl->vps[i]);
+ surf = cbl->funcs[i](scin, bl, cbl->vps[i]);
+ if ( surf == NULL ) return;
+ add_surface_box(sc_interp_get_frame(scin)->boxes, surf,
+ 256, 256); // FIXME: Box size
return;
}