aboutsummaryrefslogtreecommitdiff
path: root/libstorycode/narrative_render_cairo.c
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.me.uk>2019-03-04 08:57:16 +0100
committerThomas White <taw@bitwiz.me.uk>2019-03-04 08:57:16 +0100
commit9c4fa38c4b301645439a6718ef42aa597a97de9b (patch)
tree188c08b19fdc7af014449dd0c560b062e650418c /libstorycode/narrative_render_cairo.c
parent60d5817656bd7c2a9f07a83be612a28c9041ab12 (diff)
Placeholder boxes for slides in narrative
Diffstat (limited to 'libstorycode/narrative_render_cairo.c')
-rw-r--r--libstorycode/narrative_render_cairo.c27
1 files changed, 27 insertions, 0 deletions
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 :