diff --git a/src/pdf/XPDFRenderer.cpp b/src/pdf/XPDFRenderer.cpp index b2a3fbe8..e0ee4ac3 100644 --- a/src/pdf/XPDFRenderer.cpp +++ b/src/pdf/XPDFRenderer.cpp @@ -38,21 +38,28 @@ #include "core/memcheck.h" +#ifdef XPDFRENDERER_CACHE_ZOOM_IMAGE #ifdef XPDFRENDERER_CACHE_ZOOM_WITH_LOSS double const XPDFRenderer::sRatioZoomRendering[] = { 3.0 }; #else //XPDFRENDERER_CACHE_ZOOM_WITH_LOSS double const XPDFRenderer::sRatioZoomRendering[] = { 2.5, 5, 10.0 }; #endif //XPDFRENDERER_CACHE_ZOOM_WITH_LOSS +#endif //XPDFRENDERER_CACHE_ZOOM_IMAGE QAtomicInt XPDFRenderer::sInstancesCount = 0; -XPDFRenderer::XPDFRenderer(const QString &filename, bool importingFile) - : mDocument(0) +XPDFRenderer::XPDFRenderer(const QString &filename, bool importingFile) : +#ifndef XPDFRENDERER_CACHE_ZOOM_IMAGE + mSplash(nullptr), +#endif //XPDFRENDERER_CACHE_ZOOM_IMAGE + mDocument(0) { +#ifdef XPDFRENDERER_CACHE_ZOOM_IMAGE for (int i = 0; i < NbrZoomCache; i++) { m_cache.push_back(TypeCacheData(sRatioZoomRendering[i])); } +#endif //XPDFRENDERER_CACHE_ZOOM_IMAGE Q_UNUSED(importingFile); if (!globalParams) @@ -76,6 +83,7 @@ XPDFRenderer::XPDFRenderer(const QString &filename, bool importingFile) XPDFRenderer::~XPDFRenderer() { +#ifdef XPDFRENDERER_CACHE_ZOOM_IMAGE for(int i = 0; i < m_cache.size(); i++) { TypeCacheData &cacheData = m_cache[i]; @@ -85,6 +93,7 @@ XPDFRenderer::~XPDFRenderer() cacheData.splash = nullptr; } } +#endif //XPDFRENDERER_CACHE_ZOOM_IMAGE if (mDocument) { diff --git a/src/pdf/XPDFRenderer.h b/src/pdf/XPDFRenderer.h index 37387dc6..fef8b411 100644 --- a/src/pdf/XPDFRenderer.h +++ b/src/pdf/XPDFRenderer.h @@ -99,19 +99,22 @@ class XPDFRenderer : public PDFRenderer }; QImage &createPDFImage(int pageNumber, TypeCacheData &cacheData); + + static const double sRatioZoomRendering[NbrZoomCache]; + QVector m_cache; #else QImage* createPDFImage(int pageNumber, qreal xscale = 0.5, qreal yscale = 0.5, const QRectF &bounds = QRectF()); + + SplashBitmap* mpSplashBitmap; + SplashOutputDev* mSplash; #endif PDFDoc *mDocument; static QAtomicInt sInstancesCount; //! The image is rendered with a quality above normal, so we can use that same //! image while zooming. - static const double sRatioZoomRendering[NbrZoomCache]; qreal mSliceX; qreal mSliceY; - - QVector m_cache; }; #endif // XPDFRENDERER_H