]> www.fi.muni.cz Git - evince.git/blobdiff - backend/djvu/djvu-document.c
Updated Serbian translations
[evince.git] / backend / djvu / djvu-document.c
index 2bc1f7eade0670f19ffec0cb02fc98f52c6a98f7..7ab5c76cc00f35b40439f7360f6bba3d07c2e361 100644 (file)
@@ -170,7 +170,7 @@ djvu_document_load (EvDocument  *document,
                g_set_error_literal (error,
                                     EV_DOCUMENT_ERROR,
                                     EV_DOCUMENT_ERROR_INVALID,
                g_set_error_literal (error,
                                     EV_DOCUMENT_ERROR,
                                     EV_DOCUMENT_ERROR_INVALID,
-                                    _("DJVU document has incorrect format"));
+                                    _("DjVu document has incorrect format"));
                return FALSE;
        }
 
                return FALSE;
        }
 
@@ -248,7 +248,7 @@ djvu_document_load (EvDocument  *document,
                                      G_FILE_ERROR,
                                      G_FILE_ERROR_EXIST,
                                     _("The document is composed of several files. "
                                      G_FILE_ERROR,
                                      G_FILE_ERROR_EXIST,
                                     _("The document is composed of several files. "
-                                       "One or more of such files cannot be accessed."));
+                                       "One or more of these files cannot be accessed."));
 
                return FALSE;
        }
 
                return FALSE;
        }
@@ -323,7 +323,6 @@ djvu_document_render (EvDocument      *document,
        ddjvu_page_t *d_page;
        ddjvu_page_rotation_t rotation;
        double page_width, page_height, tmp;
        ddjvu_page_t *d_page;
        ddjvu_page_rotation_t rotation;
        double page_width, page_height, tmp;
-       static const cairo_user_data_key_t key;
 
        d_page = ddjvu_page_create_by_pageno (djvu_document->d_document, rc->page->index);
        
 
        d_page = ddjvu_page_create_by_pageno (djvu_document->d_document, rc->page->index);
        
@@ -355,19 +354,12 @@ djvu_document_render (EvDocument      *document,
                default:
                        rotation = DDJVU_ROTATE_0;
        }
                default:
                        rotation = DDJVU_ROTATE_0;
        }
-#ifdef HAVE_CAIRO_FORMAT_STRIDE_FOR_WIDTH
-       rowstride = cairo_format_stride_for_width (CAIRO_FORMAT_RGB24, page_width);
-#else
-       rowstride = page_width * 4;
-#endif
-       pixels = (gchar *) g_malloc (page_height * rowstride);
-       surface = cairo_image_surface_create_for_data ((guchar *)pixels,
-                                                      CAIRO_FORMAT_RGB24,
-                                                      page_width,
-                                                      page_height,
-                                                      rowstride);
-       cairo_surface_set_user_data (surface, &key,
-                                    pixels, (cairo_destroy_func_t)g_free);
+
+       surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
+                                             page_width, page_height);
+       rowstride = cairo_image_surface_get_stride (surface);
+       pixels = (gchar *)cairo_image_surface_get_data (surface);
+
        prect.x = 0;
        prect.y = 0;
        prect.w = page_width;
        prect.x = 0;
        prect.y = 0;
        prect.w = page_width;
@@ -383,17 +375,9 @@ djvu_document_render (EvDocument      *document,
                           rowstride,
                           pixels);
 
                           rowstride,
                           pixels);
 
-       return surface;
-}
-
-static EvDocumentInfo *
-djvu_document_get_info (EvDocument *document)
-{
-       EvDocumentInfo *info;
-
-       info = g_new0 (EvDocumentInfo, 1);
+       cairo_surface_mark_dirty (surface);
 
 
-       return info;
+       return surface;
 }
 
 static void
 }
 
 static void
@@ -431,7 +415,6 @@ djvu_document_class_init (DjvuDocumentClass *klass)
        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_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 *
 }
 
 static gchar *
@@ -708,9 +691,9 @@ djvu_document_find_iface_init (EvDocumentFindIface *iface)
 
 static GList *
 djvu_document_links_get_links (EvDocumentLinks *document_links,
 
 static GList *
 djvu_document_links_get_links (EvDocumentLinks *document_links,
-                              gint             page)
+                              EvPage          *page)
 {
 {
-       return djvu_links_get_links (document_links, page, SCALE_FACTOR);
+       return djvu_links_get_links (document_links, page->index, SCALE_FACTOR);
 }
 
 static void
 }
 
 static void