aboutsummaryrefslogtreecommitdiff
path: root/src/render.c
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2013-03-15 20:42:13 +0100
committerThomas White <taw@bitwiz.org.uk>2013-03-15 20:42:13 +0100
commit704e09d069017c9e47c855a28f610a705cba1046 (patch)
tree9bc2f689d147e2827badc7403f0d35bdb7fc1eb7 /src/render.c
parent2d1993e18ae2dc05399cb8f3eed06d2acfb462a8 (diff)
WIP on space distribution
Diffstat (limited to 'src/render.c')
-rw-r--r--src/render.c32
1 files changed, 20 insertions, 12 deletions
diff --git a/src/render.c b/src/render.c
index 2fc90b0..8e65a07 100644
--- a/src/render.c
+++ b/src/render.c
@@ -53,11 +53,11 @@ static void render_glyph_box(cairo_t *cr, struct wrap_box *box)
box->col[3]);
cairo_fill(cr);
- cairo_rectangle(cr, 0.0, 0.0, pango_units_to_double(box->width),
- pango_units_to_double(box->height));
- cairo_set_source_rgb(cr, 1.0, 0.0, 0.0);
- cairo_set_line_width(cr, 0.1);
- cairo_stroke(cr);
+// cairo_rectangle(cr, 0.0, 0.0, pango_units_to_double(box->width),
+// pango_units_to_double(box->height));
+// cairo_set_source_rgb(cr, 1.0, 0.0, 0.0);
+// cairo_set_line_width(cr, 0.1);
+// cairo_stroke(cr);
}
@@ -100,6 +100,17 @@ static void render_boxes(struct wrap_line *line, cairo_t *cr)
}
+static void draw_overfull_marker(cairo_t *cr, struct frame *fr, int i)
+{
+ cairo_move_to(cr, fr->w - fr->lop.pad_l- fr->lop.pad_r, 0.0);
+ cairo_line_to(cr, fr->w - fr->lop.pad_l - fr->lop.pad_r,
+ pango_units_to_double(fr->lines[i].height));
+ cairo_set_source_rgb(cr, 1.0, 0.0, 0.0);
+ cairo_set_line_width(cr, 4.0);
+ cairo_stroke(cr);
+}
+
+
static void render_lines(struct frame *fr, cairo_t *cr)
{
int i;
@@ -112,6 +123,7 @@ static void render_lines(struct frame *fr, cairo_t *cr)
/* Move to beginning of the line */
cairo_translate(cr, 0.0, y_pos);
+ #if 0
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),
@@ -119,17 +131,13 @@ static void render_lines(struct frame *fr, cairo_t *cr)
cairo_set_source_rgb(cr, 0.0, 0.0, 1.0);
cairo_set_line_width(cr, 1.0);
cairo_stroke(cr);
+ #endif
/* Render the line */
render_boxes(&fr->lines[i], cr);
if ( fr->lines[i].overfull ) {
- cairo_move_to(cr, fr->w - fr->lop.pad_l - fr->lop.pad_r, 0.0);
- cairo_line_to(cr, fr->w - fr->lop.pad_l - fr->lop.pad_r,
- pango_units_to_double(fr->lines[i].height));
- cairo_set_source_rgb(cr, 1.0, 0.0, 0.0);
- cairo_set_line_width(cr, 4.0);
- cairo_stroke(cr);
+ draw_overfull_marker(cr, fr, i);
}
/* FIXME: line spacing */
@@ -240,7 +248,7 @@ static int render_frame(struct frame *fr, cairo_t *cr)
break;
}
-
+
render_frame(ch, cr);
ch->x = ch->lop.x + fr->lop.pad_l + ch->lop.margin_l;