From 9c4fa38c4b301645439a6718ef42aa597a97de9b Mon Sep 17 00:00:00 2001 From: Thomas White Date: Mon, 4 Mar 2019 08:57:16 +0100 Subject: Placeholder boxes for slides in narrative --- libstorycode/narrative_render_cairo.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'libstorycode/narrative_render_cairo.c') diff --git a/libstorycode/narrative_render_cairo.c b/libstorycode/narrative_render_cairo.c index b50944a..0cc9c4d 100644 --- a/libstorycode/narrative_render_cairo.c +++ b/libstorycode/narrative_render_cairo.c @@ -148,6 +148,11 @@ int narrative_wrap(Narrative *n, Stylesheet *stylesheet, PangoLanguage *lang, break; case NARRATIVE_ITEM_SLIDE : + n->items[i].space_l = 0.0; + n->items[i].space_r = 0.0; + n->items[i].space_t = 0.0; + n->items[i].space_b = 0.0; + n->items[i].h = 256.0; break; default : @@ -171,6 +176,27 @@ double narrative_get_height(Narrative *n) } +static void draw_slide(struct narrative_item *item, cairo_t *cr) +{ + double x, y; + + cairo_save(cr); + cairo_translate(cr, item->space_l, item->space_t); + + x = 0.0; y = 0.0; + cairo_user_to_device(cr, &x, &y); + x = rint(x); y = rint(y); + cairo_device_to_user(cr, &x, &y); + cairo_rectangle(cr, x+0.5, y+0.5, 320.0, 256.0); + + cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 1.0); + cairo_set_line_width(cr, 1.0); + cairo_stroke(cr); + + cairo_restore(cr); +} + + static void draw_text(struct narrative_item *item, cairo_t *cr) { cairo_save(cr); @@ -241,6 +267,7 @@ int narrative_render_cairo(Narrative *n, cairo_t *cr, Stylesheet *stylesheet) break; case NARRATIVE_ITEM_SLIDE : + draw_slide(&n->items[i], cr); break; default : -- cgit v1.2.3