<pre style='margin:0'>
Eric A. Borisch (eborisch) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/8fbd7a1ba97eb218cc2f98c943321b33e6ab8495">https://github.com/macports/macports-ports/commit/8fbd7a1ba97eb218cc2f98c943321b33e6ab8495</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 8fbd7a1b scribus-devel: Update to work with latest poppler
</span>8fbd7a1b is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 8fbd7a1ba97eb218cc2f98c943321b33e6ab8495
</span>Author: Eric A. Borisch <eborisch@macports.org>
AuthorDate: Tue Jul 3 15:53:05 2018 -0500
<span style='display:block; white-space:pre;color:#404040;'> scribus-devel: Update to work with latest poppler
</span>---
print/scribus-devel/Portfile | 4 +-
print/scribus-devel/files/poppler.patch | 1028 +++++++++++++++++++++++++++++++
2 files changed, 1031 insertions(+), 1 deletion(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/print/scribus-devel/Portfile b/print/scribus-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1fab84d..894399a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/print/scribus-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/print/scribus-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup cmake 1.0
</span> PortGroup qt5 1.0
name scribus-devel
version 1.5.4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 2
</span> categories print
license LGPL-2+ BSD MIT
platforms darwin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -84,6 +84,8 @@ variant converters description {Extra file I/O filters} {
</span> cmake.out_of_source yes
build.env HOME=${worksrcpath}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles poppler.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # These can be uncommented to livecheck for the devel version
livecheck.url https://www.scribus.net/downloads/unstable-branch/
livecheck.regex /scribus-devel/(\[a-z0-9\]+(\\.\[a-z0-9\]+)+)/
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/print/scribus-devel/files/poppler.patch b/print/scribus-devel/files/poppler.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..e1ebd1c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/print/scribus-devel/files/poppler.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,1028 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 7d4ceeb5cac32287769e3c0238699e0b3e56c24d Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jean Ghali <jghali@libertysurf.fr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 2 May 2018 14:22:50 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] #15289: FTBFS when using poppler 0.64.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+git-svn-id: svn://scribus.net/trunk/Scribus@22513 11d20701-8431-0410-a711-e3c959e3b870
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ scribus/plugins/import/pdf/slaoutput.cpp | 42 +++++++++++++++++---------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ scribus/plugins/import/pdf/slaoutput.h | 26 +++++++++++++++-----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 42 insertions(+), 26 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 257deb30c6..96847508ba 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scribus/plugins/import/pdf/slaoutput.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scribus/plugins/import/pdf/slaoutput.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,7 +6,7 @@ for which a new license (GPL+exception) is in place.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "slaoutput.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/cpp/poppler-version.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <poppler/GlobalParams.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <poppler/poppler-config.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <poppler/FileSpec.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -20,12 +20,6 @@ for which a new license (GPL+exception) is in place.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "util_math.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <tiffio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define POPPLER_VERSION_ENCODE(major, minor, micro) ( \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ((major) * 10000) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- + ((minor) * 100) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- + ((micro) * 1))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define POPPLER_ENCODED_VERSION POPPLER_VERSION_ENCODE(POPPLER_VERSION_MAJOR, POPPLER_VERSION_MINOR, POPPLER_VERSION_MICRO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LinkSubmitForm::LinkSubmitForm(Object *actionObj)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Object obj1, obj2, obj3;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -44,7 +38,7 @@ LinkSubmitForm::LinkSubmitForm(Object *actionObj)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (obj3.isName())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- char *name = obj3.getName();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ POPPLER_CONST char *name = obj3.getName();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!strcmp(name, "URL"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ obj2 = obj1.dictLookup("F");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -508,8 +502,8 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QString fileName = "";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (act->getKind() == actionGoTo)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- LinkGoTo *gto = (LinkGoTo*)act;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- LinkDest *dst = gto->getDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ LinkGoTo *gto = (LinkGoTo*) act;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ POPPLER_CONST LinkDest *dst = gto->getDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (dst)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (dst->getKind() == destXYZ)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -528,7 +522,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GooString *ndst = gto->getNamedDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ POPPLER_CONST GooString *ndst = gto->getNamedDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (ndst)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LinkDest *dstn = pdfDoc->findDest(ndst);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -555,7 +549,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LinkGoToR *gto = (LinkGoToR*)act;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fileName = UnicodeParsedString(gto->getFileName());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- LinkDest *dst = gto->getDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ POPPLER_CONST LinkDest *dst = gto->getDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (dst)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (dst->getKind() == destXYZ)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -568,7 +562,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GooString *ndst = gto->getNamedDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ POPPLER_CONST GooString *ndst = gto->getNamedDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (ndst)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LinkDest *dstn = pdfDoc->findDest(ndst);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -709,7 +703,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool bgFound = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (achar)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- AnnotColor *bgCol = achar->getBackColor();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ POPPLER_CONST AnnotColor *bgCol = achar->getBackColor();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (bgCol)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bgFound = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -717,7 +711,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CurrColorFill = CommonStrings::None;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- AnnotColor *fgCol = achar->getBorderColor();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ POPPLER_CONST AnnotColor *fgCol = achar->getBorderColor();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (fgCol)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fgFound = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1054,7 +1048,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int xco = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int yco = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LinkGoTo *gto = (LinkGoTo*)Lact;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- LinkDest *dst = gto->getDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ POPPLER_CONST LinkDest *dst = gto->getDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (dst)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (dst->getKind() == destXYZ)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1075,7 +1069,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GooString *ndst = gto->getNamedDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ POPPLER_CONST GooString *ndst = gto->getNamedDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (ndst)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LinkDest *dstn = pdfDoc->findDest(ndst);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1107,7 +1101,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int yco = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LinkGoToR *gto = (LinkGoToR*)Lact;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QString fileName = UnicodeParsedString(gto->getFileName());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- LinkDest *dst = gto->getDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ POPPLER_CONST LinkDest *dst = gto->getDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (dst)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (dst->getKind() == destXYZ)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1123,7 +1117,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GooString *ndst = gto->getNamedDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ POPPLER_CONST GooString *ndst = gto->getNamedDest();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (ndst)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LinkDest *dstn = pdfDoc->findDest(ndst);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3001,6 +2995,14 @@ void SlaOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int widt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ((mm.type() == QTransform::TxShear) || (mm.type() == QTransform::TxRotate))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ite->setImageRotation(-tline.angle());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /*QTransform rotMat;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rotMat.rotate(tline.angle());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QTransform imgMat = m_ctm * rotMat.inverted();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ double scaleX = sqrt(imgMat.m11() * imgMat.m11() + imgMat.m12() * imgMat.m12());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ double scaleY = sqrt(imgMat.m21() * imgMat.m21() + imgMat.m22() * imgMat.m22());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ imgMat.scale(1.0 / scaleX, 1.0 / scaleY);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!imgMat.isIdentity())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ img = img.transformed(imgMat);*/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4031,7 +4033,7 @@ QString SlaOutputDev::getColor(GfxColorSpace *color_space, GfxColor *color, int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return fNam;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-QString SlaOutputDev::getAnnotationColor(AnnotColor *color)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++QString SlaOutputDev::getAnnotationColor(const AnnotColor *color)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QString fNam;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QString namPrefix = "FromPDF";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/scribus/plugins/import/pdf/slaoutput.h b/scribus/plugins/import/pdf/slaoutput.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6698c030e0..7317cae210 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scribus/plugins/import/pdf/slaoutput.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scribus/plugins/import/pdf/slaoutput.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,6 +26,7 @@ for which a new license (GPL+exception) is in place.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "selection.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "vgradient.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/cpp/poppler-version.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <poppler/goo/gtypes.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <poppler/Object.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <poppler/OutputDev.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -49,6 +50,18 @@ for which a new license (GPL+exception) is in place.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <poppler/splash/SplashPath.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <poppler/splash/SplashGlyphBitmap.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define POPPLER_VERSION_ENCODE(major, minor, micro) ( \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ((major) * 10000) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ + ((minor) * 100) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ + ((micro) * 1))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define POPPLER_ENCODED_VERSION POPPLER_VERSION_ENCODE(POPPLER_VERSION_MAJOR, POPPLER_VERSION_MINOR, POPPLER_VERSION_MICRO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 64, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define POPPLER_CONST const
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define POPPLER_CONST
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // LinkSubmitData
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -61,9 +74,9 @@ class LinkSubmitForm: public LinkAction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Destructor.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ virtual ~LinkSubmitForm();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Was the LinkImportData created successfully?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool isOk() { return fileName != NULL; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool isOk() POPPLER_CONST { return fileName != NULL; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Accessors.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual LinkActionKind getKind() { return actionUnknown; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual LinkActionKind getKind() POPPLER_CONST { return actionUnknown; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GooString *getFileName() { return fileName; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int getFlags() { return m_flags; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -83,9 +96,9 @@ class LinkImportData: public LinkAction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Destructor.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ virtual ~LinkImportData();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Was the LinkImportData created successfully?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool isOk() { return fileName != NULL; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool isOk() POPPLER_CONST { return fileName != NULL; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Accessors.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual LinkActionKind getKind() { return actionUnknown; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual LinkActionKind getKind() POPPLER_CONST { return actionUnknown; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GooString *getFileName() { return fileName; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GooString *fileName; // file name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -98,7 +111,7 @@ class SplashOutFontFileID: public SplashFontFileID
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- SplashOutFontFileID(Ref *rA) { r = *rA; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SplashOutFontFileID(const Ref *rA) { r = *rA; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ~SplashOutFontFileID() {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GBool matches(SplashFontFileID *id)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -146,6 +159,7 @@ class SlaOutputDev : public OutputDev
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SlaOutputDev(ScribusDoc* doc, QList<PageItem*> *Elements, QStringList *importedColors, int flags);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ virtual ~SlaOutputDev();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LinkAction* SC_getAction(AnnotWidget *ano);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LinkAction* SC_getAdditionalAction(const char *key, AnnotWidget *ano);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static GBool annotations_callback(Annot *annota, void *user_data);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -261,7 +275,7 @@ class SlaOutputDev : public OutputDev
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void getPenState(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QString getColor(GfxColorSpace *color_space, GfxColor *color, int *shade);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString getAnnotationColor(AnnotColor *color);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString getAnnotationColor(const AnnotColor *color);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QString convertPath(GfxPath *path);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int getBlendMode(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void applyMask(PageItem *ite);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 76561c1a55cd07c268f8f2b2fea888532933700b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jean Ghali <jghali@libertysurf.fr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 2 May 2018 15:12:35 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Amend r22498 so as to allow building with the old poppler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ version (< 0.35.0) used by travis
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+git-svn-id: svn://scribus.net/trunk/Scribus@22514 11d20701-8431-0410-a711-e3c959e3b870
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ scribus/plugins/import/pdf/importpdf.cpp | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ scribus/plugins/import/pdf/importpdf.h | 12 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ scribus/plugins/import/pdf/importpdfconfig.h | 24 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ scribus/plugins/import/pdf/slaoutput.cpp | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ scribus/plugins/import/pdf/slaoutput.h | 671 +++++++++++++--------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 5 files changed, 362 insertions(+), 349 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 scribus/plugins/import/pdf/importpdfconfig.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d4c5a9ba49..6dca080014 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scribus/plugins/import/pdf/importpdf.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scribus/plugins/import/pdf/importpdf.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1081,7 +1081,7 @@ QRectF PdfPlug::getCBox(int box, int pgNum)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return cRect;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-QString PdfPlug::UnicodeParsedString(GooString *s1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++QString PdfPlug::UnicodeParsedString(POPPLER_CONST GooString *s1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ( !s1 || s1->getLength() == 0 )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return QString();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/scribus/plugins/import/pdf/importpdf.h b/scribus/plugins/import/pdf/importpdf.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5249562692..fbf607bf03 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scribus/plugins/import/pdf/importpdf.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scribus/plugins/import/pdf/importpdf.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7,11 +7,6 @@ for which a new license (GPL+exception) is in place.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef IMPORTPDF_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define IMPORTPDF_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "pluginapi.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "pageitem.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "sccolor.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "fpointarray.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <QList>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <QTransform>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <QMultiMap>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,6 +21,11 @@ for which a new license (GPL+exception) is in place.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <QPen>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <QImage>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "fpointarray.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "importpdfconfig.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "pluginapi.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "pageitem.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "sccolor.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ class QColor;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ class QMatrix;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -81,7 +81,7 @@ class PdfPlug : public QObject
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool convert(const QString& fn);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QRectF getCBox(int box, int pgNum);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString UnicodeParsedString(GooString *s1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString UnicodeParsedString(POPPLER_CONST GooString *s1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ QList<PageItem*> Elements;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ double baseX, baseY;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/scribus/plugins/import/pdf/importpdfconfig.h b/scribus/plugins/import/pdf/importpdfconfig.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+new file mode 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0000000000..769594bcd0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scribus/plugins/import/pdf/importpdfconfig.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,24 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++For general Scribus (>=1.3.2) copyright and licensing information please refer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++to the COPYING file provided with the program. Following this notice may exist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++a copyright and/or license notice that predates the release of Scribus 1.3.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++for which a new license (GPL+exception) is in place.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef IMPORTPDFCONFIG_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define IMPORTPDFCONFIG_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/cpp/poppler-version.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define POPPLER_VERSION_ENCODE(major, minor, micro) ( \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ((major) * 10000) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ + ((minor) * 100) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ + ((micro) * 1))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define POPPLER_ENCODED_VERSION POPPLER_VERSION_ENCODE(POPPLER_VERSION_MAJOR, POPPLER_VERSION_MINOR, POPPLER_VERSION_MICRO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 64, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define POPPLER_CONST const
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define POPPLER_CONST
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 96847508ba..08ef72698a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scribus/plugins/import/pdf/slaoutput.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scribus/plugins/import/pdf/slaoutput.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4253,7 +4253,7 @@ void SlaOutputDev::pushGroup(QString maskName, GBool forSoftMask, GBool alpha, b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m_groupStack.push(gElements);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-QString SlaOutputDev::UnicodeParsedString(GooString *s1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++QString SlaOutputDev::UnicodeParsedString(POPPLER_CONST GooString *s1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ( !s1 || s1->getLength() == 0 )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return QString();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/scribus/plugins/import/pdf/slaoutput.h b/scribus/plugins/import/pdf/slaoutput.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7317cae210..b8497d94de 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- scribus/plugins/import/pdf/slaoutput.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ scribus/plugins/import/pdf/slaoutput.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,341 +1,330 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-For general Scribus (>=1.3.2) copyright and licensing information please refer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-to the COPYING file provided with the program. Following this notice may exist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-a copyright and/or license notice that predates the release of Scribus 1.3.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-for which a new license (GPL+exception) is in place.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-*/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef SLAOUTPUT_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define SLAOUTPUT_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <QString>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <QTextStream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <QSizeF>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <QBuffer>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <QColor>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <QBrush>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <QPen>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <QImage>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <QList>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <QTransform>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <QStack>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <QDebug>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "fpointarray.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "pageitem.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "scribusdoc.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "scribusview.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "selection.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "vgradient.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/cpp/poppler-version.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/goo/gtypes.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/Object.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/OutputDev.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/Gfx.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/GfxState.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/Stream.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/GfxFont.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/Link.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/PDFDoc.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/Error.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/Form.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/Page.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/Catalog.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/CharCodeToUnicode.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/FontEncodingTables.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/splash/SplashFontFileID.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/splash/SplashFontFile.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/splash/SplashFontEngine.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/splash/SplashFont.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/splash/SplashMath.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/splash/SplashPath.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <poppler/splash/SplashGlyphBitmap.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define POPPLER_VERSION_ENCODE(major, minor, micro) ( \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ((major) * 10000) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- + ((minor) * 100) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- + ((micro) * 1))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define POPPLER_ENCODED_VERSION POPPLER_VERSION_ENCODE(POPPLER_VERSION_MAJOR, POPPLER_VERSION_MINOR, POPPLER_VERSION_MICRO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 64, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define POPPLER_CONST const
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define POPPLER_CONST
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-//------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// LinkSubmitData
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-//------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-class LinkSubmitForm: public LinkAction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // Build a LinkImportData from an action dictionary.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- LinkSubmitForm(Object *actionObj);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // Destructor.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual ~LinkSubmitForm();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // Was the LinkImportData created successfully?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool isOk() POPPLER_CONST { return fileName != NULL; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // Accessors.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual LinkActionKind getKind() POPPLER_CONST { return actionUnknown; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GooString *getFileName() { return fileName; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int getFlags() { return m_flags; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GooString *fileName; // file name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int m_flags;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-//------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// LinkImportData
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-//------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-class LinkImportData: public LinkAction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // Build a LinkImportData from an action dictionary.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- LinkImportData(Object *actionObj);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // Destructor.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual ~LinkImportData();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // Was the LinkImportData created successfully?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool isOk() POPPLER_CONST { return fileName != NULL; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // Accessors.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual LinkActionKind getKind() POPPLER_CONST { return actionUnknown; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GooString *getFileName() { return fileName; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GooString *fileName; // file name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-//------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// SplashOutFontFileID
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-//------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-class SplashOutFontFileID: public SplashFontFileID
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- SplashOutFontFileID(const Ref *rA) { r = *rA; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ~SplashOutFontFileID() {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GBool matches(SplashFontFileID *id)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return ((SplashOutFontFileID *)id)->r.num == r.num && ((SplashOutFontFileID *)id)->r.gen == r.gen;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Ref r;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-class AnoOutputDev : public OutputDev
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- AnoOutputDev(ScribusDoc* doc, QStringList *importedColors);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual ~AnoOutputDev();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GBool isOk() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool upsideDown() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool useDrawChar() { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool interpretType3Chars() { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool useTilingPatternFill() { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool useShadedFills(int type) { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool useFillColorStop() { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool useDrawForm() { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void stroke(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void eoFill(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void fill(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void drawString(GfxState *state, GooString *s);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString CurrColorText;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString CurrColorFill;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString CurrColorStroke;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- double m_fontSize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GooString *m_fontName;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GooString *m_itemText;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString getColor(GfxColorSpace *color_space, GfxColor *color, int *shade);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ScribusDoc* m_doc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QStringList *m_importedColors;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-class SlaOutputDev : public OutputDev
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- SlaOutputDev(ScribusDoc* doc, QList<PageItem*> *Elements, QStringList *importedColors, int flags);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual ~SlaOutputDev();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- LinkAction* SC_getAction(AnnotWidget *ano);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- LinkAction* SC_getAdditionalAction(const char *key, AnnotWidget *ano);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- static GBool annotations_callback(Annot *annota, void *user_data);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- bool handleTextAnnot(Annot* annota, double xCoor, double yCoor, double width, double height);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- bool handleLinkAnnot(Annot* annota, double xCoor, double yCoor, double width, double height);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- bool handleWidgetAnnot(Annot* annota, double xCoor, double yCoor, double width, double height);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- void applyTextStyle(PageItem* ite, QString fontName, QString textColor, double fontSize);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- void handleActions(PageItem* ite, AnnotWidget *ano);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- void startDoc(PDFDoc *doc, XRef *xrefA, Catalog *catA);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GBool isOk() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool upsideDown() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool useDrawChar() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool interpretType3Chars() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool useTilingPatternFill() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool useShadedFills(int type) { return type <= 7; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool useFillColorStop() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool useDrawForm() { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-// virtual GBool needClipToCropBox() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void startPage(int pageNum, GfxState *, XRef *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void endPage();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // graphics state
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void saveState(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void restoreState(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- //----- path painting
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void stroke(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void fill(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void eoFill(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, Object *str, double *pmat, int paintType, int tilingType, Dict *resDict, double *mat, double *bbox, int x0, int y0, int x1, int y1, double xStep, double yStep);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool functionShadedFill(GfxState * /*state*/, GfxFunctionShading * /*shading*/) { qDebug() << "Function Shaded Fill"; return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool axialShadedFill(GfxState *state, GfxAxialShading *shading, double tMin, double tMax);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool axialShadedSupportExtend(GfxState *state, GfxAxialShading *shading) { return (shading->getExtend0() == shading->getExtend1()); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool radialShadedFill(GfxState *state, GfxRadialShading *shading, double sMin, double sMax);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool radialShadedSupportExtend(GfxState *state, GfxRadialShading *shading) { return (shading->getExtend0() == shading->getExtend1()); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool gouraudTriangleShadedFill(GfxState *state, GfxGouraudTriangleShading *shading);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool patchMeshShadedFill(GfxState *state, GfxPatchMeshShading *shading);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- //----- path clipping
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void clip(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void eoClip(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void clipToStrokePath(GfxState * /*state*/) { qDebug() << "Clip to StrokePath"; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool deviceHasTextClip(GfxState *state) { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // If current colorspace is pattern,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // does this device support text in pattern colorspace?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool supportTextCSPattern(GfxState *state)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return state->getFillColorSpace()->getMode() == csPattern;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // If current colorspace is pattern,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- // need this device special handling for masks in pattern colorspace?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool fillMaskCSPattern(GfxState * state)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return state->getFillColorSpace()->getMode() == csPattern;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void endMaskClip(GfxState *state) { qDebug() << "End Mask Clip"; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- //----- grouping operators
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void beginMarkedContent(char *name, Dict *properties);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void beginMarkedContent(char *name, Object *dictRef);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void endMarkedContent(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void markPoint(char *name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void markPoint(char *name, Dict *properties);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- //----- image drawing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void drawImageMask(GfxState *state, Object *ref, Stream *str, int width, int height, GBool invert, GBool interpolate, GBool inlineImg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, int *maskColors, GBool inlineImg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int width, int height,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GfxImageColorMap *colorMap,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GBool interpolate,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Stream *maskStr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int maskWidth, int maskHeight,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GfxImageColorMap *maskColorMap,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GBool maskInterpolate);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int width, int height,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GfxImageColorMap *colorMap,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GBool interpolate,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Stream *maskStr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int maskWidth, int maskHeight,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GBool maskInvert, GBool maskInterpolate); // { qDebug() << "Draw Masked Image"; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- //----- transparency groups and soft masks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void beginTransparencyGroup(GfxState *state, double *bbox, GfxColorSpace * /*blendingColorSpace*/, GBool /*isolated*/, GBool /*knockout*/, GBool /*forSoftMask*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void paintTransparencyGroup(GfxState *state, double *bbox);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void endTransparencyGroup(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void setSoftMask(GfxState * /*state*/, double * /*bbox*/, GBool /*alpha*/, Function * /*transferFunc*/, GfxColor * /*backdropColor*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void clearSoftMask(GfxState * /*state*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void updateFillColor(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void updateStrokeColor(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void updateFont(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- //----- text drawing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void beginTextObject(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void endTextObject(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- 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*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual GBool beginType3Char(GfxState * /*state*/, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, CharCode /*code*/, Unicode * /*u*/, int /*uLen*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void endType3Char(GfxState * /*state*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void type3D0(GfxState * /*state*/, double /*wx*/, double /*wy*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void type3D1(GfxState * /*state*/, double /*wx*/, double /*wy*/, double /*llx*/, double /*lly*/, double /*urx*/, double /*ury*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- //----- form XObjects
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void drawForm(Ref /*id*/) { qDebug() << "Draw Form"; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- //----- links
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- virtual void processLink(AnnotLink * /*link*/) { qDebug() << "Draw Link"; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- bool layersSetByOCG;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- double cropOffsetX;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- double cropOffsetY;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int rotate;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- void getPenState(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString getColor(GfxColorSpace *color_space, GfxColor *color, int *shade);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString getAnnotationColor(const AnnotColor *color);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString convertPath(GfxPath *path);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int getBlendMode(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- void applyMask(PageItem *ite);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- void pushGroup(QString maskName = "", GBool forSoftMask = gFalse, GBool alpha = gFalse, bool inverted = false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString UnicodeParsedString(GooString *s1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- bool checkClip();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- bool pathIsClosed;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString CurrColorFill;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int CurrFillShade;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString CurrColorStroke;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int CurrStrokeShade;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Qt::PenCapStyle PLineEnd;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Qt::PenJoinStyle PLineJoin;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QVector<double> DashValues;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- double DashOffset;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString Coords;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- FPointArray m_currentClipPath;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QStack<FPointArray> m_clipPaths;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- struct groupEntry
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QList<PageItem*> Items;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GBool forSoftMask;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GBool isolated;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- GBool alpha;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString maskName;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- bool inverted;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QStack<groupEntry> m_groupStack;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString m_currentMask;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ScribusDoc* m_doc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Selection* tmpSel;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QList<PageItem*> *m_Elements;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QStringList *m_importedColors;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QTransform m_ctm;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- struct F3Entry
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- bool colored;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QStack<F3Entry> m_F3Stack;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- struct mContent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString name;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QString ocgName;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QStack<mContent> m_mcStack;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int inPattern;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int layerNum;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int currentLayer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- bool firstLayer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int importerFlags;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int updateGUICounter;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- XRef *xref; // xref table for current document
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- PDFDoc *pdfDoc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- Catalog *catalog;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- SplashFontEngine *m_fontEngine;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- SplashFont *m_font;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- FormPageWidgets *m_formWidgets;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QHash<QString, QList<int> > m_radioMap;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- QHash<int, PageItem*> m_radioButtons;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int m_actPage;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++For general Scribus (>=1.3.2) copyright and licensing information please refer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++to the COPYING file provided with the program. Following this notice may exist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++a copyright and/or license notice that predates the release of Scribus 1.3.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++for which a new license (GPL+exception) is in place.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef SLAOUTPUT_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SLAOUTPUT_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <QBuffer>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <QColor>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <QBrush>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <QDebug>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <QImage>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <QPen>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <QList>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <QSizeF>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <QStack>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <QString>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <QTextStream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <QTransform>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "fpointarray.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "importpdfconfig.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "pageitem.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "scribusdoc.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "scribusview.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "selection.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "vgradient.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/goo/gtypes.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/Object.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/OutputDev.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/Gfx.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/GfxState.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/Stream.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/GfxFont.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/Link.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/PDFDoc.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/Error.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/Form.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/Page.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/Catalog.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/CharCodeToUnicode.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/FontEncodingTables.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/splash/SplashFontFileID.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/splash/SplashFontFile.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/splash/SplashFontEngine.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/splash/SplashFont.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/splash/SplashMath.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/splash/SplashPath.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <poppler/splash/SplashGlyphBitmap.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// LinkSubmitData
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++class LinkSubmitForm: public LinkAction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Build a LinkImportData from an action dictionary.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ LinkSubmitForm(Object *actionObj);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Destructor.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual ~LinkSubmitForm();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Was the LinkImportData created successfully?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool isOk() POPPLER_CONST { return fileName != NULL; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Accessors.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual LinkActionKind getKind() POPPLER_CONST { return actionUnknown; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GooString *getFileName() { return fileName; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int getFlags() { return m_flags; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GooString *fileName; // file name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int m_flags;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// LinkImportData
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++class LinkImportData: public LinkAction
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Build a LinkImportData from an action dictionary.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ LinkImportData(Object *actionObj);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Destructor.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual ~LinkImportData();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Was the LinkImportData created successfully?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool isOk() POPPLER_CONST { return fileName != NULL; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // Accessors.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual LinkActionKind getKind() POPPLER_CONST { return actionUnknown; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GooString *getFileName() { return fileName; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GooString *fileName; // file name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// SplashOutFontFileID
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++class SplashOutFontFileID: public SplashFontFileID
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SplashOutFontFileID(const Ref *rA) { r = *rA; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ~SplashOutFontFileID() {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GBool matches(SplashFontFileID *id)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return ((SplashOutFontFileID *)id)->r.num == r.num && ((SplashOutFontFileID *)id)->r.gen == r.gen;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Ref r;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++class AnoOutputDev : public OutputDev
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ AnoOutputDev(ScribusDoc* doc, QStringList *importedColors);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual ~AnoOutputDev();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GBool isOk() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool upsideDown() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool useDrawChar() { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool interpretType3Chars() { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool useTilingPatternFill() { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool useShadedFills(int type) { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool useFillColorStop() { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool useDrawForm() { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void stroke(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void eoFill(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void fill(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void drawString(GfxState *state, GooString *s);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString CurrColorText;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString CurrColorFill;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString CurrColorStroke;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ double m_fontSize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GooString *m_fontName;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GooString *m_itemText;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString getColor(GfxColorSpace *color_space, GfxColor *color, int *shade);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ScribusDoc* m_doc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QStringList *m_importedColors;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++class SlaOutputDev : public OutputDev
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SlaOutputDev(ScribusDoc* doc, QList<PageItem*> *Elements, QStringList *importedColors, int flags);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual ~SlaOutputDev();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ LinkAction* SC_getAction(AnnotWidget *ano);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ LinkAction* SC_getAdditionalAction(const char *key, AnnotWidget *ano);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ static GBool annotations_callback(Annot *annota, void *user_data);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool handleTextAnnot(Annot* annota, double xCoor, double yCoor, double width, double height);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool handleLinkAnnot(Annot* annota, double xCoor, double yCoor, double width, double height);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool handleWidgetAnnot(Annot* annota, double xCoor, double yCoor, double width, double height);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ void applyTextStyle(PageItem* ite, QString fontName, QString textColor, double fontSize);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ void handleActions(PageItem* ite, AnnotWidget *ano);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ void startDoc(PDFDoc *doc, XRef *xrefA, Catalog *catA);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GBool isOk() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool upsideDown() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool useDrawChar() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool interpretType3Chars() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool useTilingPatternFill() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool useShadedFills(int type) { return type <= 7; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool useFillColorStop() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool useDrawForm() { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// virtual GBool needClipToCropBox() { return gTrue; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void startPage(int pageNum, GfxState *, XRef *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void endPage();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // graphics state
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void saveState(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void restoreState(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ //----- path painting
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void stroke(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void fill(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void eoFill(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, Object *str, double *pmat, int paintType, int tilingType, Dict *resDict, double *mat, double *bbox, int x0, int y0, int x1, int y1, double xStep, double yStep);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool functionShadedFill(GfxState * /*state*/, GfxFunctionShading * /*shading*/) { qDebug() << "Function Shaded Fill"; return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool axialShadedFill(GfxState *state, GfxAxialShading *shading, double tMin, double tMax);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool axialShadedSupportExtend(GfxState *state, GfxAxialShading *shading) { return (shading->getExtend0() == shading->getExtend1()); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool radialShadedFill(GfxState *state, GfxRadialShading *shading, double sMin, double sMax);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool radialShadedSupportExtend(GfxState *state, GfxRadialShading *shading) { return (shading->getExtend0() == shading->getExtend1()); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool gouraudTriangleShadedFill(GfxState *state, GfxGouraudTriangleShading *shading);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool patchMeshShadedFill(GfxState *state, GfxPatchMeshShading *shading);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ //----- path clipping
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void clip(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void eoClip(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void clipToStrokePath(GfxState * /*state*/) { qDebug() << "Clip to StrokePath"; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool deviceHasTextClip(GfxState *state) { return gFalse; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // If current colorspace is pattern,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // does this device support text in pattern colorspace?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool supportTextCSPattern(GfxState *state)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return state->getFillColorSpace()->getMode() == csPattern;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // If current colorspace is pattern,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ // need this device special handling for masks in pattern colorspace?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool fillMaskCSPattern(GfxState * state)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return state->getFillColorSpace()->getMode() == csPattern;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void endMaskClip(GfxState *state) { qDebug() << "End Mask Clip"; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ //----- grouping operators
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void beginMarkedContent(char *name, Dict *properties);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void beginMarkedContent(char *name, Object *dictRef);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void endMarkedContent(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void markPoint(char *name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void markPoint(char *name, Dict *properties);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ //----- image drawing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void drawImageMask(GfxState *state, Object *ref, Stream *str, int width, int height, GBool invert, GBool interpolate, GBool inlineImg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, int *maskColors, GBool inlineImg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int width, int height,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GfxImageColorMap *colorMap,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GBool interpolate,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Stream *maskStr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int maskWidth, int maskHeight,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GfxImageColorMap *maskColorMap,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GBool maskInterpolate);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int width, int height,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GfxImageColorMap *colorMap,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GBool interpolate,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Stream *maskStr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int maskWidth, int maskHeight,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GBool maskInvert, GBool maskInterpolate); // { qDebug() << "Draw Masked Image"; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ //----- transparency groups and soft masks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void beginTransparencyGroup(GfxState *state, double *bbox, GfxColorSpace * /*blendingColorSpace*/, GBool /*isolated*/, GBool /*knockout*/, GBool /*forSoftMask*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void paintTransparencyGroup(GfxState *state, double *bbox);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void endTransparencyGroup(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void setSoftMask(GfxState * /*state*/, double * /*bbox*/, GBool /*alpha*/, Function * /*transferFunc*/, GfxColor * /*backdropColor*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void clearSoftMask(GfxState * /*state*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void updateFillColor(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void updateStrokeColor(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void updateFont(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ //----- text drawing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void beginTextObject(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void endTextObject(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 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*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual GBool beginType3Char(GfxState * /*state*/, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, CharCode /*code*/, Unicode * /*u*/, int /*uLen*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void endType3Char(GfxState * /*state*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void type3D0(GfxState * /*state*/, double /*wx*/, double /*wy*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void type3D1(GfxState * /*state*/, double /*wx*/, double /*wy*/, double /*llx*/, double /*lly*/, double /*urx*/, double /*ury*/);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ //----- form XObjects
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void drawForm(Ref /*id*/) { qDebug() << "Draw Form"; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ //----- links
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ virtual void processLink(AnnotLink * /*link*/) { qDebug() << "Draw Link"; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool layersSetByOCG;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ double cropOffsetX;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ double cropOffsetY;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int rotate;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ void getPenState(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString getColor(GfxColorSpace *color_space, GfxColor *color, int *shade);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString getAnnotationColor(const AnnotColor *color);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString convertPath(GfxPath *path);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int getBlendMode(GfxState *state);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ void applyMask(PageItem *ite);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ void pushGroup(QString maskName = "", GBool forSoftMask = gFalse, GBool alpha = gFalse, bool inverted = false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString UnicodeParsedString(POPPLER_CONST GooString *s1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool checkClip();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool pathIsClosed;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString CurrColorFill;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int CurrFillShade;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString CurrColorStroke;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int CurrStrokeShade;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Qt::PenCapStyle PLineEnd;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Qt::PenJoinStyle PLineJoin;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QVector<double> DashValues;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ double DashOffset;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString Coords;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ FPointArray m_currentClipPath;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QStack<FPointArray> m_clipPaths;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ struct groupEntry
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QList<PageItem*> Items;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GBool forSoftMask;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GBool isolated;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ GBool alpha;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString maskName;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool inverted;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QStack<groupEntry> m_groupStack;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString m_currentMask;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ScribusDoc* m_doc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Selection* tmpSel;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QList<PageItem*> *m_Elements;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QStringList *m_importedColors;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QTransform m_ctm;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ struct F3Entry
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool colored;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QStack<F3Entry> m_F3Stack;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ struct mContent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString name;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QString ocgName;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QStack<mContent> m_mcStack;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int inPattern;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int layerNum;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int currentLayer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ bool firstLayer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int importerFlags;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int updateGUICounter;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ XRef *xref; // xref table for current document
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ PDFDoc *pdfDoc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ Catalog *catalog;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SplashFontEngine *m_fontEngine;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ SplashFont *m_font;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ FormPageWidgets *m_formWidgets;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QHash<QString, QList<int> > m_radioMap;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ QHash<int, PageItem*> m_radioButtons;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int m_actPage;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span></pre><pre style='margin:0'>
</pre>