From 75481a7c4d3b557da326c058d7b2d12958f8f018 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Tue, 18 Aug 2009 10:08:37 +0000 Subject: Convert EvDocument interface into an abstract class --- (limited to 'backend/djvu') diff --git a/backend/djvu/djvu-document-private.h b/backend/djvu/djvu-document-private.h index a110e15..d1d7ec7 100644 --- a/backend/djvu/djvu-document-private.h +++ b/backend/djvu/djvu-document-private.h @@ -26,7 +26,7 @@ #include struct _DjvuDocument { - GObject parent_instance; + EvDocument parent_instance; ddjvu_context_t *d_context; ddjvu_document_t *d_document; diff --git a/backend/djvu/djvu-document.c b/backend/djvu/djvu-document.c index daf09a5..2bc1f7e 100644 --- a/backend/djvu/djvu-document.c +++ b/backend/djvu/djvu-document.c @@ -46,12 +46,11 @@ enum { struct _DjvuDocumentClass { - GObjectClass parent_class; + EvDocumentClass parent_class; }; typedef struct _DjvuDocumentClass DjvuDocumentClass; -static void djvu_document_document_iface_init (EvDocumentIface *iface); static void djvu_document_document_thumbnails_iface_init (EvDocumentThumbnailsIface *iface); static void djvu_document_file_exporter_iface_init (EvFileExporterIface *iface); static void djvu_document_find_iface_init (EvDocumentFindIface *iface); @@ -387,6 +386,16 @@ djvu_document_render (EvDocument *document, return surface; } +static EvDocumentInfo * +djvu_document_get_info (EvDocument *document) +{ + EvDocumentInfo *info; + + info = g_new0 (EvDocumentInfo, 1); + + return info; +} + static void djvu_document_finalize (GObject *object) { @@ -412,30 +421,17 @@ djvu_document_finalize (GObject *object) static void djvu_document_class_init (DjvuDocumentClass *klass) { - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + EvDocumentClass *ev_document_class = EV_DOCUMENT_CLASS (klass); gobject_class->finalize = djvu_document_finalize; -} -static EvDocumentInfo * -djvu_document_get_info (EvDocument *document) -{ - EvDocumentInfo *info; - - info = g_new0 (EvDocumentInfo, 1); - - return info; -} - -static void -djvu_document_document_iface_init (EvDocumentIface *iface) -{ - iface->load = djvu_document_load; - iface->save = djvu_document_save; - iface->get_n_pages = djvu_document_get_n_pages; - iface->get_page_size = djvu_document_get_page_size; - iface->render = djvu_document_render; - iface->get_info = djvu_document_get_info; + ev_document_class->load = djvu_document_load; + ev_document_class->save = djvu_document_save; + ev_document_class->get_n_pages = djvu_document_get_n_pages; + ev_document_class->get_page_size = djvu_document_get_page_size; + ev_document_class->render = djvu_document_render; + ev_document_class->get_info = djvu_document_get_info; } static gchar * -- cgit v0.9.1