diff options
Diffstat (limited to 'widgets/misc/e-canvas-background.c')
-rw-r--r-- | widgets/misc/e-canvas-background.c | 40 |
1 files changed, 15 insertions, 25 deletions
diff --git a/widgets/misc/e-canvas-background.c b/widgets/misc/e-canvas-background.c index 02f8f1675c..334b01f232 100644 --- a/widgets/misc/e-canvas-background.c +++ b/widgets/misc/e-canvas-background.c @@ -38,7 +38,9 @@ #include "e-canvas-background.h" -#define PARENT_OBJECT_TYPE gnome_canvas_item_get_type () +/* workaround for avoiding API broken */ +#define ecb_get_type e_canvas_background_get_type +G_DEFINE_TYPE (ECanvasBackground, ecb, GNOME_TYPE_CANVAS_ITEM) #define d(x) @@ -55,8 +57,6 @@ struct _ECanvasBackgroundPrivate { guint needs_redraw : 1; }; -static GnomeCanvasItemClass *parent_class; - enum { STYLE_SET, LAST_SIGNAL @@ -131,8 +131,8 @@ ecb_update (GnomeCanvasItem *item, double *affine, ArtSVP *clip_path, int flags) ArtPoint o1, o2; ECanvasBackground *ecb = E_CANVAS_BACKGROUND (item); - if (GNOME_CANVAS_ITEM_CLASS (parent_class)->update) - GNOME_CANVAS_ITEM_CLASS (parent_class)->update (item, affine, clip_path, flags); + if (GNOME_CANVAS_ITEM_CLASS (ecb_parent_class)->update) + GNOME_CANVAS_ITEM_CLASS (ecb_parent_class)->update (item, affine, clip_path, flags); o1.x = item->x1; o1.y = item->y1; @@ -191,8 +191,8 @@ ecb_dispose (GObject *object) ecb->priv = NULL; } - if (G_OBJECT_CLASS (parent_class)->dispose) - G_OBJECT_CLASS (parent_class)->dispose (object); + if (G_OBJECT_CLASS (ecb_parent_class)->dispose) + G_OBJECT_CLASS (ecb_parent_class)->dispose (object); } static void @@ -316,10 +316,8 @@ ecb_get_property (GObject *object, } static void -ecb_init (GnomeCanvasItem *item) +ecb_init (ECanvasBackground *ecb) { - ECanvasBackground *ecb = E_CANVAS_BACKGROUND (item); - ecb->priv = g_new (ECanvasBackgroundPrivate, 1); ecb->priv->color.pixel = 0; @@ -339,8 +337,8 @@ ecb_realize (GnomeCanvasItem *item) { ECanvasBackground *ecb = E_CANVAS_BACKGROUND (item); - if (GNOME_CANVAS_ITEM_CLASS (parent_class)->realize) - GNOME_CANVAS_ITEM_CLASS (parent_class)->realize (item); + if (GNOME_CANVAS_ITEM_CLASS (ecb_parent_class)->realize) + GNOME_CANVAS_ITEM_CLASS (ecb_parent_class)->realize (item); ecb->priv->gc = gdk_gc_new (item->canvas->layout.bin_window); get_color (ecb); @@ -361,8 +359,8 @@ ecb_unrealize (GnomeCanvasItem *item) g_object_unref (ecb->priv->gc); ecb->priv->gc = NULL; - if (GNOME_CANVAS_ITEM_CLASS (parent_class)->unrealize) - GNOME_CANVAS_ITEM_CLASS (parent_class)->unrealize (item); + if (GNOME_CANVAS_ITEM_CLASS (ecb_parent_class)->unrealize) + GNOME_CANVAS_ITEM_CLASS (ecb_parent_class)->unrealize (item); } static void @@ -433,12 +431,10 @@ ecb_style_set (ECanvasBackground *ecb, GtkStyle *previous_style) } static void -ecb_class_init (GObjectClass *object_class) +ecb_class_init (ECanvasBackgroundClass *ecb_class) { - GnomeCanvasItemClass *item_class = (GnomeCanvasItemClass *) object_class; - ECanvasBackgroundClass *ecb_class = (ECanvasBackgroundClass *) object_class; - - parent_class = g_type_class_ref (PARENT_OBJECT_TYPE); + GnomeCanvasItemClass *item_class = GNOME_CANVAS_ITEM_CLASS (ecb_class); + GObjectClass *object_class = G_OBJECT_CLASS (ecb_class); object_class->dispose = ecb_dispose; object_class->set_property = ecb_set_property; @@ -517,9 +513,3 @@ ecb_class_init (GObjectClass *object_class) G_TYPE_NONE, 1, GTK_TYPE_STYLE); } -E_MAKE_TYPE (e_canvas_background, - "ECanvasBackground", - ECanvasBackground, - ecb_class_init, - ecb_init, - PARENT_OBJECT_TYPE) |