summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric BAIL <cedric.bail@free.fr>2012-06-05 10:30:38 +0000
committerCedric BAIL <cedric.bail@free.fr>2012-06-05 10:30:38 +0000
commit9bfb209d51b5809fc982fc6745f733aeaf0e49df (patch)
tree07f7a71b290d4022fe3f63a14ef618128f68a732
parent31df1c9c7f0cc2a747efd0e8f8cb98cfd8c823b7 (diff)
downloadevas_generic_loaders-9bfb209d51b5809fc982fc6745f733aeaf0e49df.tar.gz
evas_generic_loaders: add support for poppler 0.20.
Patch by Fanina "cippp" Cristian <fancris3@gmail.com>. SVN revision: 71706
-rw-r--r--AUTHORS1
-rw-r--r--ChangeLog4
-rw-r--r--NEWS1
-rw-r--r--configure.ac7
-rw-r--r--src/bin/pdf/main.cpp12
5 files changed, 25 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
index ea752fe..2538a1a 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -2,3 +2,4 @@ The Rasterman (Carsten Haitzler) <raster@rasterman.com>
Christian Kreibich <cK@whoop.org>
Vincent Torri <vtorri at univ-evry dot fr>
Michael Bouchaud <michael.bouchaud@gmail.com>
+Fanina "cippp" Cristian <fancris3@gmail.com>
diff --git a/ChangeLog b/ChangeLog
index 487d24a..c48c81b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -18,3 +18,7 @@
* Make rsvg backend use the generic backend as it is our main
source of crash in e17.
+
+2012-05-06 Fanina Cristian
+
+ * Add support for Poppler 0.20.
diff --git a/NEWS b/NEWS
index a76ebdd..4d4030e 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,7 @@ Changes since Evas Generic Loaders 1.2.0:
Additions:
* Add a librsvg generic loader.
+ * Add support for poppler 0.20
Evas Generic Loaders 1.2.0
diff --git a/configure.ac b/configure.ac
index a0a993d..093b29f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -60,7 +60,14 @@ PKG_PROG_PKG_CONFIG
# Eina library
PKG_CHECK_MODULES(EINA, [eina >= 1.2.0])
+have_poppler="no"
PKG_CHECK_MODULES([POPPLER], [poppler >= 0.12 poppler < 0.20], [have_poppler="yes"], [have_poppler="no"])
+PKG_CHECK_MODULES([POPPLER2], [poppler >= 0.20],
+ [
+ have_poppler="yes"
+ AC_DEFINE(HAVE_POPPLER_020, 1, [Have poppler 0.20])
+ ],
+ [have_poppler="${have_poppler}"])
PKG_CHECK_MODULES([SPECTRE], [libspectre], [have_ps="yes"], [have_ps="no"])
diff --git a/src/bin/pdf/main.cpp b/src/bin/pdf/main.cpp
index 115b3be..b1fe1f2 100644
--- a/src/bin/pdf/main.cpp
+++ b/src/bin/pdf/main.cpp
@@ -157,14 +157,26 @@ void poppler_load_image(int size_w, int size_h)
if (!output_dev)
return;
+#ifdef HAVE_POPPLER_020
+ output_dev->startDoc(pdfdoc);
+#else
output_dev->startDoc(pdfdoc->getXRef());
+#endif
if (dpi <= 0.0) dpi = DEF_DPI;
+
+#ifdef HAVE_POPPLER_020
+ page->displaySlice(output_dev, dpi, dpi,
+ 0, false, false,
+ 0, 0, width, height,
+ false, NULL, NULL);
+#else
page->displaySlice(output_dev, dpi, dpi,
0, false, false,
0, 0, width, height,
false, pdfdoc->getCatalog());
+#endif
color_ptr = output_dev->getBitmap()->getDataPtr();
shm_alloc(crop_width * crop_height * sizeof(DATA32));