X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=libdocument%2Fev-document.c;h=7bb86be93db6b54e9fd515d05dd9161d7fb3679a;hb=f343927df4325959193353c52cff1ea4b20b2286;hp=a951bfa3fa83560534e113ba24ddbe38acc34112;hpb=13a06349251874bd35d2f03c3fc93217cee749a2;p=evince.git diff --git a/libdocument/ev-document.c b/libdocument/ev-document.c index a951bfa3..7bb86be9 100644 --- a/libdocument/ev-document.c +++ b/libdocument/ev-document.c @@ -30,7 +30,6 @@ static void ev_document_class_init (gpointer g_class); GMutex *ev_doc_mutex = NULL; GMutex *ev_fc_mutex = NULL; -#define LOG(x) GType ev_document_get_type (void) { @@ -118,7 +117,7 @@ ev_document_load (EvDocument *document, { EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document); gboolean retval; - LOG ("ev_document_load"); + retval = iface->load (document, uri, error); return retval; @@ -132,7 +131,6 @@ ev_document_save (EvDocument *document, EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document); gboolean retval; - LOG ("ev_document_save"); retval = iface->save (document, uri, error); return retval; @@ -144,45 +142,49 @@ ev_document_get_n_pages (EvDocument *document) EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document); gint retval; - LOG ("ev_document_get_n_pages"); retval = iface->get_n_pages (document); return retval; } +EvPage * +ev_document_get_page (EvDocument *document, + gint index) +{ + EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document); + EvPage *retval; + + if (iface->get_page) + retval = iface->get_page (document, index); + else + retval = ev_page_new (index); + + return retval; +} + void -ev_document_get_page_size (EvDocument *document, - int page, - double *width, - double *height) +ev_document_get_page_size (EvDocument *document, + EvPage *page, + double *width, + double *height) { EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document); - LOG ("ev_document_get_page_size"); iface->get_page_size (document, page, width, height); } char * -ev_document_get_page_label(EvDocument *document, - int page) +ev_document_get_page_label (EvDocument *document, + EvPage *page) { EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document); - LOG ("ev_document_get_page_label"); if (iface->get_page_label == NULL) return NULL; return iface->get_page_label (document, page); } -gboolean -ev_document_can_get_text (EvDocument *document) -{ - EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document); - - return iface->can_get_text (document); -} - EvDocumentInfo * ev_document_get_info (EvDocument *document) { @@ -191,20 +193,6 @@ ev_document_get_info (EvDocument *document) return iface->get_info (document); } -char * -ev_document_get_text (EvDocument *document, - int page, - EvRectangle *rect) -{ - EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document); - char *retval; - - LOG ("ev_document_get_text"); - retval = iface->get_text (document, page, rect); - - return retval; -} - gboolean ev_document_has_attachments (EvDocument *document) { @@ -222,7 +210,6 @@ ev_document_get_attachments (EvDocument *document) EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document); GList *retval; - LOG ("ev_document_get_attachments"); if (iface->get_attachments == NULL) return NULL; retval = iface->get_attachments (document); @@ -230,17 +217,16 @@ ev_document_get_attachments (EvDocument *document) return retval; } -GdkPixbuf * -ev_document_render_pixbuf (EvDocument *document, - EvRenderContext *rc) +cairo_surface_t * +ev_document_render (EvDocument *document, + EvRenderContext *rc) { EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document); - GdkPixbuf *retval; + cairo_surface_t *retval; - LOG ("ev_document_render_pixbuf"); - g_assert (iface->render_pixbuf); + g_assert (iface->render); - retval = iface->render_pixbuf (document, rc); + retval = iface->render (document, rc); return retval; } @@ -256,8 +242,11 @@ ev_document_info_free (EvDocumentInfo *info) g_free (info->author); g_free (info->subject); g_free (info->keywords); + g_free (info->creator); + g_free (info->producer); + g_free (info->linearized); g_free (info->security); - + g_free (info); } @@ -279,3 +268,6 @@ ev_rect_cmp (EvRectangle *a, (ABS (a->x2 - b->x2) < EPSILON) && (ABS (a->y2 - b->y2) < EPSILON)); } + + +