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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
From 142e03e329bbd6cd2d37cb24ed18c2538eb20daa Mon Sep 17 00:00:00 2001
From: Rasmus Thomsen <oss@cogitri.dev>
Date: Sat, 26 Oct 2019 14:11:35 +0200
Subject: [PATCH] Fix build with poppler-0.82
Change-Id: I3b6b3faea7986f3e5a6ae4790580d03bc9c955fc
---
.../pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx | 25 +++++++++++++++++++
.../pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx | 16 +++++++++++-
2 files changed, 40 insertions(+), 1 deletion(-)
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx 2019-10-26 12:40:49.670720552 +0200
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx 2019-10-26 12:40:52.894158294 +0200
@@ -232,10 +232,17 @@ namespace pdfi
virtual void eoClip(GfxState *state) override;
//----- text drawing
+#if POPPLER_CHECK_VERSION(0, 82, 0)
+ virtual void drawChar(GfxState *state, double x, double y,
+ double dx, double dy,
+ double originX, double originY,
+ CharCode code, int nBytes, const Unicode *u, int uLen) override;
+#else
virtual void drawChar(GfxState *state, double x, double y,
double dx, double dy,
double originX, double originY,
CharCode code, int nBytes, Unicode *u, int uLen) override;
+#endif
#if POPPLER_CHECK_VERSION(0, 64, 0)
virtual void drawString(GfxState *state, const GooString *s) override;
#else
@@ -248,10 +255,17 @@ namespace pdfi
int width, int height, poppler_bool invert,
poppler_bool interpolate,
poppler_bool inlineImg) override;
+#if POPPLER_CHECK_VERSION(0, 82, 0)
virtual void drawImage(GfxState *state, Object *ref, Stream *str,
int width, int height, GfxImageColorMap *colorMap,
poppler_bool interpolate,
- int* maskColors, poppler_bool inlineImg) override;
+ const int* maskColors, poppler_bool inlineImg) override;
+#else
+ virtual void drawImage(GfxState *state, Object *ref, Stream *str,
+ int width, int height, GfxImageColorMap *colorMap,
+ poppler_bool interpolate,
+ int* maskColors, poppler_bool inlineImg) override;
+#endif
virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
int width, int height,
GfxImageColorMap *colorMap,
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx 2019-10-26 12:54:06.718793588 +0200
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx 2019-10-26 12:55:54.338415432 +0200
@@ -863,11 +863,20 @@ void PDFOutDev::eoClip(GfxState *state)
local offset of character (zero for horizontal writing mode). not
taken into account for output pos updates. Used for vertical writing.
*/
+
+#if POPPLER_CHECK_VERSION(0, 82, 0)
+void PDFOutDev::drawChar(GfxState *state, double x, double y,
+ double dx, double dy,
+ double originX, double originY,
+ CharCode, int /*nBytes*/, const Unicode *u, int uLen)
+{
+#else
void PDFOutDev::drawChar(GfxState *state, double x, double y,
double dx, double dy,
double originX, double originY,
CharCode, int /*nBytes*/, Unicode *u, int uLen)
{
+#endif
assert(state);
if( u == nullptr )
@@ -979,11 +988,19 @@ void PDFOutDev::drawImageMask(GfxState* pState, Object*, Stream* str,
writeBinaryBuffer(aBuf);
}
+#if POPPLER_CHECK_VERSION(0, 82, 0)
+void PDFOutDev::drawImage(GfxState*, Object*, Stream* str,
+ int width, int height, GfxImageColorMap* colorMap,
+ poppler_bool /*interpolate*/,
+ const int* maskColors, poppler_bool /*inlineImg*/ )
+{
+#else
void PDFOutDev::drawImage(GfxState*, Object*, Stream* str,
int width, int height, GfxImageColorMap* colorMap,
poppler_bool /*interpolate*/,
int* maskColors, poppler_bool /*inlineImg*/ )
{
+#endif
if (m_bSkipImages)
return;
OutputBuffer aBuf; initBuf(aBuf);
@@ -1004,12 +1021,12 @@ void PDFOutDev::drawImage(GfxState*, Object*, Stream* str,
{
GfxRGB aMinRGB;
colorMap->getColorSpace()->getRGB(
- reinterpret_cast<GfxColor*>(maskColors),
+ const_cast<GfxColor*>(reinterpret_cast<const GfxColor*>(maskColors)),
&aMinRGB );
GfxRGB aMaxRGB;
colorMap->getColorSpace()->getRGB(
- reinterpret_cast<GfxColor*>(maskColors)+gfxColorMaxComps,
+ const_cast<GfxColor*>(reinterpret_cast<const GfxColor*>(maskColors))+gfxColorMaxComps,
&aMaxRGB );
aMaskBuf.push_back( colToByte(aMinRGB.r) );
|