[evince] Use EvPage instead of page index to get images
- From: Carlos Garcia Campos <carlosgc src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [evince] Use EvPage instead of page index to get images
- Date: Wed, 9 Dec 2009 17:38:23 +0000 (UTC)
commit a90c2239d39181519c53f0b02b5af90be0d7ef3d
Author: Carlos Garcia Campos <carlosgc gnome org>
Date: Wed Dec 9 18:36:17 2009 +0100
Use EvPage instead of page index to get images
So that we can re-use the page object instead of creating and deleting a
new one.
backend/pdf/ev-poppler.cc | 7 +++----
libdocument/ev-document-images.c | 2 +-
libdocument/ev-document-images.h | 4 ++--
libview/ev-jobs.c | 2 +-
4 files changed, 7 insertions(+), 8 deletions(-)
---
diff --git a/backend/pdf/ev-poppler.cc b/backend/pdf/ev-poppler.cc
index 82cde9e..6d1c937 100644
--- a/backend/pdf/ev-poppler.cc
+++ b/backend/pdf/ev-poppler.cc
@@ -1326,7 +1326,7 @@ pdf_document_document_links_iface_init (EvDocumentLinksIface *iface)
static GList *
pdf_document_images_get_image_mapping (EvDocumentImages *document_images,
- gint page)
+ EvPage *page)
{
GList *retval = NULL;
PdfDocument *pdf_document;
@@ -1335,7 +1335,7 @@ pdf_document_images_get_image_mapping (EvDocumentImages *document_images,
GList *list;
pdf_document = PDF_DOCUMENT (document_images);
- poppler_page = poppler_document_get_page (pdf_document->document, page);
+ poppler_page = POPPLER_PAGE (page->backend_page);
mapping_list = poppler_page_get_image_mapping (poppler_page);
for (list = mapping_list; list; list = list->next) {
@@ -1346,7 +1346,7 @@ pdf_document_images_get_image_mapping (EvDocumentImages *document_images,
ev_image_mapping = g_new (EvMapping, 1);
- ev_image_mapping->data = ev_image_new (page, image_mapping->image_id);
+ ev_image_mapping->data = ev_image_new (page->index, image_mapping->image_id);
ev_image_mapping->area.x1 = image_mapping->area.x1;
ev_image_mapping->area.y1 = image_mapping->area.y1;
ev_image_mapping->area.x2 = image_mapping->area.x2;
@@ -1356,7 +1356,6 @@ pdf_document_images_get_image_mapping (EvDocumentImages *document_images,
}
poppler_page_free_image_mapping (mapping_list);
- g_object_unref (poppler_page);
return g_list_reverse (retval);
}
diff --git a/libdocument/ev-document-images.c b/libdocument/ev-document-images.c
index 1754ded..a7f85f0 100644
--- a/libdocument/ev-document-images.c
+++ b/libdocument/ev-document-images.c
@@ -30,7 +30,7 @@ ev_document_images_class_init (EvDocumentImagesIface *klass)
GList *
ev_document_images_get_image_mapping (EvDocumentImages *document_images,
- gint page)
+ EvPage *page)
{
EvDocumentImagesIface *iface = EV_DOCUMENT_IMAGES_GET_IFACE (document_images);
diff --git a/libdocument/ev-document-images.h b/libdocument/ev-document-images.h
index d9d7696..95b2ac7 100644
--- a/libdocument/ev-document-images.h
+++ b/libdocument/ev-document-images.h
@@ -48,14 +48,14 @@ struct _EvDocumentImagesIface {
/* Methods */
GList *(* get_image_mapping) (EvDocumentImages *document_images,
- gint page);
+ EvPage *page);
GdkPixbuf *(* get_image) (EvDocumentImages *document_images,
EvImage *image);
};
GType ev_document_images_get_type (void) G_GNUC_CONST;
GList *ev_document_images_get_image_mapping (EvDocumentImages *document_images,
- gint page);
+ EvPage *page);
GdkPixbuf *ev_document_images_get_image (EvDocumentImages *document_images,
EvImage *image);
diff --git a/libview/ev-jobs.c b/libview/ev-jobs.c
index ac71630..20f4ee2 100644
--- a/libview/ev-jobs.c
+++ b/libview/ev-jobs.c
@@ -606,7 +606,7 @@ ev_job_page_data_run (EvJob *job)
if ((job_pd->flags & EV_PAGE_DATA_INCLUDE_IMAGES) && EV_IS_DOCUMENT_IMAGES (job->document))
job_pd->image_mapping =
ev_document_images_get_image_mapping (EV_DOCUMENT_IMAGES (job->document),
- job_pd->page);
+ ev_page);
if ((job_pd->flags & EV_PAGE_DATA_INCLUDE_ANNOTS) && EV_IS_DOCUMENT_ANNOTATIONS (job->document))
job_pd->annot_mapping =
ev_document_annotations_get_annotations (EV_DOCUMENT_ANNOTATIONS (job->document),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]