]> Pileus Git - grits/blobdiff - src/objects/gis-callback.h
Document GisCallback
[grits] / src / objects / gis-callback.h
index 8677fa698fe12af0510306f71888be01dcaca0b0..b9c77da8a8fbefb9d96e2b56610ca4431e5434e3 100644 (file)
 #include "gis-object.h"
 
 /* GisCallback */
-#define GIS_TYPE_CALLBACK (gis_callback_get_type())
-
-GOBJECT_HEAD(
-       GIS, CALLBACK,
-       Gis, Callback,
-       gis, callback);
-
-typedef gpointer (*GisCallbackFunc)(GisCallback *callback, gpointer user_data);
+#define GIS_TYPE_CALLBACK            (gis_callback_get_type())
+#define GIS_CALLBACK(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj),   GIS_TYPE_CALLBACK, GisCallback))
+#define GIS_IS_CALLBACK(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),   GIS_TYPE_CALLBACK))
+#define GIS_CALLBACK_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST   ((klass), GIS_TYPE_CALLBACK, GisCallbackClass))
+#define GIS_IS_CALLBACK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE   ((klass), GIS_TYPE_CALLBACK))
+#define GIS_CALLBACK_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj),   GIS_TYPE_CALLBACK, GisCallbackClass))
+
+typedef struct _GisCallback      GisCallback;
+typedef struct _GisCallbackClass GisCallbackClass;
+
+/**
+ * GisCallbackFunc:
+ * @callback:  the callback object to be drawn
+ * @user_data: the user data associated with the callback 
+ *
+ * A function to be called when the callback object is being rendered
+ */
+typedef void (*GisCallbackFunc)(GisCallback *callback, gpointer user_data);
 
 struct _GisCallback {
        GisObject       parent;
@@ -42,6 +52,8 @@ struct _GisCallbackClass {
        GisObjectClass parent_class;
 };
 
+GType gis_callback_get_type(void);
+
 GisCallback *gis_callback_new(GisCallbackFunc callback, gpointer user_data);
 
 #endif