From 73ccbf4029a057f3f94961e19823603960a163d0 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 21 Oct 2010 11:30:20 +0200 Subject: e-table: Draw ECellTree with cairo --- widgets/table/e-cell-tree.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'widgets/table/e-cell-tree.c') 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 -- cgit v1.2.3