diff options
author | Benjamin Otte <otte@redhat.com> | 2010-10-21 16:26:17 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-10-30 01:50:04 +0800 |
commit | 7d2fc0cf9e3de969d8b753e693078f45069a658d (patch) | |
tree | 5cf652cc10f80ab608ed89943a5d9c3053c0d293 /widgets | |
parent | eaf4b5a865865de7b98621a5285e16ae4dea2a61 (diff) | |
download | gsoc2013-evolution-7d2fc0cf9e3de969d8b753e693078f45069a658d.tar gsoc2013-evolution-7d2fc0cf9e3de969d8b753e693078f45069a658d.tar.gz gsoc2013-evolution-7d2fc0cf9e3de969d8b753e693078f45069a658d.tar.bz2 gsoc2013-evolution-7d2fc0cf9e3de969d8b753e693078f45069a658d.tar.lz gsoc2013-evolution-7d2fc0cf9e3de969d8b753e693078f45069a658d.tar.xz gsoc2013-evolution-7d2fc0cf9e3de969d8b753e693078f45069a658d.tar.zst gsoc2013-evolution-7d2fc0cf9e3de969d8b753e693078f45069a658d.zip |
e-text: Draw EReflow with cairo
Diffstat (limited to 'widgets')
-rw-r--r-- | widgets/text/e-reflow.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/widgets/text/e-reflow.c b/widgets/text/e-reflow.c index 88e3a89a8b..bb8691c80b 100644 --- a/widgets/text/e-reflow.c +++ b/widgets/text/e-reflow.c @@ -1183,6 +1183,9 @@ static void e_reflow_draw (GnomeCanvasItem *item, GdkDrawable *drawable, EReflow *reflow = E_REFLOW (item); gint i; gdouble column_width; + cairo_t *cr; + + cr = gdk_cairo_create (drawable); if (GNOME_CANVAS_ITEM_CLASS (e_reflow_parent_class)->draw) GNOME_CANVAS_ITEM_CLASS (e_reflow_parent_class)->draw (item, drawable, x, y, width, height); @@ -1241,20 +1244,23 @@ static void e_reflow_draw (GnomeCanvasItem *item, GdkDrawable *drawable, i /= column_width + E_REFLOW_FULL_GUTTER; running_width += i * (column_width + E_REFLOW_FULL_GUTTER); + gdk_cairo_set_source_color (cr, &style->fg[GTK_STATE_NORMAL]); + for (; i < reflow->column_count; i++) { if (running_width > x + width) break; x_rect = running_width; - gdk_draw_rectangle (drawable, - style->fg_gc[GTK_STATE_NORMAL], - TRUE, - x_rect - x, - y_rect - y, - width_rect - 1, - height_rect - 1); + cairo_rectangle (cr, + x_rect - x, + y_rect - y, + width_rect - 1, + height_rect - 1); + cairo_fill (cr); running_width += E_REFLOW_DIVIDER_WIDTH + E_REFLOW_BORDER_WIDTH + column_width + E_REFLOW_BORDER_WIDTH; } } + + cairo_destroy (cr); } static void |