/* * canvasproxy.c - glue functions for creating C# CanvasItems * * Author: Duncan Mak (duncan@ximian.com) * * Copyright (C), 2002. Ximian, Inc. * */ #include #include "canvasproxy.h" enum { UPDATE, REALIZE, UNREALIZE, MAP, UNMAP, COVERAGE, DRAW, RENDER, POINT, BOUNDS, LAST_SIGNAL, } static CanvasProxyClass *parent_class; static guint proxy_signals [LAST_SIGNAL]; /* Class initialization */ static void gtksharp_canvas_proxy_class_init (CanvasProxyClass *class) { GObjectClass *gobject_class; GtkObjectClass *object_class; CanvasProxyClass *proxy_class; gobject_class = (GObjectClass *) class; object_class = (GtkObjectClass *) class; item_class = (GnomeCanvasItemClass *) class; parent_class = g_type_class_peek_parent (class); /* TODO: Look into update */ /* void (* update) (GnomeCanvasItem *item, double *affine, ArtSVP *clip_path, int flags); */ /* proxy_signals [UPDATE] = g_signal_new ("update", */ /* G_TYPE_FROM_CLASS (object_class), */ /* G_SIGNAL_RUN_LAST, */ /* G_STRUCT_OFFSET (GnomeCanvasItemClass, update), */ /* NULL, NULL, */ /* ); */ /* void (* realize) (GnomeCanvasItem *item); */ proxy_signals [REALIZE] = g_signal_new ("realize", G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GnomeCanvasItemClass, realize), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 0); /* void (* unrealize) (GnomeCanvasItem *item); */ proxy_signals [UNREALIZE] = g_signal_new ("unrealize", G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GnomeCanvasItemClass, unrealize), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 0); /* void (* map) (GnomeCanvasItem *item); */ proxy_signals [MAP] = g_signal_new ("map", G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GnomeCanvasItemClass, map), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 0); /* void (* unmap) (GnomeCanvasItem *item); */ proxy_signals [UNMAP] = g_signal_new ("unmap", G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GnomeCanvasItemClass, unmap), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 0); /* void (* draw) (GnomeCanvasItem *item, GdkDrawable *drawable, */ /* int x, int y, int width, int height); */ proxy_signals [DRAW] = g_signal_new ("draw", G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GnomeCanvasItemClass, draw), NULL, NULL, gnome_canvas_marshal_VOID__OBJECT_INT_INT_INT_INT, G_TYPE_NONE, 5, GDK_TYPE_DRAWABLE, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); /* void (* render) (GnomeCanvasItem *item, GnomeCanvasBuf *buf); */ proxy_signals [RENDER] = g_signal_new ("render", G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GnomeCanvasItemClass, render), NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); /* TODO: Look into marshaling return type double * for points */ /* double (* point) (GnomeCanvasItem *item, double x, double y, int cx, int cy, */ /* GnomeCanvasItem **actual_item); */ /* proxy_signals [POINTS] = g_signal_new ("points", */ /* G_TYPE_FROM_CLASS (object_class), */ /* G_SIGNAL_RUN_LAST, */ /* G_STRUCT_OFFSET (GnomeCanvasItemClass, points), */ /* NULL, NULL, */ /* ); */ /* /\* void (* bounds) (GnomeCanvasItem *item, double *x1, double *y1, double *x2, double *y2); *\/ */ /* proxy_signals [BOUNDS] = g_signal_new ("bounds", */ /* G_TYPE_FROM_CLASS (object_class), */ /* G_SIGNAL_RUN_LAST, */ /* G_STRUCT_OFFSET (GnomeCanvasItemClass, bounds), */ /* NULL, NULL, */ /* ); */ }