aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-cell-tree.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2010-10-21 17:30:20 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-10-30 01:50:04 +0800
commit73ccbf4029a057f3f94961e19823603960a163d0 (patch)
treebd4cb9b58bbedfab0aafbaae2eb4841f7cc06603 /widgets/table/e-cell-tree.c
parent7d2fc0cf9e3de969d8b753e693078f45069a658d (diff)
downloadgsoc2013-evolution-73ccbf4029a057f3f94961e19823603960a163d0.tar.gz
gsoc2013-evolution-73ccbf4029a057f3f94961e19823603960a163d0.tar.zst
gsoc2013-evolution-73ccbf4029a057f3f94961e19823603960a163d0.zip
e-table: Draw ECellTree with cairo
Diffstat (limited to 'widgets/table/e-cell-tree.c')
-rw-r--r--widgets/table/e-cell-tree.c20
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