diff options
author | Thomas White <taw@bitwiz.org.uk> | 2014-12-27 21:57:29 +0000 |
---|---|---|
committer | Thomas White <taw@bitwiz.org.uk> | 2014-12-27 21:57:29 +0000 |
commit | a68d64edca4f67df49b9499272319cad93d38bbe (patch) | |
tree | e1f5084d006257713090bb7a2dc1f91976b91e7c /src/sc_interp.c | |
parent | fb69111748d9d4eba92024799421ee2573418d15 (diff) |
Draw from callbacks
Diffstat (limited to 'src/sc_interp.c')
-rw-r--r-- | src/sc_interp.c | 6 |
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; } |