]> www.fi.muni.cz Git - evince.git/blobdiff - libdocument/ev-document.c
Updated Arabic Translation by Usama Akkad.
[evince.git] / libdocument / ev-document.c
index 776e4bdf4afba7c183878cb8a2a8cee1a3fb3d30..1171509a3587ec8c29d259671821079c73967bca 100644 (file)
@@ -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)
 {
@@ -90,6 +89,12 @@ ev_document_doc_mutex_unlock (void)
        g_mutex_unlock (ev_document_get_doc_mutex ());
 }
 
+gboolean
+ev_document_doc_mutex_trylock (void)
+{
+       return g_mutex_trylock (ev_document_get_doc_mutex ());
+}
+
 GMutex *
 ev_document_get_fc_mutex (void)
 {
@@ -111,6 +116,12 @@ ev_document_fc_mutex_unlock (void)
        g_mutex_unlock (ev_document_get_fc_mutex ());
 }
 
+gboolean
+ev_document_fc_mutex_trylock (void)
+{
+       return g_mutex_trylock (ev_document_get_fc_mutex ());
+}
+
 gboolean
 ev_document_load (EvDocument  *document,
                  const char  *uri,
@@ -118,7 +129,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 +143,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 +154,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 +205,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 +222,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);
@@ -237,7 +236,6 @@ ev_document_render (EvDocument      *document,
        EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document);
        cairo_surface_t *retval;
 
-       LOG ("ev_document_render_pixbuf");
        g_assert (iface->render);
 
        retval = iface->render (document, rc);
@@ -256,8 +254,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 +280,6 @@ ev_rect_cmp (EvRectangle *a,
                  (ABS (a->x2 - b->x2) < EPSILON) &&
                  (ABS (a->y2 - b->y2) < EPSILON));
 }
+
+
+