aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-header-item.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2010-10-17 20:15:07 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-10-30 01:50:01 +0800
commit8811cd67d3643f5fcdc46ea787ccab8bfbe2cf3c (patch)
treeea7ed366b9288173e7e6cbc8cd3766cfad31f1ba /widgets/table/e-table-header-item.c
parent7fe898ab0f07b516b6472a78ea1583c4cf014233 (diff)
downloadgsoc2013-evolution-8811cd67d3643f5fcdc46ea787ccab8bfbe2cf3c.tar
gsoc2013-evolution-8811cd67d3643f5fcdc46ea787ccab8bfbe2cf3c.tar.gz
gsoc2013-evolution-8811cd67d3643f5fcdc46ea787ccab8bfbe2cf3c.tar.bz2
gsoc2013-evolution-8811cd67d3643f5fcdc46ea787ccab8bfbe2cf3c.tar.lz
gsoc2013-evolution-8811cd67d3643f5fcdc46ea787ccab8bfbe2cf3c.tar.xz
gsoc2013-evolution-8811cd67d3643f5fcdc46ea787ccab8bfbe2cf3c.tar.zst
gsoc2013-evolution-8811cd67d3643f5fcdc46ea787ccab8bfbe2cf3c.zip
gnome-canvas: Convert canvas item transformation matrix to cairo
Also update the GnomeCanvasItem.update vfunc to take a cairo_matrix_t and no longer pass the clip_path (what was it used for anyway?).
Diffstat (limited to 'widgets/table/e-table-header-item.c')
-rw-r--r--widgets/table/e-table-header-item.c35
1 files changed, 15 insertions, 20 deletions
diff --git a/widgets/table/e-table-header-item.c b/widgets/table/e-table-header-item.c
index cf4cc9468a..e1c6c57198 100644
--- a/widgets/table/e-table-header-item.c
+++ b/widgets/table/e-table-header-item.c
@@ -184,18 +184,15 @@ e_table_header_item_get_height (ETableHeaderItem *ethi)
static void
ethi_update (GnomeCanvasItem *item,
- gdouble *affine,
- ArtSVP *clip_path,
+ const cairo_matrix_t *i2c,
gint flags)
{
ETableHeaderItem *ethi = E_TABLE_HEADER_ITEM (item);
-
- gdouble i2c[6];
- ArtPoint c1, c2, i1, i2;
+ double x1, y1, x2, y2;
if (GNOME_CANVAS_ITEM_CLASS (ethi_parent_class)->update)
GNOME_CANVAS_ITEM_CLASS (ethi_parent_class)->update (
- item, affine, clip_path, flags);
+ item, i2c, flags);
if (ethi->sort_info)
ethi->group_indent_width =
@@ -208,27 +205,25 @@ ethi_update (GnomeCanvasItem *item,
e_table_header_total_width (ethi->eth) +
ethi->group_indent_width;
- i1.x = i1.y = 0;
- i2.x = ethi->width;
- i2.y = ethi->height;
+ x1 = y1 = 0;
+ x2 = ethi->width;
+ y2 = ethi->height;
- gnome_canvas_item_i2c_affine (item, i2c);
- art_affine_point (&c1, &i1, i2c);
- art_affine_point (&c2, &i2, i2c);
+ gnome_canvas_matrix_transform_rect (i2c, &x1, &y1, &x2, &y2);
- if (item->x1 != c1.x ||
- item->y1 != c1.y ||
- item->x2 != c2.x ||
- item->y2 != c2.y)
+ if (item->x1 != x1 ||
+ item->y1 != y1 ||
+ item->x2 != x2 ||
+ item->y2 != y2)
{
gnome_canvas_request_redraw (
item->canvas,
item->x1, item->y1,
item->x2, item->y2);
- item->x1 = c1.x;
- item->y1 = c1.y;
- item->x2 = c2.x;
- item->y2 = c2.y;
+ item->x1 = x1;
+ item->y1 = y1;
+ item->x2 = x2;
+ item->y2 = y2;
/* FIXME: Group Child bounds !? (FOO BAA) */
#if 0
gnome_canvas_group_child_bounds (GNOME_CANVAS_GROUP (item->parent), item);