X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=inline;f=libdocument%2Fev-async-renderer.c;h=3b8d7b7331bcf751336f3749cd4933ded23f8908;hb=a0b6675d1a0b196e88de6afb64ac3e495a02d8d9;hp=f0ffce486f1f91b57649b4cf51d61159df835b76;hpb=13a06349251874bd35d2f03c3fc93217cee749a2;p=evince.git diff --git a/libdocument/ev-async-renderer.c b/libdocument/ev-async-renderer.c index f0ffce48..3b8d7b73 100644 --- a/libdocument/ev-async-renderer.c +++ b/libdocument/ev-async-renderer.c @@ -14,15 +14,14 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #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; -} +G_DEFINE_INTERFACE (EvAsyncRenderer, ev_async_renderer, 0) static void -ev_async_renderer_class_init (gpointer g_class) +ev_async_renderer_default_init (EvAsyncRendererInterface *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 (EvAsyncRendererInterface, render_finished), + NULL, NULL, + g_cclosure_marshal_VOID__OBJECT, + G_TYPE_NONE, + 1, + GDK_TYPE_PIXBUF); + initialized = TRUE; + } } void @@ -76,7 +59,7 @@ ev_async_renderer_render_pixbuf (EvAsyncRenderer *async_renderer, double scale, int rotation) { - EvAsyncRendererIface *iface = EV_ASYNC_RENDERER_GET_IFACE (async_renderer); + EvAsyncRendererInterface *iface = EV_ASYNC_RENDERER_GET_IFACE (async_renderer); iface->render_pixbuf (async_renderer, page, scale, rotation); }