aboutsummaryrefslogtreecommitdiff
path: root/libstorycode/narrative_render_cairo.c
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.me.uk>2019-03-05 23:34:59 +0100
committerThomas White <taw@bitwiz.me.uk>2019-03-06 00:02:49 +0100
commitb147d7a36768dc5789ff47a77fd149034ee87d69 (patch)
treea2f8e91cc11fea809de6ee0804f6165ee86f09b2 /libstorycode/narrative_render_cairo.c
parentc0d175a8e1eadbbc32c66dd36915dfe8ba43f23d (diff)
Cursor movement and basic text editing
Diffstat (limited to 'libstorycode/narrative_render_cairo.c')
-rw-r--r--libstorycode/narrative_render_cairo.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/libstorycode/narrative_render_cairo.c b/libstorycode/narrative_render_cairo.c
index 744822d..6293c44 100644
--- a/libstorycode/narrative_render_cairo.c
+++ b/libstorycode/narrative_render_cairo.c
@@ -189,8 +189,9 @@ static void wrap_slide(struct narrative_item *item, Stylesheet *ss, ImageStore *
}
-int narrative_wrap(Narrative *n, Stylesheet *stylesheet, PangoLanguage *lang,
- PangoContext *pc, double w, ImageStore *is)
+int narrative_wrap_range(Narrative *n, Stylesheet *stylesheet, PangoLanguage *lang,
+ PangoContext *pc, double w, ImageStore *is,
+ int min, int max)
{
int i;
struct length pad[4];
@@ -204,7 +205,7 @@ int narrative_wrap(Narrative *n, Stylesheet *stylesheet, PangoLanguage *lang,
n->w = w;
w -= n->space_l + n->space_r;
- for ( i=0; i<n->n_items; i++ ) {
+ for ( i=min; i<=max; i++ ) {
switch ( n->items[i].type ) {
@@ -237,6 +238,14 @@ int narrative_wrap(Narrative *n, Stylesheet *stylesheet, PangoLanguage *lang,
}
+int narrative_wrap(Narrative *n, Stylesheet *stylesheet, PangoLanguage *lang,
+ PangoContext *pc, double w, ImageStore *is)
+{
+ return narrative_wrap_range(n, stylesheet, lang, pc, w, is,
+ 0, n->n_items-1);
+}
+
+
double narrative_get_height(Narrative *n)
{
int i;