diff --git a/cogl/cogl-onscreen.c b/cogl/cogl-onscreen.c index a7a958f29..4768509b8 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 fd24e129f..0edae921d 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