summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLionel Landwerlin <llandwerlin@gmail.com>2014-02-23 23:59:06 +0000
committerNeil Roberts <neil@linux.intel.com>2014-03-21 14:28:27 +0000
commit263f6502c770ff23ae22d9a2b78d31aa6f3c992d (patch)
tree2f55f1a30062652586541d62f70b928b76e00635
parent12ece8e4a1976aed565ba5707a56c11486d0215a (diff)
onscreen: make closure types visible to introspection
Reviewed-by: Neil Roberts <neil@linux.intel.com>
-rw-r--r--cogl/cogl-onscreen.c23
-rw-r--r--cogl/cogl-onscreen.h27
2 files changed, 50 insertions, 0 deletions
diff --git a/cogl/cogl-onscreen.c b/cogl/cogl-onscreen.c
index a7a958f2..4768509b 100644
--- a/cogl/cogl-onscreen.c
+++ b/cogl/cogl-onscreen.c
@@ -52,6 +52,29 @@ COGL_OBJECT_DEFINE_WITH_CODE_GTYPE (Onscreen, onscreen,
COGL_GTYPE_DEFINE_CLASS (Onscreen, onscreen,
COGL_GTYPE_IMPLEMENT_INTERFACE (framebuffer));
+static gpointer
+cogl_dummy_copy (gpointer data)
+{
+ return data;
+}
+
+static void
+cogl_dummy_free (gpointer data)
+{
+}
+
+COGL_GTYPE_DEFINE_BOXED (FrameClosure, frame_closure,
+ cogl_dummy_copy,
+ cogl_dummy_free);
+COGL_GTYPE_DEFINE_BOXED (OnscreenResizeClosure,
+ onscreen_resize_closure,
+ cogl_dummy_copy,
+ cogl_dummy_free);
+COGL_GTYPE_DEFINE_BOXED (OnscreenDirtyClosure,
+ onscreen_dirty_closure,
+ cogl_dummy_copy,
+ cogl_dummy_free);
+
static void
_cogl_onscreen_init_from_template (CoglOnscreen *onscreen,
CoglOnscreenTemplate *onscreen_template)
diff --git a/cogl/cogl-onscreen.h b/cogl/cogl-onscreen.h
index fd24e129..0edae921 100644
--- a/cogl/cogl-onscreen.h
+++ b/cogl/cogl-onscreen.h
@@ -570,6 +570,15 @@ typedef void (*CoglFrameCallback) (CoglOnscreen *onscreen,
*/
typedef struct _CoglClosure CoglFrameClosure;
+#ifdef COGL_HAS_GTYPE_SUPPORT
+/**
+ * cogl_frame_closure_get_gtype:
+ *
+ * Returns: a #GType that can be used with the GLib type system.
+ */
+GType cogl_frame_closure_get_gtype (void);
+#endif
+
/**
* cogl_onscreen_add_frame_callback:
* @onscreen: A #CoglOnscreen framebuffer
@@ -788,6 +797,15 @@ typedef void (*CoglOnscreenResizeCallback) (CoglOnscreen *onscreen,
*/
typedef struct _CoglClosure CoglOnscreenResizeClosure;
+#ifdef COGL_HAS_GTYPE_SUPPORT
+/**
+ * cogl_onscreen_resize_closure_get_gtype:
+ *
+ * Returns: a #GType that can be used with the GLib type system.
+ */
+GType cogl_onscreen_resize_closure_get_gtype (void);
+#endif
+
/**
* cogl_onscreen_add_resize_callback:
* @onscreen: A #CoglOnscreen framebuffer
@@ -895,6 +913,15 @@ typedef void (*CoglOnscreenDirtyCallback) (CoglOnscreen *onscreen,
*/
typedef struct _CoglClosure CoglOnscreenDirtyClosure;
+#ifdef COGL_HAS_GTYPE_SUPPORT
+/**
+ * cogl_onscreen_dirty_closure_get_gtype:
+ *
+ * Returns: a #GType that can be used with the GLib type system.
+ */
+GType cogl_onscreen_dirty_closure_get_gtype (void);
+#endif
+
/**
* cogl_onscreen_add_dirty_callback:
* @onscreen: A #CoglOnscreen framebuffer