summaryrefslogtreecommitdiff
path: root/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc')
-rw-r--r--Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc306
1 files changed, 131 insertions, 175 deletions
diff --git a/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc b/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc
index 093baa94ef9..28174356949 100644
--- a/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc
+++ b/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc
@@ -15,7 +15,7 @@
//
// Copyright (C) 2005 Takashi Iwai <tiwai@suse.de>
// Copyright (C) 2006 Stefan Schweizer <genstef@gentoo.org>
-// Copyright (C) 2006-2016 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006-2017 Albert Astals Cid <aacid@kde.org>
// Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
// Copyright (C) 2006 Scott Turner <scotty1024@mac.com>
// Copyright (C) 2007 Koji Otani <sho@bbr.jp>
@@ -29,7 +29,7 @@
// Copyright (C) 2010 Christian Feuersänger <cfeuersaenger@googlemail.com>
// Copyright (C) 2011 Andreas Hartmetz <ahartmetz@gmail.com>
// Copyright (C) 2011 Andrea Canciani <ranma42@gmail.com>
-// Copyright (C) 2011, 2012 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2011, 2012, 2017 Adrian Johnson <ajohnson@redneon.com>
// Copyright (C) 2013 Lu Wang <coolwanglu@gmail.com>
// Copyright (C) 2013 Li Junling <lijunling@sina.com>
// Copyright (C) 2014 Ed Porras <ed@moto-research.com>
@@ -37,6 +37,7 @@
// Copyright (C) 2015 Tamas Szekeres <szekerest@gmail.com>
// Copyright (C) 2015 Kenji Uno <ku@digitaldolphins.jp>
// Copyright (C) 2016 Takahiro Hashimoto <kenya888.en@gmail.com>
+// Copyright (C) 2017 Even Rouault <even.rouault@spatialys.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -50,7 +51,7 @@
#endif
#include <string.h>
-#include <math.h>
+#include <cmath>
#include "goo/gfile.h"
#include "GlobalParams.h"
#include "Error.h"
@@ -83,24 +84,7 @@ extern "C" int unlink(char *filename);
#endif
#endif
-#ifdef _MSC_VER
-#include <float.h>
-#define isfinite(x) _finite(x)
-#endif
-
-#ifdef __sun
-#include <ieeefp.h>
-#ifndef isfinite
-#define isfinite(x) finite(x)
-#endif
-#endif
-
-#if __cplusplus > 199711L
-#include <cmath>
-#ifndef isfinite
-#define isfinite(x) std::isfinite(x)
-#endif
-#endif
+static const double s_minLineWidth = 0.0;
static inline void convertGfxColor(SplashColorPtr dest,
SplashColorMode colorMode,
@@ -109,14 +93,14 @@ static inline void convertGfxColor(SplashColorPtr dest,
SplashColor color;
GfxGray gray;
GfxRGB rgb;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
GfxCMYK cmyk;
GfxColor deviceN;
#endif
// make gcc happy
color[0] = color[1] = color[2] = 0;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
color[3] = 0;
#endif
switch (colorMode) {
@@ -127,6 +111,7 @@ static inline void convertGfxColor(SplashColorPtr dest,
break;
case splashModeXBGR8:
color[3] = 255;
+ // fallthrough
case splashModeBGR8:
case splashModeRGB8:
colorSpace->getRGB(src, &rgb);
@@ -134,7 +119,7 @@ static inline void convertGfxColor(SplashColorPtr dest,
color[1] = colToByte(rgb.g);
color[2] = colToByte(rgb.b);
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
colorSpace->getCMYK(src, &cmyk);
color[0] = colToByte(cmyk.c);
@@ -174,6 +159,7 @@ static inline void convertGfxShortColor(SplashColorPtr dest,
break;
case splashModeXBGR8:
dest[3] = 255;
+ // fallthrough
case splashModeBGR8:
case splashModeRGB8:
{
@@ -184,7 +170,7 @@ static inline void convertGfxShortColor(SplashColorPtr dest,
dest[2] = colToByte(rgb.b);
}
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
{
GfxCMYK cmyk;
@@ -230,7 +216,7 @@ void SplashGouraudPattern::getParameterizedColor(double colorinterp, SplashColor
GfxColor src;
GfxColorSpace* srcColorSpace = shading->getColorSpace();
int colorComps = 3;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (mode == splashModeCMYK8)
colorComps=4;
else if (mode == splashModeDeviceN8)
@@ -511,7 +497,7 @@ static inline Guchar div255(int x) {
return (Guchar)((x + (x >> 8) + 0x80) >> 8);
}
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
#include "GfxState_helpers.h"
@@ -567,7 +553,7 @@ static void splashOutBlendMultiply(SplashColorPtr src, SplashColorPtr dest,
SplashColorPtr blend, SplashColorMode cm) {
int i;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -580,7 +566,7 @@ static void splashOutBlendMultiply(SplashColorPtr src, SplashColorPtr dest,
blend[i] = (dest[i] * src[i]) / 255;
}
}
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -595,7 +581,7 @@ static void splashOutBlendScreen(SplashColorPtr src, SplashColorPtr dest,
SplashColorPtr blend, SplashColorMode cm) {
int i;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -608,7 +594,7 @@ static void splashOutBlendScreen(SplashColorPtr src, SplashColorPtr dest,
blend[i] = dest[i] + src[i] - (dest[i] * src[i]) / 255;
}
}
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -623,7 +609,7 @@ static void splashOutBlendOverlay(SplashColorPtr src, SplashColorPtr dest,
SplashColorPtr blend, SplashColorMode cm) {
int i;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -638,7 +624,7 @@ static void splashOutBlendOverlay(SplashColorPtr src, SplashColorPtr dest,
: 255 - 2 * ((255 - src[i]) * (255 - dest[i])) / 255;
}
}
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -653,7 +639,7 @@ static void splashOutBlendDarken(SplashColorPtr src, SplashColorPtr dest,
SplashColorPtr blend, SplashColorMode cm) {
int i;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -666,7 +652,7 @@ static void splashOutBlendDarken(SplashColorPtr src, SplashColorPtr dest,
blend[i] = dest[i] < src[i] ? dest[i] : src[i];
}
}
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -681,7 +667,7 @@ static void splashOutBlendLighten(SplashColorPtr src, SplashColorPtr dest,
SplashColorPtr blend, SplashColorMode cm) {
int i;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -694,7 +680,7 @@ static void splashOutBlendLighten(SplashColorPtr src, SplashColorPtr dest,
blend[i] = dest[i] > src[i] ? dest[i] : src[i];
}
}
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -710,7 +696,7 @@ static void splashOutBlendColorDodge(SplashColorPtr src, SplashColorPtr dest,
SplashColorMode cm) {
int i, x;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -728,7 +714,7 @@ static void splashOutBlendColorDodge(SplashColorPtr src, SplashColorPtr dest,
}
}
}
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -743,7 +729,7 @@ static void splashOutBlendColorBurn(SplashColorPtr src, SplashColorPtr dest,
SplashColorPtr blend, SplashColorMode cm) {
int i, x;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -761,7 +747,7 @@ static void splashOutBlendColorBurn(SplashColorPtr src, SplashColorPtr dest,
}
}
}
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -776,7 +762,7 @@ static void splashOutBlendHardLight(SplashColorPtr src, SplashColorPtr dest,
SplashColorPtr blend, SplashColorMode cm) {
int i;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -791,7 +777,7 @@ static void splashOutBlendHardLight(SplashColorPtr src, SplashColorPtr dest,
: 255 - 2 * ((255 - dest[i]) * (255 - src[i])) / 255;
}
}
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -806,7 +792,7 @@ static void splashOutBlendSoftLight(SplashColorPtr src, SplashColorPtr dest,
SplashColorPtr blend, SplashColorMode cm) {
int i, x;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -828,7 +814,7 @@ static void splashOutBlendSoftLight(SplashColorPtr src, SplashColorPtr dest,
}
}
}
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -844,7 +830,7 @@ static void splashOutBlendDifference(SplashColorPtr src, SplashColorPtr dest,
SplashColorMode cm) {
int i;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -857,7 +843,7 @@ static void splashOutBlendDifference(SplashColorPtr src, SplashColorPtr dest,
blend[i] = dest[i] < src[i] ? src[i] - dest[i] : dest[i] - src[i];
}
}
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -878,7 +864,7 @@ static void splashOutBlendExclusion(SplashColorPtr src, SplashColorPtr dest,
SplashColorPtr blend, SplashColorMode cm) {
int i;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -891,7 +877,7 @@ static void splashOutBlendExclusion(SplashColorPtr src, SplashColorPtr dest,
blend[i] = dest[i] + src[i] - (2 * dest[i] * src[i]) / 255;
}
}
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) {
for (i = 0; i < splashColorModeNComps[cm]; ++i) {
dest[i] = 255 - dest[i];
@@ -1002,7 +988,7 @@ static void setSat(Guchar rIn, Guchar gIn, Guchar bIn, int sat,
static void splashOutBlendHue(SplashColorPtr src, SplashColorPtr dest,
SplashColorPtr blend, SplashColorMode cm) {
Guchar r0, g0, b0;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
Guchar r1, g1, b1;
int i;
SplashColor src2, dest2;
@@ -1015,6 +1001,7 @@ static void splashOutBlendHue(SplashColorPtr src, SplashColorPtr dest,
break;
case splashModeXBGR8:
src[3] = 255;
+ // fallthrough
case splashModeRGB8:
case splashModeBGR8:
setSat(src[0], src[1], src[2], getSat(dest[0], dest[1], dest[2]),
@@ -1022,7 +1009,7 @@ static void splashOutBlendHue(SplashColorPtr src, SplashColorPtr dest,
setLum(r0, g0, b0, getLum(dest[0], dest[1], dest[2]),
&blend[0], &blend[1], &blend[2]);
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
case splashModeDeviceN8:
for (i = 0; i < 4; i++) {
@@ -1052,7 +1039,7 @@ static void splashOutBlendSaturation(SplashColorPtr src, SplashColorPtr dest,
SplashColorPtr blend,
SplashColorMode cm) {
Guchar r0, g0, b0;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
Guchar r1, g1, b1;
int i;
SplashColor src2, dest2;
@@ -1065,6 +1052,7 @@ static void splashOutBlendSaturation(SplashColorPtr src, SplashColorPtr dest,
break;
case splashModeXBGR8:
src[3] = 255;
+ // fallthrough
case splashModeRGB8:
case splashModeBGR8:
setSat(dest[0], dest[1], dest[2], getSat(src[0], src[1], src[2]),
@@ -1072,7 +1060,7 @@ static void splashOutBlendSaturation(SplashColorPtr src, SplashColorPtr dest,
setLum(r0, g0, b0, getLum(dest[0], dest[1], dest[2]),
&blend[0], &blend[1], &blend[2]);
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
case splashModeDeviceN8:
for (i = 0; i < 4; i++) {
@@ -1099,7 +1087,7 @@ static void splashOutBlendSaturation(SplashColorPtr src, SplashColorPtr dest,
static void splashOutBlendColor(SplashColorPtr src, SplashColorPtr dest,
SplashColorPtr blend, SplashColorMode cm) {
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
Guchar r, g, b;
int i;
SplashColor src2, dest2;
@@ -1112,12 +1100,13 @@ static void splashOutBlendColor(SplashColorPtr src, SplashColorPtr dest,
break;
case splashModeXBGR8:
src[3] = 255;
+ // fallthrough
case splashModeRGB8:
case splashModeBGR8:
setLum(src[0], src[1], src[2], getLum(dest[0], dest[1], dest[2]),
&blend[0], &blend[1], &blend[2]);
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
case splashModeDeviceN8:
for (i = 0; i < 4; i++) {
@@ -1143,7 +1132,7 @@ static void splashOutBlendColor(SplashColorPtr src, SplashColorPtr dest,
static void splashOutBlendLuminosity(SplashColorPtr src, SplashColorPtr dest,
SplashColorPtr blend,
SplashColorMode cm) {
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
Guchar r, g, b;
int i;
SplashColor src2, dest2;
@@ -1156,12 +1145,13 @@ static void splashOutBlendLuminosity(SplashColorPtr src, SplashColorPtr dest,
break;
case splashModeXBGR8:
src[3] = 255;
+ // fallthrough
case splashModeRGB8:
case splashModeBGR8:
setLum(dest[0], dest[1], dest[2], getLum(src[0], src[1], src[2]),
&blend[0], &blend[1], &blend[2]);
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
case splashModeDeviceN8:
for (i = 0; i < 4; i++) {
@@ -1215,7 +1205,7 @@ public:
~SplashOutFontFileID() {}
- GBool matches(SplashFontFileID *id) {
+ GBool matches(SplashFontFileID *id) override {
return ((SplashOutFontFileID *)id)->r.num == r.num &&
((SplashOutFontFileID *)id)->r.gen == r.gen;
}
@@ -1400,7 +1390,7 @@ SplashOutputDev::SplashOutputDev(SplashColorMode colorModeA,
bitmap = new SplashBitmap(1, 1, bitmapRowPad, colorMode,
colorMode != splashModeMono1, bitmapTopDown);
splash = new Splash(bitmap, vectorAntialias, &screenParams);
- splash->setMinLineWidth(globalParams->getMinLineWidth());
+ splash->setMinLineWidth(s_minLineWidth);
splash->setThinLineMode(thinLineMode);
splash->clear(paperColor, 0);
@@ -1418,27 +1408,15 @@ SplashOutputDev::SplashOutputDev(SplashColorMode colorModeA,
}
void SplashOutputDev::setupScreenParams(double hDPI, double vDPI) {
- screenParams.size = globalParams->getScreenSize();
- screenParams.dotRadius = globalParams->getScreenDotRadius();
- screenParams.gamma = (SplashCoord)globalParams->getScreenGamma();
- screenParams.blackThreshold =
- (SplashCoord)globalParams->getScreenBlackThreshold();
- screenParams.whiteThreshold =
- (SplashCoord)globalParams->getScreenWhiteThreshold();
- switch (globalParams->getScreenType()) {
- case screenDispersed:
- screenParams.type = splashScreenDispersed;
- if (screenParams.size < 0) {
- screenParams.size = 4;
- }
- break;
- case screenClustered:
- screenParams.type = splashScreenClustered;
- if (screenParams.size < 0) {
- screenParams.size = 10;
- }
- break;
- case screenStochasticClustered:
+ screenParams.size = -1;
+ screenParams.dotRadius = -1;
+ screenParams.gamma = (SplashCoord)1.0;
+ screenParams.blackThreshold = (SplashCoord)0.0;
+ screenParams.whiteThreshold = (SplashCoord)1.0;
+
+ // use clustered dithering for resolution >= 300 dpi
+ // (compare to 299.9 to avoid floating point issues)
+ if (hDPI > 299.9 && vDPI > 299.9) {
screenParams.type = splashScreenStochasticClustered;
if (screenParams.size < 0) {
screenParams.size = 64;
@@ -1446,24 +1424,10 @@ void SplashOutputDev::setupScreenParams(double hDPI, double vDPI) {
if (screenParams.dotRadius < 0) {
screenParams.dotRadius = 2;
}
- break;
- case screenUnset:
- default:
- // use clustered dithering for resolution >= 300 dpi
- // (compare to 299.9 to avoid floating point issues)
- if (hDPI > 299.9 && vDPI > 299.9) {
- screenParams.type = splashScreenStochasticClustered;
- if (screenParams.size < 0) {
- screenParams.size = 64;
- }
- if (screenParams.dotRadius < 0) {
- screenParams.dotRadius = 2;
- }
- } else {
- screenParams.type = splashScreenDispersed;
- if (screenParams.size < 0) {
- screenParams.size = 4;
- }
+ } else {
+ screenParams.type = splashScreenDispersed;
+ if (screenParams.size < 0) {
+ screenParams.size = 4;
}
}
}
@@ -1493,14 +1457,9 @@ void SplashOutputDev::startDoc(PDFDoc *docA) {
delete fontEngine;
}
fontEngine = new SplashFontEngine(
-#if HAVE_T1LIB_H
- globalParams->getEnableT1lib(),
-#endif
-#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
globalParams->getEnableFreeType(),
enableFreeTypeHinting,
enableSlightHinting,
-#endif
getFontAntialias() &&
colorMode != splashModeMono1);
for (i = 0; i < nT3Fonts; ++i) {
@@ -1551,7 +1510,7 @@ void SplashOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA) {
}
splash = new Splash(bitmap, vectorAntialias, &screenParams);
splash->setThinLineMode(thinLineMode);
- splash->setMinLineWidth(globalParams->getMinLineWidth());
+ splash->setMinLineWidth(s_minLineWidth);
if (state) {
ctm = state->getCTM();
mat[0] = (SplashCoord)ctm[0];
@@ -1569,11 +1528,12 @@ void SplashOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA) {
break;
case splashModeXBGR8:
color[3] = 255;
+ // fallthrough
case splashModeRGB8:
case splashModeBGR8:
color[0] = color[1] = color[2] = 0;
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
color[0] = color[1] = color[2] = color[3] = 0;
break;
@@ -1592,7 +1552,7 @@ void SplashOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA) {
splash->setFlatness(1);
// the SA parameter supposedly defaults to false, but Acrobat
// apparently hardwires it to true
- splash->setStrokeAdjust(globalParams->getStrokeAdjust());
+ splash->setStrokeAdjust(gTrue);
splash->clear(paperColor, 0);
}
@@ -1703,14 +1663,14 @@ void SplashOutputDev::updateStrokeAdjust(GfxState * /*state*/) {
}
void SplashOutputDev::updateFillColorSpace(GfxState *state) {
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (colorMode == splashModeDeviceN8)
state->getFillColorSpace()->createMapping(bitmap->getSeparationList(), SPOT_NCOMPS);
#endif
}
void SplashOutputDev::updateStrokeColorSpace(GfxState *state) {
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (colorMode == splashModeDeviceN8)
state->getStrokeColorSpace()->createMapping(bitmap->getSeparationList(), SPOT_NCOMPS);
#endif
@@ -1719,7 +1679,7 @@ void SplashOutputDev::updateStrokeColorSpace(GfxState *state) {
void SplashOutputDev::updateFillColor(GfxState *state) {
GfxGray gray;
GfxRGB rgb;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
GfxCMYK cmyk;
GfxColor deviceN;
#endif
@@ -1736,7 +1696,7 @@ void SplashOutputDev::updateFillColor(GfxState *state) {
state->getFillRGB(&rgb);
splash->setFillPattern(getColor(&rgb));
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
state->getFillCMYK(&cmyk);
splash->setFillPattern(getColor(&cmyk));
@@ -1752,7 +1712,7 @@ void SplashOutputDev::updateFillColor(GfxState *state) {
void SplashOutputDev::updateStrokeColor(GfxState *state) {
GfxGray gray;
GfxRGB rgb;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
GfxCMYK cmyk;
GfxColor deviceN;
#endif
@@ -1769,7 +1729,7 @@ void SplashOutputDev::updateStrokeColor(GfxState *state) {
state->getStrokeRGB(&rgb);
splash->setStrokePattern(getColor(&rgb));
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
state->getStrokeCMYK(&cmyk);
splash->setStrokePattern(getColor(&cmyk));
@@ -1812,7 +1772,7 @@ SplashPattern *SplashOutputDev::getColor(GfxRGB *rgb) {
return new SplashSolidColor(color);
}
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
SplashPattern *SplashOutputDev::getColor(GfxCMYK *cmyk) {
SplashColor color;
@@ -1835,7 +1795,7 @@ SplashPattern *SplashOutputDev::getColor(GfxColor *deviceN) {
void SplashOutputDev::getMatteColor(SplashColorMode colorMode, GfxImageColorMap *colorMap, GfxColor *matteColorIn, SplashColor matteColor) {
GfxGray gray;
GfxRGB rgb;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
GfxCMYK cmyk;
GfxColor deviceN;
#endif
@@ -1860,7 +1820,7 @@ void SplashOutputDev::getMatteColor(SplashColorMode colorMode, GfxImageColorMap
matteColor[2] = colToByte(rgb.b);
matteColor[3] = 255;
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
colorMap->getColorSpace()->getCMYK(matteColorIn, &cmyk);
matteColor[0] = colToByte(cmyk.c);
@@ -1882,7 +1842,7 @@ void SplashOutputDev::setOverprintMask(GfxColorSpace *colorSpace,
int overprintMode,
GfxColor *singleColor,
GBool grayIndexed) {
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
Guint mask;
GfxCMYK cmyk;
GBool additive = gFalse;
@@ -2075,8 +2035,10 @@ reload:
delete id;
delete fontLoc;
fontLoc = NULL;
- if (fontsrc && !fontsrc->isFile)
+ if (fontsrc && !fontsrc->isFile) {
fontsrc->unref();
+ fontsrc = nullptr;
+ }
id = new SplashOutFontFileID(gfxFont->getID());
if ((fontFile = fontEngine->getFontFile(id))) {
@@ -2713,7 +2675,11 @@ void SplashOutputDev::endType3Char(GfxState *state) {
}
void SplashOutputDev::type3D0(GfxState *state, double wx, double wy) {
- t3GlyphStack->haveDx = gTrue;
+ if (likely(t3GlyphStack != nullptr)) {
+ t3GlyphStack->haveDx = gTrue;
+ } else {
+ error(errSyntaxWarning, -1, "t3GlyphStack was null in SplashOutputDev::type3D0");
+ }
}
void SplashOutputDev::type3D1(GfxState *state, double wx, double wy,
@@ -2725,7 +2691,7 @@ void SplashOutputDev::type3D1(GfxState *state, double wx, double wy,
int i, j;
// ignore multiple d0/d1 operators
- if (t3GlyphStack->haveDx) {
+ if (!t3GlyphStack || t3GlyphStack->haveDx) {
return;
}
t3GlyphStack->haveDx = gTrue;
@@ -2840,7 +2806,7 @@ void SplashOutputDev::type3D1(GfxState *state, double wx, double wy,
splash->clear(color);
color[0] = 0xff;
}
- splash->setMinLineWidth(globalParams->getMinLineWidth());
+ splash->setMinLineWidth(s_minLineWidth);
splash->setThinLineMode(splashThinLineDefault);
splash->setFillPattern(new SplashSolidColor(color));
splash->setStrokePattern(new SplashSolidColor(color));
@@ -2918,7 +2884,7 @@ void SplashOutputDev::drawImageMask(GfxState *state, Object *ref, Stream *str,
ctm = state->getCTM();
for (int i = 0; i < 6; ++i) {
- if (!isfinite(ctm[i])) return;
+ if (!std::isfinite(ctm[i])) return;
}
mat[0] = ctm[0];
mat[1] = ctm[1];
@@ -2964,7 +2930,7 @@ void SplashOutputDev::setSoftMaskFromImageMask(GfxState *state,
ctm = state->getCTM();
for (int i = 0; i < 6; ++i) {
- if (!isfinite(ctm[i])) return;
+ if (!std::isfinite(ctm[i])) return;
}
beginTransparencyGroup(state, bbox, NULL, gFalse, gFalse, gFalse);
@@ -3048,7 +3014,7 @@ GBool SplashOutputDev::useIccImageSrc(void *data) {
if (colorSpace->getAlt() != NULL && colorSpace->getAlt()->getMode() == csDeviceRGB)
return gTrue;
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
if (colorSpace->getAlt() != NULL && colorSpace->getAlt()->getMode() == csDeviceCMYK)
return gTrue;
@@ -3073,7 +3039,7 @@ GBool SplashOutputDev::imageSrc(void *data, SplashColorPtr colorLine,
SplashColorPtr q, col;
GfxRGB rgb;
GfxGray gray;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
GfxCMYK cmyk;
GfxColor deviceN;
#endif
@@ -3088,7 +3054,7 @@ GBool SplashOutputDev::imageSrc(void *data, SplashColorPtr colorLine,
destComps = 3;
else if (imgData->colorMode == splashModeXBGR8)
destComps = 4;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
else if (imgData->colorMode == splashModeCMYK8)
destComps = 4;
else if (imgData->colorMode == splashModeDeviceN8)
@@ -3126,7 +3092,7 @@ GBool SplashOutputDev::imageSrc(void *data, SplashColorPtr colorLine,
*q++ = col[3];
}
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
for (x = 0, q = colorLine; x < imgData->width; ++x, ++p) {
col = &imgData->lookup[4 * *p];
@@ -3180,7 +3146,7 @@ GBool SplashOutputDev::imageSrc(void *data, SplashColorPtr colorLine,
}
}
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
if (imgData->colorMap->useCMYKLine()) {
imgData->colorMap->getCMYKLine(p, (Guchar *) colorLine, imgData->width);
@@ -3239,7 +3205,7 @@ GBool SplashOutputDev::iccImageSrc(void *data, SplashColorPtr colorLine,
destComps = 3;
else if (imgData->colorMode == splashModeXBGR8)
destComps = 4;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
else if (imgData->colorMode == splashModeCMYK8)
destComps = 4;
else if (imgData->colorMode == splashModeDeviceN8)
@@ -3286,7 +3252,7 @@ void SplashOutputDev::iccTransform(void *data, SplashBitmap *bitmap) {
imgData->colorMap->getRGBLine(p, colorLine, bitmap->getWidth());
memcpy(p, colorLine, nComps * bitmap->getWidth());
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
imgData->colorMap->getCMYKLine(p, colorLine, bitmap->getWidth());
memcpy(p, colorLine, nComps * bitmap->getWidth());
@@ -3324,7 +3290,7 @@ GBool SplashOutputDev::alphaImageSrc(void *data, SplashColorPtr colorLine,
SplashColorPtr q, col;
GfxRGB rgb;
GfxGray gray;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
GfxCMYK cmyk;
GfxColor deviceN;
#endif
@@ -3371,7 +3337,7 @@ GBool SplashOutputDev::alphaImageSrc(void *data, SplashColorPtr colorLine,
*q++ = col[2];
*q++ = 255;
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
col = &imgData->lookup[4 * *p];
*q++ = col[0];
@@ -3403,7 +3369,7 @@ GBool SplashOutputDev::alphaImageSrc(void *data, SplashColorPtr colorLine,
*q++ = colToByte(rgb.b);
if (imgData->colorMode == splashModeXBGR8) *q++ = 255;
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
imgData->colorMap->getCMYK(p, &cmyk);
*q++ = colToByte(cmyk.c);
@@ -3491,7 +3457,7 @@ GBool SplashOutputDev::tilingBitmapSrc(void *data, SplashColorPtr colorLine,
imgData->bitmap->getPixel(x, imgData->y, col);
imgData->pattern->getColor(x, imgData->y, pat);
for (int i = 0; i < splashColorModeNComps[imgData->colorMode]; ++i) {
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
if (imgData->colorMode == splashModeCMYK8 || imgData->colorMode == splashModeDeviceN8)
dest[i] = div255(pat[i] * (255 - col[0]));
else
@@ -3531,7 +3497,7 @@ void SplashOutputDev::drawImage(GfxState *state, Object *ref, Stream *str,
SplashICCTransform tf;
GfxGray gray;
GfxRGB rgb;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
GfxCMYK cmyk;
GBool grayIndexed = gFalse;
GfxColor deviceN;
@@ -3541,7 +3507,7 @@ void SplashOutputDev::drawImage(GfxState *state, Object *ref, Stream *str,
ctm = state->getCTM();
for (i = 0; i < 6; ++i) {
- if (!isfinite(ctm[i])) return;
+ if (!std::isfinite(ctm[i])) return;
}
mat[0] = ctm[0];
mat[1] = ctm[1];
@@ -3600,7 +3566,7 @@ void SplashOutputDev::drawImage(GfxState *state, Object *ref, Stream *str,
imgData.lookup[4*i+3] = 255;
}
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
grayIndexed = colorMap->getColorSpace()->getMode() != csDeviceGray;
imgData.lookup = (SplashColorPtr)gmallocn(n, 4);
@@ -3635,7 +3601,7 @@ void SplashOutputDev::drawImage(GfxState *state, Object *ref, Stream *str,
}
}
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
setOverprintMask(colorMap->getColorSpace(), state->getFillOverprint(),
state->getOverprintMode(), NULL, grayIndexed);
#else
@@ -3685,7 +3651,7 @@ GBool SplashOutputDev::maskedImageSrc(void *data, SplashColorPtr colorLine,
SplashColorPtr q, col;
GfxRGB rgb;
GfxGray gray;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
GfxCMYK cmyk;
GfxColor deviceN;
#endif
@@ -3734,7 +3700,7 @@ GBool SplashOutputDev::maskedImageSrc(void *data, SplashColorPtr colorLine,
*q++ = col[2];
*q++ = 255;
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
col = &imgData->lookup[4 * *p];
*q++ = col[0];
@@ -3766,7 +3732,7 @@ GBool SplashOutputDev::maskedImageSrc(void *data, SplashColorPtr colorLine,
*q++ = colToByte(rgb.b);
if (imgData->colorMode == splashModeXBGR8) *q++ = 255;
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
imgData->colorMap->getCMYK(p, &cmyk);
*q++ = colToByte(cmyk.c);
@@ -3797,7 +3763,7 @@ void SplashOutputDev::drawMaskedImage(GfxState *state, Object *ref,
int maskHeight, GBool maskInvert,
GBool maskInterpolate) {
GfxImageColorMap *maskColorMap;
- Object maskDecode, decodeLow, decodeHigh;
+ Object decodeLow, decodeHigh;
double *ctm;
SplashCoord mat[6];
SplashOutMaskedImageData imgData;
@@ -3808,14 +3774,14 @@ void SplashOutputDev::drawMaskedImage(GfxState *state, Object *ref,
SplashColor maskColor;
GfxGray gray;
GfxRGB rgb;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
GfxCMYK cmyk;
GfxColor deviceN;
#endif
Guchar pix;
int n, i;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
colorMap->getColorSpace()->createMapping(bitmap->getSeparationList(), SPOT_NCOMPS);
#endif
setOverprintMask(colorMap->getColorSpace(), state->getFillOverprint(),
@@ -3824,14 +3790,11 @@ void SplashOutputDev::drawMaskedImage(GfxState *state, Object *ref,
// If the mask is higher resolution than the image, use
// drawSoftMaskedImage() instead.
if (maskWidth > width || maskHeight > height) {
- decodeLow.initInt(maskInvert ? 0 : 1);
- decodeHigh.initInt(maskInvert ? 1 : 0);
- maskDecode.initArray((xref) ? xref : doc->getXRef());
- maskDecode.arrayAdd(&decodeLow);
- maskDecode.arrayAdd(&decodeHigh);
+ Object maskDecode(new Array((xref) ? xref : doc->getXRef()));
+ maskDecode.arrayAdd(Object(maskInvert ? 0 : 1));
+ maskDecode.arrayAdd(Object(maskInvert ? 1 : 0));
maskColorMap = new GfxImageColorMap(1, &maskDecode,
new GfxDeviceGrayColorSpace());
- maskDecode.free();
drawSoftMaskedImage(state, ref, str, width, height, colorMap, interpolate,
maskStr, maskWidth, maskHeight, maskColorMap, maskInterpolate);
delete maskColorMap;
@@ -3872,7 +3835,7 @@ void SplashOutputDev::drawMaskedImage(GfxState *state, Object *ref,
ctm = state->getCTM();
for (i = 0; i < 6; ++i) {
- if (!isfinite(ctm[i])) {
+ if (!std::isfinite(ctm[i])) {
delete maskBitmap;
return;
}
@@ -3932,7 +3895,7 @@ void SplashOutputDev::drawMaskedImage(GfxState *state, Object *ref,
imgData.lookup[4*i+3] = 255;
}
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
imgData.lookup = (SplashColorPtr)gmallocn(n, 4);
for (i = 0; i < n; ++i) {
@@ -3989,14 +3952,14 @@ void SplashOutputDev::drawSoftMaskedImage(GfxState *state, Object *ref,
SplashColor maskColor;
GfxGray gray;
GfxRGB rgb;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
GfxCMYK cmyk;
GfxColor deviceN;
#endif
Guchar pix;
int n, i;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
colorMap->getColorSpace()->createMapping(bitmap->getSeparationList(), SPOT_NCOMPS);
#endif
setOverprintMask(colorMap->getColorSpace(), state->getFillOverprint(),
@@ -4004,7 +3967,7 @@ void SplashOutputDev::drawSoftMaskedImage(GfxState *state, Object *ref,
ctm = state->getCTM();
for (i = 0; i < 6; ++i) {
- if (!isfinite(ctm[i])) return;
+ if (!std::isfinite(ctm[i])) return;
}
mat[0] = ctm[0];
mat[1] = ctm[1];
@@ -4020,9 +3983,7 @@ void SplashOutputDev::drawSoftMaskedImage(GfxState *state, Object *ref,
maskStr->reset();
maskStr->doGetChars(maskWidth * maskHeight, data);
maskStr->close();
- Object *maskDict = new Object();
- maskDict->initDict(maskStr->getDict());
- maskStr = new MemStream((char *)data, 0, maskWidth * maskHeight, maskDict);
+ maskStr = new MemStream((char *)data, 0, maskWidth * maskHeight, maskStr->getDictObject()->copy());
((MemStream *) maskStr)->setNeedFree(gTrue);
}
imgMaskData.imgStr = new ImageStream(maskStr, maskWidth,
@@ -4119,7 +4080,7 @@ void SplashOutputDev::drawSoftMaskedImage(GfxState *state, Object *ref,
imgData.lookup[4*i+3] = 255;
}
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
imgData.lookup = (SplashColorPtr)gmallocn(n, 4);
for (i = 0; i < n; ++i) {
@@ -4261,9 +4222,7 @@ void SplashOutputDev::beginTransparencyGroup(GfxState *state, double *bbox,
// save state
transpGroup->origBitmap = bitmap;
transpGroup->origSplash = splash;
-#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
transpGroup->fontAA = fontEngine->getAA();
-#endif
//~ this handles the blendingColorSpace arg for soft masks, but
//~ not yet for transparency groups
@@ -4281,7 +4240,7 @@ void SplashOutputDev::beginTransparencyGroup(GfxState *state, double *bbox,
blendingColorSpace->getNComps() == 3)) {
//~ does this need to use BGR8?
colorMode = splashModeRGB8;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
} else if (blendingColorSpace->getMode() == csDeviceCMYK ||
(blendingColorSpace->getMode() == csICCBased &&
blendingColorSpace->getNComps() == 4)) {
@@ -4301,12 +4260,10 @@ void SplashOutputDev::beginTransparencyGroup(GfxState *state, double *bbox,
splash = new Splash(bitmap, vectorAntialias,
transpGroup->origSplash->getScreen());
if (transpGroup->next != NULL && transpGroup->next->knockout) {
-#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
fontEngine->setAA(gFalse);
-#endif
}
splash->setThinLineMode(transpGroup->origSplash->getThinLineMode());
- splash->setMinLineWidth(globalParams->getMinLineWidth());
+ splash->setMinLineWidth(s_minLineWidth);
//~ Acrobat apparently copies at least the fill and stroke colors, and
//~ maybe other state(?) -- but not the clipping path (and not sure
//~ what else)
@@ -4367,9 +4324,7 @@ void SplashOutputDev::paintTransparencyGroup(GfxState *state, double *bbox) {
splash->composite(tBitmap, 0, 0, tx, ty,
tBitmap->getWidth(), tBitmap->getHeight(),
gFalse, !isolated, transpGroupStack->next != NULL && transpGroupStack->next->knockout, knockoutOpacity);
-#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
fontEngine->setAA(transpGroupStack->fontAA);
-#endif
if (transpGroupStack->next != NULL && transpGroupStack->next->shape != NULL) {
transpGroupStack->next->knockout = gTrue;
}
@@ -4397,7 +4352,7 @@ void SplashOutputDev::setSoftMask(GfxState *state, double *bbox,
SplashColorPtr p;
GfxGray gray;
GfxRGB rgb;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
GfxCMYK cmyk;
GfxColor deviceN;
#endif
@@ -4426,6 +4381,7 @@ void SplashOutputDev::setSoftMask(GfxState *state, double *bbox,
break;
case splashModeXBGR8:
color[3] = 255;
+ // fallthrough
case splashModeRGB8:
case splashModeBGR8:
transpGroupStack->blendingColorSpace->getRGB(backdropColor, &rgb);
@@ -4434,7 +4390,7 @@ void SplashOutputDev::setSoftMask(GfxState *state, double *bbox,
color[2] = colToByte(rgb.b);
tSplash->compositeBackground(color);
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
transpGroupStack->blendingColorSpace->getCMYK(backdropColor, &cmyk);
color[0] = colToByte(cmyk.c);
@@ -4493,7 +4449,7 @@ void SplashOutputDev::setSoftMask(GfxState *state, double *bbox,
(0.59 / 255.0) * color[1] +
(0.11 / 255.0) * color[2];
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
case splashModeDeviceN8:
lum = (1 - color[3] / 255.0)
@@ -4612,7 +4568,7 @@ GBool SplashOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *ca
state->concatCTM(1, 0, 0, 1, bbox[0], bbox[1]);
ctm = state->getCTM();
for (i = 0; i < 6; ++i) {
- if (!isfinite(ctm[i])) {
+ if (!std::isfinite(ctm[i])) {
state->setCTM(savedCTM[0], savedCTM[1], savedCTM[2], savedCTM[3], savedCTM[4], savedCTM[5]);
return gFalse;
}
@@ -4711,7 +4667,7 @@ GBool SplashOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *ca
splash = new Splash(bitmap, gTrue);
if (paintType == 2) {
SplashColor clearColor;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
clearColor[0] = (colorMode == splashModeCMYK8 || colorMode == splashModeDeviceN8) ? 0x00 : 0xFF;
#else
clearColor[0] = 0xFF;
@@ -4721,7 +4677,7 @@ GBool SplashOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *ca
splash->clear(paperColor, 0);
}
splash->setThinLineMode(formerSplash->getThinLineMode());
- splash->setMinLineWidth(globalParams->getMinLineWidth());
+ splash->setMinLineWidth(s_minLineWidth);
box.x1 = bbox[0]; box.y1 = bbox[1];
box.x2 = bbox[2]; box.y2 = bbox[3];
@@ -4787,7 +4743,7 @@ GBool SplashOutputDev::gouraudTriangleShadedFill(GfxState *state, GfxGouraudTria
case splashModeRGB8:
bDirectColorTranslation = (shadingMode == csDeviceRGB);
break;
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
case splashModeCMYK8:
case splashModeDeviceN8:
bDirectColorTranslation = (shadingMode == csDeviceCMYK);
@@ -4861,7 +4817,7 @@ GBool SplashOutputDev::univariateShadedFill(GfxState *state, SplashUnivariatePat
state->closePath();
path = convertPath(state, state->getPath(), gTrue);
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
pattern->getShading()->getColorSpace()->createMapping(bitmap->getSeparationList(), SPOT_NCOMPS);
#endif
setOverprintMask(pattern->getShading()->getColorSpace(), state->getFillOverprint(),
@@ -4926,7 +4882,7 @@ GBool SplashOutputDev::functionShadedFill(GfxState *state, GfxFunctionShading *s
state->closePath();
path = convertPath(state, state->getPath(), gTrue);
-#if SPLASH_CMYK
+#ifdef SPLASH_CMYK
pattern->getShading()->getColorSpace()->createMapping(bitmap->getSeparationList(), SPOT_NCOMPS);
#endif
setOverprintMask(pattern->getShading()->getColorSpace(), state->getFillOverprint(),