diff options
author | Carlos Garcia Campos <carlosgc@gnome.org> | 2009-01-24 18:10:33 (GMT) |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@src.gnome.org> | 2009-01-24 18:10:33 (GMT) |
commit | ab26fbf217460c766111850bf40725e5e65a5533 (patch) | |
tree | 2ed6ef16498d2b54292608e98796d7ecddfacc6f /libdocument/ev-async-renderer.c | |
parent | 95395e6b0e5e174a43931605043dba668232d331 (diff) |
Add EV_DEFINE_INTERFACE macro.
2009-01-24 Carlos Garcia Campos <carlosgc@gnome.org>
* libdocument/ev-document.h:
Add EV_DEFINE_INTERFACE macro.
* libdocument/ev-async-renderer.c:
* libdocument/ev-document-find.c:
* libdocument/ev-document-fonts.c:
* libdocument/ev-document-forms.c:
* libdocument/ev-document-images.c:
* libdocument/ev-document-layers.c:
* libdocument/ev-document-links.c:
* libdocument/ev-document-security.c:
* libdocument/ev-document-thumbnails.c:
* libdocument/ev-document-transition.c:
* libdocument/ev-document.c:
* libdocument/ev-file-exporter.c:
* libdocument/ev-selection.c:
Use EV_DEFINE_INTERFACE macro to define interfaces in
libdocument. See bug #568228.
svn path=/trunk/; revision=3379
Diffstat (limited to 'libdocument/ev-async-renderer.c')
-rw-r--r-- | libdocument/ev-async-renderer.c | 53 |
1 files changed, 18 insertions, 35 deletions
diff --git a/libdocument/ev-async-renderer.c b/libdocument/ev-async-renderer.c index f0ffce4..5ff9e3e 100644 --- a/libdocument/ev-async-renderer.c +++ b/libdocument/ev-async-renderer.c @@ -21,8 +21,7 @@ #include "config.h" #include "ev-async-renderer.h" - -static void ev_async_renderer_class_init (gpointer g_class); +#include "ev-document.h" enum { @@ -32,42 +31,26 @@ enum static guint signals[LAST_SIGNAL] = { 0 }; -GType -ev_async_renderer_get_type (void) -{ - static GType type = 0; - - if (G_UNLIKELY (type == 0)) - { - const GTypeInfo our_info = - { - sizeof (EvAsyncRendererIface), - NULL, - NULL, - (GClassInitFunc)ev_async_renderer_class_init - }; - - type = g_type_register_static (G_TYPE_INTERFACE, - "EvAsyncRenderer", - &our_info, (GTypeFlags)0); - } - - return type; -} +EV_DEFINE_INTERFACE (EvAsyncRenderer, ev_async_renderer, 0) static void -ev_async_renderer_class_init (gpointer g_class) +ev_async_renderer_class_init (EvAsyncRendererIface *klass) { - signals[RENDER_FINISHED] = - g_signal_new ("render_finished", - EV_TYPE_ASYNC_RENDERER, - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (EvAsyncRendererIface, render_finished), - NULL, NULL, - g_cclosure_marshal_VOID__OBJECT, - G_TYPE_NONE, - 1, - GDK_TYPE_PIXBUF); + static gboolean initialized = FALSE; + + if (!initialized) { + signals[RENDER_FINISHED] = + g_signal_new ("render_finished", + EV_TYPE_ASYNC_RENDERER, + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (EvAsyncRendererIface, render_finished), + NULL, NULL, + g_cclosure_marshal_VOID__OBJECT, + G_TYPE_NONE, + 1, + GDK_TYPE_PIXBUF); + initialized = TRUE; + } } void |