aboutsummaryrefslogtreecommitdiff
path: root/src/render.c
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2013-03-07 23:28:23 +0100
committerThomas White <taw@bitwiz.org.uk>2013-03-07 23:28:23 +0100
commitb4fa75b9ac5160dae40c4763ba87927762d4e75f (patch)
tree3e39da4341f93129900a1a22b3ad7f1e92272505 /src/render.c
parentd9c5d4dc8b80a151eb36fe47fa13b746103e773c (diff)
Wrapping and rendering fixes
Diffstat (limited to 'src/render.c')
-rw-r--r--src/render.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/render.c b/src/render.c
index 3aa3d05..0aaee64 100644
--- a/src/render.c
+++ b/src/render.c
@@ -106,24 +106,27 @@ static void render_lines(struct frame *fr, cairo_t *cr)
for ( i=0; i<fr->n_lines; i++ ) {
- double asc = pango_units_to_double(fr->lines[i].ascent);
+ cairo_save(cr);
+
+ /* Move to beginning of the line */
+ cairo_translate(cr, 0.0, y_pos);
- cairo_move_to(cr, 0, y_pos+asc+0.5);
+ cairo_move_to(cr, 0.0,
+ 0.5+pango_units_to_double(fr->lines[i].ascent));
cairo_line_to(cr, pango_units_to_double(fr->lines[i].width),
- y_pos+asc+0.5);
+ 0.5+pango_units_to_double(fr->lines[i].ascent));
cairo_set_source_rgb(cr, 0.0, 0.0, 1.0);
cairo_set_line_width(cr, 1.0);
cairo_stroke(cr);
- /* Move to beginning of the line */
- cairo_move_to(cr, 0.0, asc+y_pos);
-
/* Render the line */
render_boxes(&fr->lines[i], cr);
/* FIXME: line spacing */
y_pos += pango_units_to_double(fr->lines[i].height) + 0.0;
+ cairo_restore(cr);
+
}
}