diff options
author | Thomas White <taw@bitwiz.org.uk> | 2013-03-07 23:28:23 +0100 |
---|---|---|
committer | Thomas White <taw@bitwiz.org.uk> | 2013-03-07 23:28:23 +0100 |
commit | b4fa75b9ac5160dae40c4763ba87927762d4e75f (patch) | |
tree | 3e39da4341f93129900a1a22b3ad7f1e92272505 /src/render.c | |
parent | d9c5d4dc8b80a151eb36fe47fa13b746103e773c (diff) |
Wrapping and rendering fixes
Diffstat (limited to 'src/render.c')
-rw-r--r-- | src/render.c | 15 |
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); + } } |