diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx index 06e4faead..d4174e208 100644 --- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx @@ -298,7 +298,7 @@ void writePpm_( OutputBuffer& o_rOutputBuf, o_rOutputBuf.resize(header_size); // initialize stream - Guchar *p; + unsigned char *p; GfxRGB rgb; std::unique_ptr imgStr( new ImageStream(str, @@ -401,7 +401,7 @@ void writeImage_( OutputBuffer& o_rOutputBuf, oneColor = { byteToCol( 0xff ), byteToCol( 0xff ), byteToCol( 0xff ) }; if( colorMap->getColorSpace()->getMode() == csIndexed || colorMap->getColorSpace()->getMode() == csDeviceGray ) { - Guchar nIndex = 0; + unsigned char nIndex = 0; colorMap->getRGB( &nIndex, &zeroColor ); nIndex = 1; colorMap->getRGB( &nIndex, &oneColor ); @@ -514,7 +514,7 @@ void PDFOutDev::printPath( GfxPath* pPath ) PDFOutDev::PDFOutDev( PDFDoc* pDoc ) : m_pDoc( pDoc ), m_aFontMap(), - m_pUtf8Map( new UnicodeMap("UTF-8", gTrue, &mapUTF8) ), + m_pUtf8Map( new UnicodeMap("UTF-8", true, &mapUTF8) ), m_bSkipImages(false) { } @@ -555,7 +555,11 @@ void PDFOutDev::processLink(Link* link, Catalog*) LinkAction* pAction = link->getAction(); if (pAction && pAction->getKind() == actionURI) { +#if POPPLER_CHECK_VERSION(0, 72, 0) + const char* pURI = static_cast(pAction)->getURI()->c_str(); +#else const char* pURI = static_cast(pAction)->getURI()->getCString(); +#endif std::vector aEsc( lcl_escapeLineFeeds(pURI) ); @@ -578,7 +582,11 @@ void PDFOutDev::restoreState(GfxState*) printf( "restoreState\n" ); } +#if POPPLER_CHECK_VERSION(0, 71, 0) +void PDFOutDev::setDefaultCTM(const double *pMat) +#else void PDFOutDev::setDefaultCTM(double *pMat) +#endif { assert(pMat); @@ -752,8 +760,11 @@ void PDFOutDev::updateFont(GfxState *state) printf( " %lld", fontID ); aFont = it->second; - +#if POPPLER_CHECK_VERSION(0, 72, 0) + std::vector aEsc( lcl_escapeLineFeeds(aFont.familyName.c_str()) ); +#else std::vector aEsc( lcl_escapeLineFeeds(aFont.familyName.getCString()) ); +#endif printf( " %d %d %d %d %f %d %s", aFont.isEmbedded, aFont.isBold, @@ -939,11 +950,11 @@ void PDFOutDev::endTextObject(GfxState*) } void PDFOutDev::drawImageMask(GfxState* pState, Object*, Stream* str, - int width, int height, GBool invert, + int width, int height, poppler_bool invert, #if POPPLER_CHECK_VERSION(0, 12, 0) - GBool /*interpolate*/, + poppler_bool /*interpolate*/, #endif - GBool /*inlineImg*/ ) + poppler_bool /*inlineImg*/ ) { if (m_bSkipImages) return; @@ -972,9 +983,9 @@ void PDFOutDev::drawImageMask(GfxState* pState, Object*, Stream* str, void PDFOutDev::drawImage(GfxState*, Object*, Stream* str, int width, int height, GfxImageColorMap* colorMap, #if POPPLER_CHECK_VERSION(0, 12, 0) - GBool /*interpolate*/, + poppler_bool /*interpolate*/, #endif - int* maskColors, GBool /*inlineImg*/ ) + int* maskColors, poppler_bool /*inlineImg*/ ) { if (m_bSkipImages) return; @@ -1023,13 +1034,13 @@ void PDFOutDev::drawMaskedImage(GfxState*, Object*, Stream* str, int width, int height, GfxImageColorMap* colorMap, #if POPPLER_CHECK_VERSION(0, 12, 0) - GBool /*interpolate*/, + poppler_bool /*interpolate*/, #endif Stream* maskStr, int maskWidth, int maskHeight, - GBool maskInvert + poppler_bool maskInvert #if POPPLER_CHECK_VERSION(0, 12, 0) - , GBool /*maskInterpolate*/ + , poppler_bool /*maskInterpolate*/ #endif ) { @@ -1045,13 +1056,13 @@ void PDFOutDev::drawSoftMaskedImage(GfxState*, Object*, Stream* str, int width, int height, GfxImageColorMap* colorMap, #if POPPLER_CHECK_VERSION(0, 12, 0) - GBool /*interpolate*/, + poppler_bool /*interpolate*/, #endif Stream* maskStr, int maskWidth, int maskHeight, GfxImageColorMap* maskColorMap #if POPPLER_CHECK_VERSION(0, 12, 0) - , GBool /*maskInterpolate*/ + , poppler_bool /*maskInterpolate*/ #endif ) { diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx index 7e65f085d..4b5c14d15 100644 --- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx +++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx @@ -129,6 +129,12 @@ namespace pdfi GooString & getFamilyName() const { return const_cast(familyName); } }; + // Versions before 0.15 defined GBool as int; 0.15 redefined it as bool; 0.71 dropped GBool +#if POPPLER_VERSION_MAJOR == 0 && POPPLER_VERSION_MINOR < 71 +typedef GBool poppler_bool; +#else +typedef bool poppler_bool; +#endif class PDFOutDev : public OutputDev { @@ -151,22 +157,26 @@ namespace pdfi // Does this device use upside-down coordinates? // (Upside-down means (0,0) is the top left corner of the page.) - virtual GBool upsideDown() override { return gTrue; } + virtual poppler_bool upsideDown() override { return true; } // Does this device use drawChar() or drawString()? - virtual GBool useDrawChar() override { return gTrue; } + virtual poppler_bool useDrawChar() override { return true; } // Does this device use beginType3Char/endType3Char? Otherwise, // text in Type 3 fonts will be drawn with drawChar/drawString. - virtual GBool interpretType3Chars() override { return gFalse; } + virtual poppler_bool interpretType3Chars() override { return false; } // Does this device need non-text content? - virtual GBool needNonText() override { return gTrue; } + virtual poppler_bool needNonText() override { return true; } //----- initialization and control // Set default transform matrix. +#if POPPLER_CHECK_VERSION(0, 71, 0) + virtual void setDefaultCTM(const double *ctm) override; +#else virtual void setDefaultCTM(double *ctm) override; +#endif // Start a page. virtual void startPage(int pageNum, GfxState *state @@ -233,40 +243,40 @@ namespace pdfi //----- image drawing virtual void drawImageMask(GfxState *state, Object *ref, Stream *str, - int width, int height, GBool invert, + int width, int height, poppler_bool invert, #if POPPLER_CHECK_VERSION(0, 12, 0) - GBool interpolate, + poppler_bool interpolate, #endif - GBool inlineImg) override; + poppler_bool inlineImg) override; virtual void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, #if POPPLER_CHECK_VERSION(0, 12, 0) - GBool interpolate, + poppler_bool interpolate, #endif - int *maskColors, GBool inlineImg) override; + int *maskColors, poppler_bool inlineImg) override; virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, #if POPPLER_CHECK_VERSION(0, 12, 0) - GBool interpolate, + poppler_bool interpolate, #endif Stream *maskStr, int maskWidth, int maskHeight, - GBool maskInvert + poppler_bool maskInvert #if POPPLER_CHECK_VERSION(0, 12, 0) - , GBool maskInterpolate + , poppler_bool maskInterpolate #endif ) override; virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, #if POPPLER_CHECK_VERSION(0, 12, 0) - GBool interpolate, + poppler_bool interpolate, #endif Stream *maskStr, int maskWidth, int maskHeight, GfxImageColorMap *maskColorMap #if POPPLER_CHECK_VERSION(0, 12, 0) - , GBool maskInterpolate + , poppler_bool maskInterpolate #endif ) override; @@ -279,7 +289,7 @@ extern FILE* g_binary_out; // note: if you ever change Output_t, please keep in mind that the current code // relies on it being of 8 bit size -typedef Guchar Output_t; +typedef unsigned char Output_t; typedef std::vector< Output_t > OutputBuffer; #endif // INCLUDED_SDEXT_SOURCE_PDFIMPORT_XPDFWRAPPER_PDFIOUTDEV_GPL_HXX diff --git a/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx b/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx index 44f30c0ba..66c175165 100644 --- a/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx +++ b/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx @@ -242,7 +242,7 @@ void PngHelper::createPng( OutputBuffer& o_rOutputBuf, appendIHDR( o_rOutputBuf, width, height, 8, 6 ); // RGBA image // initialize stream - Guchar *p, *pm; + unsigned char *p, *pm; GfxRGB rgb; GfxGray alpha; ImageStream* imgStr = @@ -328,7 +328,7 @@ void PngHelper::createPng( OutputBuffer& o_rOutputBuf, appendIHDR( o_rOutputBuf, width, height, 8, 6 ); // RGBA image // initialize stream - Guchar *p; + unsigned char *p; GfxRGB rgb; ImageStream* imgStr = new ImageStream(str, @@ -374,7 +374,7 @@ void PngHelper::createPng( OutputBuffer& o_rOutputBuf, { for( int x = 0; x < maskWidth; ++x ) { - Guchar aPixel = 0; + unsigned char aPixel = 0; imgStrMask->getPixel( &aPixel ); int nIndex = (y*height/maskHeight) * (width*4+1) + // mapped line (x*width/maskWidth)*4 + 1 + 3 // mapped column diff --git a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx index 16db05afe..cd559cab0 100644 --- a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx +++ b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx @@ -69,7 +69,7 @@ int main(int argc, char **argv) // read config file globalParams = new GlobalParams(); - globalParams->setErrQuiet(gTrue); + globalParams->setErrQuiet(true); #if defined(_MSC_VER) globalParams->setupBaseFonts(nullptr); #endif @@ -143,7 +143,7 @@ int main(int argc, char **argv) i, PDFI_OUTDEV_RESOLUTION, PDFI_OUTDEV_RESOLUTION, - 0, gTrue, gTrue, gTrue); + 0, true, true, true); rDoc.processLinks(&aOutDev, i); }