summaryrefslogtreecommitdiff
path: root/packages/enlightenment-platform/evas_generic_loaders/files/evas_generic_loaders-1.13.0-poppler-compat.patch
blob: 55061d113a89914323828ba4c66277a665203ce1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
From 1e1a1e6fffc1805aadf75467e72af71391636075 Mon Sep 17 00:00:00 2001
From: Stefan Schmidt <s.schmidt@samsung.com>
Date: Fri, 6 Mar 2015 10:44:50 +0100
Subject: [PATCH] pdf: Add support for changes with poppler >= 0.31

With 0.31 poppler removed some parts of GlobalParams
which they do not consider a public API. The antialias
setting can now be done over the output device.

Fixes T2184
@fix
---
 configure.ac         | 14 ++++++++++++--
 src/bin/pdf/main.cpp | 10 ++++++++--
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index 7e13584..1079c6e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -73,15 +73,25 @@ if test "x${want_poppler}" = "xyes" ; then
       [have_poppler="no"])
 
    if test "x${have_poppler}" = "xno" ; then
-      PKG_CHECK_EXISTS([poppler >= 0.20],
+      PKG_CHECK_EXISTS([poppler >= 0.20 poppler < 0.31],
          [
-          poppler_pc="poppler >= 0.20"
+          poppler_pc="poppler >= 0.20 poppler < 0.31"
           AC_DEFINE(HAVE_POPPLER_020, 1, [Have poppler 0.20])
           have_poppler="yes"
          ],
          [have_poppler="no"])
    fi
 
+   if test "x${have_poppler}" = "xno" ; then
+      PKG_CHECK_EXISTS([poppler >= 0.31],
+         [
+          poppler_pc="poppler >= 0.31"
+          AC_DEFINE(HAVE_POPPLER_031, 1, [Have poppler 0.31])
+          have_poppler="yes"
+         ],
+         [have_poppler="no"])
+   fi
+
    if test "x${have_poppler}" = "xyes" ; then
       PKG_CHECK_MODULES([POPPLER], [${poppler_pc}],
          [have_poppler="yes"],
diff --git a/src/bin/pdf/main.cpp b/src/bin/pdf/main.cpp
index a68b21f..78f918e 100644
--- a/src/bin/pdf/main.cpp
+++ b/src/bin/pdf/main.cpp
@@ -62,10 +62,12 @@ Eina_Bool poppler_init(const char *file, int page_nbr, int size_w, int size_h)
    if (!eina_init())
      goto del_global_param;
 
+#ifndef HAVE_POPPLER_031
    if (globalParams->getAntialias())
      globalParams->setAntialias((char *)"yes");
    if (globalParams->getVectorAntialias())
      globalParams->setVectorAntialias((char *)"yes");
+#endif
 
    pdfdoc = new PDFDoc(new GooString(file), NULL);
    if (!pdfdoc)
@@ -161,7 +163,7 @@ void poppler_load_image(int size_w, int size_h)
    if (!output_dev)
      return;
 
-#ifdef HAVE_POPPLER_020
+#if defined(HAVE_POPPLER_020) || defined(HAVE_POPPLER_031)
    output_dev->startDoc(pdfdoc);
 #else
    output_dev->startDoc(pdfdoc->getXRef());
@@ -169,8 +171,12 @@ void poppler_load_image(int size_w, int size_h)
 
    if (dpi <= 0.0) dpi = DEF_DPI;
 
+#ifdef HAVE_POPPLER_031
+   output_dev->setFontAntialias(EINA_TRUE);
+   output_dev->setVectorAntialias(EINA_TRUE);
+#endif
 
-#ifdef HAVE_POPPLER_020
+#if defined(HAVE_POPPLER_020) || defined(HAVE_POPPLER_031)
    page->displaySlice(output_dev, dpi, dpi, 
                       0, false, false,
                       0, 0, width, height,
-- 
2.3.1