]> www.fi.muni.cz Git - evince.git/blobdiff - libdocument/ev-document.c
Add EvPage so that we can hold a reference to the backend page. Form
[evince.git] / libdocument / ev-document.c
index 776e4bdf4afba7c183878cb8a2a8cee1a3fb3d30..5e582d0aae3c9cfa8a3f5b10df4a73c5f7e2c604 100644 (file)
@@ -150,11 +150,26 @@ ev_document_get_n_pages (EvDocument  *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);
 
@@ -163,8 +178,8 @@ ev_document_get_page_size   (EvDocument   *document,
 }
 
 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);
 
@@ -175,14 +190,6 @@ ev_document_get_page_label(EvDocument    *document,
        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 +198,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)
 {
@@ -256,8 +249,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 +275,6 @@ ev_rect_cmp (EvRectangle *a,
                  (ABS (a->x2 - b->x2) < EPSILON) &&
                  (ABS (a->y2 - b->y2) < EPSILON));
 }
+
+
+