diff options
author | Benjamin Otte <otte@redhat.com> | 2010-10-21 17:30:20 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-10-30 01:50:04 +0800 |
commit | 73ccbf4029a057f3f94961e19823603960a163d0 (patch) | |
tree | bd4cb9b58bbedfab0aafbaae2eb4841f7cc06603 /widgets/table | |
parent | 7d2fc0cf9e3de969d8b753e693078f45069a658d (diff) | |
download | gsoc2013-evolution-73ccbf4029a057f3f94961e19823603960a163d0.tar.gz gsoc2013-evolution-73ccbf4029a057f3f94961e19823603960a163d0.tar.zst gsoc2013-evolution-73ccbf4029a057f3f94961e19823603960a163d0.zip |
e-table: Draw ECellTree with cairo
Diffstat (limited to 'widgets/table')
-rw-r--r-- | widgets/table/e-cell-tree.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/widgets/table/e-cell-tree.c b/widgets/table/e-cell-tree.c index d8341b728a..e0de5e047c 100644 --- a/widgets/table/e-cell-tree.c +++ b/widgets/table/e-cell-tree.c @@ -221,9 +221,11 @@ ect_draw (ECellView *ecell_view, GdkDrawable *drawable, GtkWidget *canvas = GTK_WIDGET (tree_view->canvas); GtkStyle *style; gboolean selected; - + cairo_t *cr; gint offset, subcell_offset; + cr = gdk_cairo_create (drawable); + style = gtk_widget_get_style (canvas); selected = flags & E_CELL_SELECTED; @@ -269,15 +271,11 @@ ect_draw (ECellView *ecell_view, GdkDrawable *drawable, } if (node_image) { - gdk_draw_pixbuf (drawable, - NULL, - node_image, - 0, 0, - x1 + subcell_offset, - y1 + (y2 - y1) / 2 - node_image_height / 2, - node_image_width, node_image_height, - GDK_RGB_DITHER_NORMAL, - node_image_width, 0); + gdk_cairo_set_source_pixbuf (cr, node_image, + x1 + subcell_offset, + y1 + (y2 - y1) / 2 - node_image_height / 2); + cairo_paint (cr); + subcell_offset += node_image_width; } } @@ -287,6 +285,8 @@ ect_draw (ECellView *ecell_view, GdkDrawable *drawable, e_cell_draw (tree_view->subcell_view, drawable, model_col, view_col, row, flags, x1 + subcell_offset, y1, x2, y2); + + cairo_destroy (cr); } static void |