aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2012-12-11 19:48:13 +0100
committerThomas White <taw@bitwiz.org.uk>2012-12-11 19:48:13 +0100
commitc03c61fe6f6af37cdbf861eca6c99cd8ce730a01 (patch)
treea1379bc7ab259d67d9ab4df29a8bf961aac81cd1
parent0f4f8d1c270a6b6c7dc681d4d72d33644d027bef (diff)
Wrapping "works"
-rw-r--r--src/render.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/render.c b/src/render.c
index 6c20495..9297f73 100644
--- a/src/render.c
+++ b/src/render.c
@@ -180,6 +180,16 @@ static const char *add_chars_to_line(struct renderstuff *s,
}
+static void initialise_line(struct wrap_line *l)
+{
+ l->n_boxes = 0;
+ l->max_boxes = 32;
+ l->boxes = NULL;
+ l->width = 0;
+ alloc_boxes(l);
+}
+
+
static void dispatch_line(struct renderstuff *s)
{
if ( s->n_lines == s->max_lines ) {
@@ -189,11 +199,7 @@ static void dispatch_line(struct renderstuff *s)
}
s->n_lines++;
- s->lines[s->n_lines].n_boxes = 0;
- s->lines[s->n_lines].max_boxes = 32;
- s->lines[s->n_lines].boxes = NULL;
- s->lines[s->n_lines].width = 0;
- alloc_boxes(&s->lines[s->n_lines]);
+ initialise_line(&s->lines[s->n_lines]);
}
@@ -396,6 +402,7 @@ static int render_sc(struct frame *fr, double max_w, double max_h)
s.n_lines = 0;
s.max_lines = 64;
alloc_lines(&s);
+ initialise_line(&s.lines[0]);
/* Find and load font */
s.fontmap = pango_cairo_font_map_get_default();