.gitlab-ci.yml | 2 CMakeLists.txt | 4 - config.h.cmake | 3 poppler/PSOutputDev.cc | 2 poppler/SplashOutputDev.cc | 165 -------------------------------------------- poppler/SplashOutputDev.h | 2 qt5/src/poppler-document.cc | 4 - qt5/src/poppler-page.cc | 10 -- splash/Splash.cc | 75 -------------------- splash/Splash.h | 13 --- splash/SplashBitmap.cc | 20 ----- splash/SplashBitmap.h | 2 splash/SplashState.cc | 19 ----- splash/SplashState.h | 2 splash/SplashTypes.h | 21 +---- utils/pdftoppm.cc | 15 ---- utils/pdftops.cc | 6 - 17 files changed, 17 insertions(+), 348 deletions(-)
New commits: commit 2e32545b1d2e31359775a65ef34e0385c9079126 Author: Albert Astals Cid <[email protected]> Date: Fri Aug 23 00:11:45 2019 +0200 Always enable SPLASH_CMYK Doesn't seem to cause any speed regression and one ifdef less is code easier to maintain diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e7804304..4a1e6f94 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -76,7 +76,7 @@ build_clazy: - dnf -y install glibc-langpack-en curl make ninja-build openjpeg2-tools clazy clang redhat-rpm-config script: - mkdir -p build && cd build - - CC=clang CXX=clazy CXXFLAGS="-Werror -Wno-deprecated-declarations" cmake -DSPLASH_CMYK=ON -G Ninja .. + - CC=clang CXX=clazy CXXFLAGS="-Werror -Wno-deprecated-declarations" cmake -G Ninja .. - CLAZY_CHECKS="level0,level1,level2,isempty-vs-count,qhash-with-char-pointer-key,tr-non-literal,no-non-pod-global-static" ninja build_android: diff --git a/CMakeLists.txt b/CMakeLists.txt index 4ec53d92..c6f0a7bc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,7 +61,6 @@ set(ENABLE_DCTDECODER "libjpeg" CACHE STRING "Use libjpeg for DCT streams. Possi option(ENABLE_LIBCURL "Build libcurl based HTTP support." ON) option(ENABLE_ZLIB "Build with zlib." ON) option(ENABLE_ZLIB_UNCOMPRESS "Use zlib to uncompress flate streams (not totally safe)." OFF) -option(SPLASH_CMYK "Include support for CMYK rasterization." OFF) option(USE_FLOAT "Use single precision arithmetic in the Splash backend" OFF) option(BUILD_SHARED_LIBS "Build poppler as a shared library" ON) if(WIN32) @@ -717,9 +716,6 @@ endif() message("Building Poppler with support for:") show_end_message("font configuration" ${font_configuration}) show_end_message_yesno("splash output" ENABLE_SPLASH) -if(SPLASH_CMYK) - message(" with CMYK support") -endif() show_end_message_yesno("cairo output" CAIRO_FOUND) show_end_message_yesno("qt5 wrapper" ENABLE_QT5) show_end_message_yesno("glib wrapper" ENABLE_GLIB) diff --git a/config.h.cmake b/config.h.cmake index c9958130..c92fc352 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -156,9 +156,6 @@ /* Support for curl based doc builder is compiled in. */ #cmakedefine POPPLER_HAS_CURL_SUPPORT 1 -/* Include support for CMYK rasterization */ -#cmakedefine SPLASH_CMYK 1 - /* Enable word list support. */ #cmakedefine TEXTOUT_WORD_LIST 1 diff --git a/poppler/PSOutputDev.cc b/poppler/PSOutputDev.cc index 0fdc92c9..c7c1304a 100644 --- a/poppler/PSOutputDev.cc +++ b/poppler/PSOutputDev.cc @@ -3268,14 +3268,12 @@ bool PSOutputDev::checkPageSlice(Page *page, double /*hDPI*/, double /*vDPI*/, paperColor[0] = 0xff; splashOut = new SplashOutputDev(splashModeMono8, 1, false, paperColor, false); -#ifdef SPLASH_CMYK } else if (level == psLevel1Sep || level == psLevel2Sep || level == psLevel3Sep || globalParams->getOverprintPreview()) { numComps = 4; paperColor[0] = paperColor[1] = paperColor[2] = paperColor[3] = 0; splashOut = new SplashOutputDev(splashModeCMYK8, 1, false, paperColor, false); -#endif } else { numComps = 3; paperColor[0] = paperColor[1] = paperColor[2] = 0xff; diff --git a/poppler/SplashOutputDev.cc b/poppler/SplashOutputDev.cc index 3d2befc2..e3fcf9cb 100644 --- a/poppler/SplashOutputDev.cc +++ b/poppler/SplashOutputDev.cc @@ -87,16 +87,12 @@ static inline void convertGfxColor(SplashColorPtr dest, SplashColor color; GfxGray gray; GfxRGB rgb; -#ifdef SPLASH_CMYK GfxCMYK cmyk; GfxColor deviceN; -#endif // make gcc happy color[0] = color[1] = color[2] = 0; -#ifdef SPLASH_CMYK color[3] = 0; -#endif switch (colorMode) { case splashModeMono1: case splashModeMono8: @@ -113,7 +109,6 @@ static inline void convertGfxColor(SplashColorPtr dest, color[1] = colToByte(rgb.g); color[2] = colToByte(rgb.b); break; -#ifdef SPLASH_CMYK case splashModeCMYK8: colorSpace->getCMYK(src, &cmyk); color[0] = colToByte(cmyk.c); @@ -126,7 +121,6 @@ static inline void convertGfxColor(SplashColorPtr dest, for (int i = 0; i < SPOT_NCOMPS + 4; i++) color[i] = colToByte(deviceN.c[i]); break; -#endif } splashColorCopy(dest, color); } @@ -164,7 +158,6 @@ static inline void convertGfxShortColor(SplashColorPtr dest, dest[2] = colToByte(rgb.b); } break; -#ifdef SPLASH_CMYK case splashModeCMYK8: { GfxCMYK cmyk; @@ -183,7 +176,6 @@ static inline void convertGfxShortColor(SplashColorPtr dest, dest[i] = colToByte(deviceN.c[i]); } break; -#endif } } @@ -205,12 +197,10 @@ void SplashGouraudPattern::getParameterizedColor(double colorinterp, SplashColor GfxColor src; GfxColorSpace* srcColorSpace = shading->getColorSpace(); int colorComps = 3; -#ifdef SPLASH_CMYK if (mode == splashModeCMYK8) colorComps=4; else if (mode == splashModeDeviceN8) colorComps=4 + SPOT_NCOMPS; -#endif shading->getParameterizedColor(colorinterp, &src); @@ -503,20 +493,17 @@ static void splashOutBlendMultiply(SplashColorPtr src, SplashColorPtr dest, SplashColorPtr blend, SplashColorMode cm) { int i; -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; src[i] = 255 - src[i]; } } -#endif { for (i = 0; i < splashColorModeNComps[cm]; ++i) { blend[i] = (dest[i] * src[i]) / 255; } } -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; @@ -524,27 +511,23 @@ static void splashOutBlendMultiply(SplashColorPtr src, SplashColorPtr dest, blend[i] = 255 - blend[i]; } } -#endif } static void splashOutBlendScreen(SplashColorPtr src, SplashColorPtr dest, SplashColorPtr blend, SplashColorMode cm) { int i; -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; src[i] = 255 - src[i]; } } -#endif { for (i = 0; i < splashColorModeNComps[cm]; ++i) { blend[i] = dest[i] + src[i] - (dest[i] * src[i]) / 255; } } -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; @@ -552,21 +535,18 @@ static void splashOutBlendScreen(SplashColorPtr src, SplashColorPtr dest, blend[i] = 255 - blend[i]; } } -#endif } static void splashOutBlendOverlay(SplashColorPtr src, SplashColorPtr dest, SplashColorPtr blend, SplashColorMode cm) { int i; -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; src[i] = 255 - src[i]; } } -#endif { for (i = 0; i < splashColorModeNComps[cm]; ++i) { blend[i] = dest[i] < 0x80 @@ -574,7 +554,6 @@ static void splashOutBlendOverlay(SplashColorPtr src, SplashColorPtr dest, : 255 - 2 * ((255 - src[i]) * (255 - dest[i])) / 255; } } -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; @@ -582,27 +561,23 @@ static void splashOutBlendOverlay(SplashColorPtr src, SplashColorPtr dest, blend[i] = 255 - blend[i]; } } -#endif } static void splashOutBlendDarken(SplashColorPtr src, SplashColorPtr dest, SplashColorPtr blend, SplashColorMode cm) { int i; -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; src[i] = 255 - src[i]; } } -#endif { for (i = 0; i < splashColorModeNComps[cm]; ++i) { blend[i] = dest[i] < src[i] ? dest[i] : src[i]; } } -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; @@ -610,27 +585,23 @@ static void splashOutBlendDarken(SplashColorPtr src, SplashColorPtr dest, blend[i] = 255 - blend[i]; } } -#endif } static void splashOutBlendLighten(SplashColorPtr src, SplashColorPtr dest, SplashColorPtr blend, SplashColorMode cm) { int i; -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; src[i] = 255 - src[i]; } } -#endif { for (i = 0; i < splashColorModeNComps[cm]; ++i) { blend[i] = dest[i] > src[i] ? dest[i] : src[i]; } } -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; @@ -638,7 +609,6 @@ static void splashOutBlendLighten(SplashColorPtr src, SplashColorPtr dest, blend[i] = 255 - blend[i]; } } -#endif } static void splashOutBlendColorDodge(SplashColorPtr src, SplashColorPtr dest, @@ -646,14 +616,12 @@ static void splashOutBlendColorDodge(SplashColorPtr src, SplashColorPtr dest, SplashColorMode cm) { int i, x; -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; src[i] = 255 - src[i]; } } -#endif { for (i = 0; i < splashColorModeNComps[cm]; ++i) { if (src[i] == 255) { @@ -664,7 +632,6 @@ static void splashOutBlendColorDodge(SplashColorPtr src, SplashColorPtr dest, } } } -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; @@ -672,21 +639,18 @@ static void splashOutBlendColorDodge(SplashColorPtr src, SplashColorPtr dest, blend[i] = 255 - blend[i]; } } -#endif } static void splashOutBlendColorBurn(SplashColorPtr src, SplashColorPtr dest, SplashColorPtr blend, SplashColorMode cm) { int i, x; -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; src[i] = 255 - src[i]; } } -#endif { for (i = 0; i < splashColorModeNComps[cm]; ++i) { if (src[i] == 0) { @@ -697,7 +661,6 @@ static void splashOutBlendColorBurn(SplashColorPtr src, SplashColorPtr dest, } } } -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; @@ -705,21 +668,18 @@ static void splashOutBlendColorBurn(SplashColorPtr src, SplashColorPtr dest, blend[i] = 255 - blend[i]; } } -#endif } static void splashOutBlendHardLight(SplashColorPtr src, SplashColorPtr dest, SplashColorPtr blend, SplashColorMode cm) { int i; -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; src[i] = 255 - src[i]; } } -#endif { for (i = 0; i < splashColorModeNComps[cm]; ++i) { blend[i] = src[i] < 0x80 @@ -727,7 +687,6 @@ static void splashOutBlendHardLight(SplashColorPtr src, SplashColorPtr dest, : 255 - 2 * ((255 - dest[i]) * (255 - src[i])) / 255; } } -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; @@ -735,21 +694,18 @@ static void splashOutBlendHardLight(SplashColorPtr src, SplashColorPtr dest, blend[i] = 255 - blend[i]; } } -#endif } static void splashOutBlendSoftLight(SplashColorPtr src, SplashColorPtr dest, SplashColorPtr blend, SplashColorMode cm) { int i, x; -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; src[i] = 255 - src[i]; } } -#endif { for (i = 0; i < splashColorModeNComps[cm]; ++i) { if (src[i] < 0x80) { @@ -764,7 +720,6 @@ static void splashOutBlendSoftLight(SplashColorPtr src, SplashColorPtr dest, } } } -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; @@ -772,7 +727,6 @@ static void splashOutBlendSoftLight(SplashColorPtr src, SplashColorPtr dest, blend[i] = 255 - blend[i]; } } -#endif } static void splashOutBlendDifference(SplashColorPtr src, SplashColorPtr dest, @@ -780,20 +734,17 @@ static void splashOutBlendDifference(SplashColorPtr src, SplashColorPtr dest, SplashColorMode cm) { int i; -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; src[i] = 255 - src[i]; } } -#endif { for (i = 0; i < splashColorModeNComps[cm]; ++i) { blend[i] = dest[i] < src[i] ? src[i] - dest[i] : dest[i] - src[i]; } } -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; @@ -807,27 +758,23 @@ static void splashOutBlendDifference(SplashColorPtr src, SplashColorPtr dest, blend[i] = 0; } } -#endif } static void splashOutBlendExclusion(SplashColorPtr src, SplashColorPtr dest, SplashColorPtr blend, SplashColorMode cm) { int i; -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; src[i] = 255 - src[i]; } } -#endif { for (i = 0; i < splashColorModeNComps[cm]; ++i) { blend[i] = dest[i] + src[i] - (2 * dest[i] * src[i]) / 255; } } -#ifdef SPLASH_CMYK if (cm == splashModeCMYK8 || cm == splashModeDeviceN8) { for (i = 0; i < splashColorModeNComps[cm]; ++i) { dest[i] = 255 - dest[i]; @@ -841,7 +788,6 @@ static void splashOutBlendExclusion(SplashColorPtr src, SplashColorPtr dest, blend[i] = 0; } } -#endif } static int getLum(int r, int g, int b) { @@ -938,11 +884,9 @@ static void setSat(unsigned char rIn, unsigned char gIn, unsigned char bIn, int static void splashOutBlendHue(SplashColorPtr src, SplashColorPtr dest, SplashColorPtr blend, SplashColorMode cm) { unsigned char r0, g0, b0; -#ifdef SPLASH_CMYK unsigned char r1, g1, b1; int i; SplashColor src2, dest2; -#endif switch (cm) { case splashModeMono1: @@ -959,7 +903,6 @@ 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; -#ifdef SPLASH_CMYK case splashModeCMYK8: case splashModeDeviceN8: for (i = 0; i < 4; i++) { @@ -981,7 +924,6 @@ static void splashOutBlendHue(SplashColorPtr src, SplashColorPtr dest, blend[i] = 0xff - blend[i]; } break; -#endif } } @@ -989,11 +931,9 @@ static void splashOutBlendSaturation(SplashColorPtr src, SplashColorPtr dest, SplashColorPtr blend, SplashColorMode cm) { unsigned char r0, g0, b0; -#ifdef SPLASH_CMYK unsigned char r1, g1, b1; int i; SplashColor src2, dest2; -#endif switch (cm) { case splashModeMono1: @@ -1010,7 +950,6 @@ 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; -#ifdef SPLASH_CMYK case splashModeCMYK8: case splashModeDeviceN8: for (i = 0; i < 4; i++) { @@ -1031,17 +970,14 @@ static void splashOutBlendSaturation(SplashColorPtr src, SplashColorPtr dest, blend[i] = 0xff - blend[i]; } break; -#endif } } static void splashOutBlendColor(SplashColorPtr src, SplashColorPtr dest, SplashColorPtr blend, SplashColorMode cm) { -#ifdef SPLASH_CMYK unsigned char r, g, b; int i; SplashColor src2, dest2; -#endif switch (cm) { case splashModeMono1: @@ -1056,7 +992,6 @@ static void splashOutBlendColor(SplashColorPtr src, SplashColorPtr dest, setLum(src[0], src[1], src[2], getLum(dest[0], dest[1], dest[2]), &blend[0], &blend[1], &blend[2]); break; -#ifdef SPLASH_CMYK case splashModeCMYK8: case splashModeDeviceN8: for (i = 0; i < 4; i++) { @@ -1075,18 +1010,15 @@ static void splashOutBlendColor(SplashColorPtr src, SplashColorPtr dest, blend[i] = 0xff - blend[i]; } break; -#endif } } static void splashOutBlendLuminosity(SplashColorPtr src, SplashColorPtr dest, SplashColorPtr blend, SplashColorMode cm) { -#ifdef SPLASH_CMYK unsigned char r, g, b; int i; SplashColor src2, dest2; -#endif switch (cm) { case splashModeMono1: @@ -1101,7 +1033,6 @@ static void splashOutBlendLuminosity(SplashColorPtr src, SplashColorPtr dest, setLum(dest[0], dest[1], dest[2], getLum(src[0], src[1], src[2]), &blend[0], &blend[1], &blend[2]); break; -#ifdef SPLASH_CMYK case splashModeCMYK8: case splashModeDeviceN8: for (i = 0; i < 4; i++) { @@ -1120,7 +1051,6 @@ static void splashOutBlendLuminosity(SplashColorPtr src, SplashColorPtr dest, blend[i] = 0xff - blend[i]; } break; -#endif } } @@ -1482,7 +1412,6 @@ void SplashOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA) { case splashModeBGR8: color[0] = color[1] = color[2] = 0; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: color[0] = color[1] = color[2] = color[3] = 0; break; @@ -1490,7 +1419,6 @@ void SplashOutputDev::startPage(int pageNum, GfxState *state, XRef *xrefA) { for (int i = 0; i < 4 + SPOT_NCOMPS; i++) color[i] = 0; break; -#endif } splash->setStrokePattern(new SplashSolidColor(color)); splash->setFillPattern(new SplashSolidColor(color)); @@ -1611,26 +1539,20 @@ void SplashOutputDev::updateStrokeAdjust(GfxState * /*state*/) { } void SplashOutputDev::updateFillColorSpace(GfxState *state) { -#ifdef SPLASH_CMYK if (colorMode == splashModeDeviceN8) state->getFillColorSpace()->createMapping(bitmap->getSeparationList(), SPOT_NCOMPS); -#endif } void SplashOutputDev::updateStrokeColorSpace(GfxState *state) { -#ifdef SPLASH_CMYK if (colorMode == splashModeDeviceN8) state->getStrokeColorSpace()->createMapping(bitmap->getSeparationList(), SPOT_NCOMPS); -#endif } void SplashOutputDev::updateFillColor(GfxState *state) { GfxGray gray; GfxRGB rgb; -#ifdef SPLASH_CMYK GfxCMYK cmyk; GfxColor deviceN; -#endif switch (colorMode) { case splashModeMono1: @@ -1644,7 +1566,6 @@ void SplashOutputDev::updateFillColor(GfxState *state) { state->getFillRGB(&rgb); splash->setFillPattern(getColor(&rgb)); break; -#ifdef SPLASH_CMYK case splashModeCMYK8: state->getFillCMYK(&cmyk); splash->setFillPattern(getColor(&cmyk)); @@ -1653,17 +1574,14 @@ void SplashOutputDev::updateFillColor(GfxState *state) { state->getFillDeviceN(&deviceN); splash->setFillPattern(getColor(&deviceN)); break; -#endif } } void SplashOutputDev::updateStrokeColor(GfxState *state) { GfxGray gray; GfxRGB rgb; -#ifdef SPLASH_CMYK GfxCMYK cmyk; GfxColor deviceN; -#endif switch (colorMode) { case splashModeMono1: @@ -1677,7 +1595,6 @@ void SplashOutputDev::updateStrokeColor(GfxState *state) { state->getStrokeRGB(&rgb); splash->setStrokePattern(getColor(&rgb)); break; -#ifdef SPLASH_CMYK case splashModeCMYK8: state->getStrokeCMYK(&cmyk); splash->setStrokePattern(getColor(&cmyk)); @@ -1686,7 +1603,6 @@ void SplashOutputDev::updateStrokeColor(GfxState *state) { state->getStrokeDeviceN(&deviceN); splash->setStrokePattern(getColor(&deviceN)); break; -#endif } } @@ -1720,7 +1636,6 @@ SplashPattern *SplashOutputDev::getColor(GfxRGB *rgb) { return new SplashSolidColor(color); } -#ifdef SPLASH_CMYK SplashPattern *SplashOutputDev::getColor(GfxCMYK *cmyk) { SplashColor color; @@ -1738,15 +1653,12 @@ SplashPattern *SplashOutputDev::getColor(GfxColor *deviceN) { color[i] = colToByte(deviceN->c[i]); return new SplashSolidColor(color); } -#endif void SplashOutputDev::getMatteColor(SplashColorMode colorMode, GfxImageColorMap *colorMap, const GfxColor *matteColorIn, SplashColor matteColor) { GfxGray gray; GfxRGB rgb; -#ifdef SPLASH_CMYK GfxCMYK cmyk; GfxColor deviceN; -#endif switch (colorMode) { case splashModeMono1: @@ -1768,7 +1680,6 @@ void SplashOutputDev::getMatteColor(SplashColorMode colorMode, GfxImageColorMap matteColor[2] = colToByte(rgb.b); matteColor[3] = 255; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: colorMap->getColorSpace()->getCMYK(matteColorIn, &cmyk); matteColor[0] = colToByte(cmyk.c); @@ -1781,7 +1692,6 @@ void SplashOutputDev::getMatteColor(SplashColorMode colorMode, GfxImageColorMap for (int cp = 0; cp < SPOT_NCOMPS+4; cp++) matteColor[cp] = colToByte(deviceN.c[cp]); break; -#endif } } @@ -1790,7 +1700,6 @@ void SplashOutputDev::setOverprintMask(GfxColorSpace *colorSpace, int overprintMode, const GfxColor *singleColor, bool grayIndexed) { -#ifdef SPLASH_CMYK unsigned int mask; GfxCMYK cmyk; bool additive = false; @@ -1846,7 +1755,6 @@ void SplashOutputDev::setOverprintMask(GfxColorSpace *colorSpace, mask = 0xffffffff; } splash->setOverprintMask(mask, additive); -#endif } void SplashOutputDev::updateBlendMode(GfxState *state) { @@ -2949,7 +2857,6 @@ bool SplashOutputDev::useIccImageSrc(void *data) { if (colorSpace->getAlt() != nullptr && colorSpace->getAlt()->getMode() == csDeviceRGB) return true; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: if (colorSpace->getAlt() != nullptr && colorSpace->getAlt()->getMode() == csDeviceCMYK) return true; @@ -2958,7 +2865,6 @@ bool SplashOutputDev::useIccImageSrc(void *data) { if (colorSpace->getAlt() != nullptr && colorSpace->getAlt()->getMode() == csDeviceN) return true; break; -#endif } } @@ -2978,10 +2884,8 @@ bool SplashOutputDev::imageSrc(void *data, SplashColorPtr colorLine, SplashColorPtr q, col; GfxRGB rgb; GfxGray gray; -#ifdef SPLASH_CMYK GfxCMYK cmyk; GfxColor deviceN; -#endif int nComps, x; if (imgData->y == imgData->height) { @@ -2993,12 +2897,10 @@ bool SplashOutputDev::imageSrc(void *data, SplashColorPtr colorLine, destComps = 3; else if (imgData->colorMode == splashModeXBGR8) destComps = 4; -#ifdef SPLASH_CMYK else if (imgData->colorMode == splashModeCMYK8) destComps = 4; else if (imgData->colorMode == splashModeDeviceN8) destComps = SPOT_NCOMPS + 4; -#endif memset(colorLine, 0, imgData->width * destComps); return false; } @@ -3031,7 +2933,6 @@ bool SplashOutputDev::imageSrc(void *data, SplashColorPtr colorLine, *q++ = col[3]; } break; -#ifdef SPLASH_CMYK case splashModeCMYK8: for (x = 0, q = colorLine; x < imgData->width; ++x, ++p) { col = &imgData->lookup[4 * *p]; @@ -3048,7 +2949,6 @@ bool SplashOutputDev::imageSrc(void *data, SplashColorPtr colorLine, *q++ = col[cp]; } break; -#endif } } else { switch (imgData->colorMode) { @@ -3085,7 +2985,6 @@ bool SplashOutputDev::imageSrc(void *data, SplashColorPtr colorLine, } } break; -#ifdef SPLASH_CMYK case splashModeCMYK8: if (imgData->colorMap->useCMYKLine()) { imgData->colorMap->getCMYKLine(p, (unsigned char *) colorLine, imgData->width); @@ -3110,7 +3009,6 @@ bool SplashOutputDev::imageSrc(void *data, SplashColorPtr colorLine, } } break; -#endif } } @@ -3144,12 +3042,10 @@ bool SplashOutputDev::iccImageSrc(void *data, SplashColorPtr colorLine, destComps = 3; else if (imgData->colorMode == splashModeXBGR8) destComps = 4; -#ifdef SPLASH_CMYK else if (imgData->colorMode == splashModeCMYK8) destComps = 4; else if (imgData->colorMode == splashModeDeviceN8) destComps = SPOT_NCOMPS + 4; -#endif memset(colorLine, 0, imgData->width * destComps); return false; } @@ -3191,7 +3087,6 @@ void SplashOutputDev::iccTransform(void *data, SplashBitmap *bitmap) { imgData->colorMap->getRGBLine(p, colorLine, bitmap->getWidth()); memcpy(p, colorLine, nComps * bitmap->getWidth()); break; -#ifdef SPLASH_CMYK case splashModeCMYK8: imgData->colorMap->getCMYKLine(p, colorLine, bitmap->getWidth()); memcpy(p, colorLine, nComps * bitmap->getWidth()); @@ -3200,7 +3095,6 @@ void SplashOutputDev::iccTransform(void *data, SplashBitmap *bitmap) { imgData->colorMap->getDeviceNLine(p, colorLine, bitmap->getWidth()); memcpy(p, colorLine, nComps * bitmap->getWidth()); break; -#endif case splashModeXBGR8: unsigned char *q; unsigned char *b = p; @@ -3233,10 +3127,8 @@ bool SplashOutputDev::alphaImageSrc(void *data, SplashColorPtr colorLine, SplashColorPtr q, col; GfxRGB rgb; GfxGray gray; -#ifdef SPLASH_CMYK GfxCMYK cmyk; GfxColor deviceN; -#endif unsigned char alpha; int nComps, x, i; @@ -3280,7 +3172,6 @@ bool SplashOutputDev::alphaImageSrc(void *data, SplashColorPtr colorLine, *q++ = col[2]; *q++ = 255; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: col = &imgData->lookup[4 * *p]; *q++ = col[0]; @@ -3293,7 +3184,6 @@ bool SplashOutputDev::alphaImageSrc(void *data, SplashColorPtr colorLine, for (int cp = 0; cp < SPOT_NCOMPS+4; cp++) *q++ = col[cp]; break; -#endif } *aq++ = alpha; } else { @@ -3312,7 +3202,6 @@ bool SplashOutputDev::alphaImageSrc(void *data, SplashColorPtr colorLine, *q++ = colToByte(rgb.b); if (imgData->colorMode == splashModeXBGR8) *q++ = 255; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: imgData->colorMap->getCMYK(p, &cmyk); *q++ = colToByte(cmyk.c); @@ -3325,7 +3214,6 @@ bool SplashOutputDev::alphaImageSrc(void *data, SplashColorPtr colorLine, for (int cp = 0; cp < SPOT_NCOMPS+4; cp++) *q++ = colToByte(deviceN.c[cp]); break; -#endif } *aq++ = alpha; } @@ -3400,11 +3288,9 @@ bool 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) { -#ifdef SPLASH_CMYK if (imgData->colorMode == splashModeCMYK8 || imgData->colorMode == splashModeDeviceN8) dest[i] = div255(pat[i] * (255 - col[0])); else -#endif dest[i] = 255 - div255((255 - pat[i]) * (255 - col[0])); } dest += splashColorModeNComps[imgData->colorMode]; @@ -3439,11 +3325,9 @@ void SplashOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, SplashICCTransform tf; GfxGray gray; GfxRGB rgb; -#ifdef SPLASH_CMYK GfxCMYK cmyk; bool grayIndexed = false; GfxColor deviceN; -#endif unsigned char pix; int n, i; @@ -3510,7 +3394,6 @@ void SplashOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, } } break; -#ifdef SPLASH_CMYK case splashModeCMYK8: grayIndexed = colorMap->getColorSpace()->getMode() != csDeviceGray; imgData.lookup = (SplashColorPtr)gmallocn(n, 4); @@ -3541,17 +3424,11 @@ void SplashOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, imgData.lookup[(SPOT_NCOMPS+4)*i +cp] = colToByte(deviceN.c[cp]); } break; -#endif } } -#ifdef SPLASH_CMYK setOverprintMask(colorMap->getColorSpace(), state->getFillOverprint(), state->getOverprintMode(), nullptr, grayIndexed); -#else - setOverprintMask(colorMap->getColorSpace(), state->getFillOverprint(), - state->getOverprintMode(), nullptr); -#endif if (colorMode == splashModeMono1) { srcMode = splashModeMono8; @@ -3595,10 +3472,8 @@ bool SplashOutputDev::maskedImageSrc(void *data, SplashColorPtr colorLine, SplashColorPtr q, col; GfxRGB rgb; GfxGray gray; -#ifdef SPLASH_CMYK GfxCMYK cmyk; GfxColor deviceN; -#endif unsigned char alpha; unsigned char *maskPtr; int maskBit; @@ -3644,7 +3519,6 @@ bool SplashOutputDev::maskedImageSrc(void *data, SplashColorPtr colorLine, *q++ = col[2]; *q++ = 255; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: col = &imgData->lookup[4 * *p]; *q++ = col[0]; @@ -3657,7 +3531,6 @@ bool SplashOutputDev::maskedImageSrc(void *data, SplashColorPtr colorLine, for (int cp = 0; cp < SPOT_NCOMPS+4; cp++) *q++ = col[cp]; break; -#endif } *aq++ = alpha; } else { @@ -3676,7 +3549,6 @@ bool SplashOutputDev::maskedImageSrc(void *data, SplashColorPtr colorLine, *q++ = colToByte(rgb.b); if (imgData->colorMode == splashModeXBGR8) *q++ = 255; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: imgData->colorMap->getCMYK(p, &cmyk); *q++ = colToByte(cmyk.c); @@ -3689,7 +3561,6 @@ bool SplashOutputDev::maskedImageSrc(void *data, SplashColorPtr colorLine, for (int cp = 0; cp < SPOT_NCOMPS+4; cp++) *q++ = colToByte(deviceN.c[cp]); break; -#endif } *aq++ = alpha; } @@ -3716,16 +3587,12 @@ void SplashOutputDev::drawMaskedImage(GfxState *state, Object *ref, SplashColor maskColor; GfxGray gray; GfxRGB rgb; -#ifdef SPLASH_CMYK GfxCMYK cmyk; GfxColor deviceN; -#endif unsigned char pix; int n, i; -#ifdef SPLASH_CMYK colorMap->getColorSpace()->createMapping(bitmap->getSeparationList(), SPOT_NCOMPS); -#endif setOverprintMask(colorMap->getColorSpace(), state->getFillOverprint(), state->getOverprintMode(), nullptr); @@ -3837,7 +3704,6 @@ void SplashOutputDev::drawMaskedImage(GfxState *state, Object *ref, imgData.lookup[4*i+3] = 255; } break; -#ifdef SPLASH_CMYK case splashModeCMYK8: imgData.lookup = (SplashColorPtr)gmallocn(n, 4); for (i = 0; i < n; ++i) { @@ -3858,7 +3724,6 @@ void SplashOutputDev::drawMaskedImage(GfxState *state, Object *ref, imgData.lookup[(SPOT_NCOMPS+4)*i + cp] = colToByte(deviceN.c[cp]); } break; -#endif } } @@ -3893,15 +3758,11 @@ void SplashOutputDev::drawSoftMaskedImage(GfxState *state, Object * /* ref */, SplashColor maskColor; GfxGray gray; GfxRGB rgb; -#ifdef SPLASH_CMYK GfxCMYK cmyk; GfxColor deviceN; -#endif unsigned char pix; -#ifdef SPLASH_CMYK colorMap->getColorSpace()->createMapping(bitmap->getSeparationList(), SPOT_NCOMPS); -#endif setOverprintMask(colorMap->getColorSpace(), state->getFillOverprint(), state->getOverprintMode(), nullptr); @@ -4030,7 +3891,6 @@ void SplashOutputDev::drawSoftMaskedImage(GfxState *state, Object * /* ref */, } } break; -#ifdef SPLASH_CMYK case splashModeCMYK8: imgData.lookup = (SplashColorPtr)gmallocn_checkoverflow(n, 4); if (likely(imgData.lookup != nullptr)) { @@ -4055,7 +3915,6 @@ void SplashOutputDev::drawSoftMaskedImage(GfxState *state, Object * /* ref */, } } break; -#endif } } @@ -4094,7 +3953,7 @@ void SplashOutputDev::beginTransparencyGroup(GfxState *state, const double *bbox SplashTransparencyGroup *transpGroup; SplashColor color; double xMin, yMin, xMax, yMax, x, y; - int tx, ty, w, h, i; + int tx, ty, w, h; // transform the bbox state->transform(bbox[0], bbox[1], &x, &y); @@ -4194,12 +4053,10 @@ void SplashOutputDev::beginTransparencyGroup(GfxState *state, const double *bbox blendingColorSpace->getNComps() == 3)) { //~ does this need to use BGR8? colorMode = splashModeRGB8; -#ifdef SPLASH_CMYK } else if (blendingColorSpace->getMode() == csDeviceCMYK || (blendingColorSpace->getMode() == csICCBased && blendingColorSpace->getNComps() == 4)) { colorMode = splashModeCMYK8; -#endif } } @@ -4226,9 +4083,7 @@ void SplashOutputDev::beginTransparencyGroup(GfxState *state, const double *bbox splash->setStrokePattern( transpGroup->origSplash->getStrokePattern()->copy()); if (isolated) { - for (i = 0; i < splashMaxColorComps; ++i) { - color[i] = 0; - } + splashClearColor(color); if (colorMode == splashModeXBGR8) color[3] = 255; splash->clear(color, 0); } else { @@ -4306,10 +4161,8 @@ void SplashOutputDev::setSoftMask(GfxState *state, const double *bbox, SplashColorPtr p; GfxGray gray; GfxRGB rgb; -#ifdef SPLASH_CMYK GfxCMYK cmyk; GfxColor deviceN; -#endif double lum, lum2; int tx, ty, x, y; @@ -4344,7 +4197,6 @@ void SplashOutputDev::setSoftMask(GfxState *state, const double *bbox, color[2] = colToByte(rgb.b); tSplash->compositeBackground(color); break; -#ifdef SPLASH_CMYK case splashModeCMYK8: transpGroupStack->blendingColorSpace->getCMYK(backdropColor, &cmyk); color[0] = colToByte(cmyk.c); @@ -4359,7 +4211,6 @@ void SplashOutputDev::setSoftMask(GfxState *state, const double *bbox, color[cp] = colToByte(deviceN.c[cp]); tSplash->compositeBackground(color); break; -#endif } delete tSplash; } @@ -4403,7 +4254,6 @@ void SplashOutputDev::setSoftMask(GfxState *state, const double *bbox, (0.59 / 255.0) * color[1] + (0.11 / 255.0) * color[2]; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: case splashModeDeviceN8: lum = (1 - color[3] / 255.0) @@ -4414,7 +4264,6 @@ void SplashOutputDev::setSoftMask(GfxState *state, const double *bbox, lum = 0; } break; -#endif } if (transferFunc) { transferFunc->transform(&lum, &lum2); @@ -4626,11 +4475,7 @@ bool SplashOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *cat splash = new Splash(bitmap, true); if (paintType == 2) { SplashColor clearColor; -#ifdef SPLASH_CMYK clearColor[0] = (colorMode == splashModeCMYK8 || colorMode == splashModeDeviceN8) ? 0x00 : 0xFF; -#else - clearColor[0] = 0xFF; -#endif splash->clear(clearColor, 0); } else { splash->clear(paperColor, 0); @@ -4702,12 +4547,10 @@ bool SplashOutputDev::gouraudTriangleShadedFill(GfxState *state, GfxGouraudTrian case splashModeRGB8: bDirectColorTranslation = (shadingMode == csDeviceRGB); break; -#ifdef SPLASH_CMYK case splashModeCMYK8: case splashModeDeviceN8: bDirectColorTranslation = (shadingMode == csDeviceCMYK); break; -#endif default: break; } @@ -4775,9 +4618,7 @@ bool SplashOutputDev::univariateShadedFill(GfxState *state, SplashUnivariatePatt state->closePath(); SplashPath path = convertPath(state, state->getPath(), true); -#ifdef SPLASH_CMYK pattern->getShading()->getColorSpace()->createMapping(bitmap->getSeparationList(), SPOT_NCOMPS); -#endif setOverprintMask(pattern->getShading()->getColorSpace(), state->getFillOverprint(), state->getOverprintMode(), nullptr); retVal = (splash->shadedFill(&path, pattern->getShading()->getHasBBox(), pattern) == splashOk); @@ -4838,9 +4679,7 @@ bool SplashOutputDev::functionShadedFill(GfxState *state, GfxFunctionShading *sh state->closePath(); SplashPath path = convertPath(state, state->getPath(), true); -#ifdef SPLASH_CMYK pattern->getShading()->getColorSpace()->createMapping(bitmap->getSeparationList(), SPOT_NCOMPS); -#endif setOverprintMask(pattern->getShading()->getColorSpace(), state->getFillOverprint(), state->getOverprintMode(), nullptr); retVal = (splash->shadedFill(&path, pattern->getShading()->getHasBBox(), pattern) == splashOk); diff --git a/poppler/SplashOutputDev.h b/poppler/SplashOutputDev.h index ef95f706..72ad9f04 100644 --- a/poppler/SplashOutputDev.h +++ b/poppler/SplashOutputDev.h @@ -399,10 +399,8 @@ private: void setupScreenParams(double hDPI, double vDPI); SplashPattern *getColor(GfxGray gray); SplashPattern *getColor(GfxRGB *rgb); -#ifdef SPLASH_CMYK SplashPattern *getColor(GfxCMYK *cmyk); SplashPattern *getColor(GfxColor *deviceN); -#endif static void getMatteColor( SplashColorMode colorMode, GfxImageColorMap *colorMap, const GfxColor * matteColor, SplashColor splashMatteColor); void setOverprintMask(GfxColorSpace *colorSpace, bool overprintFlag, int overprintMode, const GfxColor *singleColor, bool grayIndexed = false); diff --git a/qt5/src/poppler-document.cc b/qt5/src/poppler-document.cc index 81db4eaf..9443b3e2 100644 --- a/qt5/src/poppler-document.cc +++ b/qt5/src/poppler-document.cc @@ -863,11 +863,7 @@ namespace Poppler { } bool isOverprintPreviewAvailable() { -#ifdef SPLASH_CMYK return true; -#else - return false; -#endif } } diff --git a/qt5/src/poppler-page.cc b/qt5/src/poppler-page.cc index c4d00a6b..69006754 100644 --- a/qt5/src/poppler-page.cc +++ b/qt5/src/poppler-page.cc @@ -527,9 +527,7 @@ QImage Page::renderToImage(double xres, double yres, int xPos, int yPos, int w, { #if defined(HAVE_SPLASH) SplashColor bgColor; - bool overprintPreview = false; -#ifdef SPLASH_CMYK - overprintPreview = m_page->parentDoc->m_hints & Document::OverprintPreview ? true : false; + const bool overprintPreview = m_page->parentDoc->m_hints & Document::OverprintPreview ? true : false; if (overprintPreview) { unsigned char c, m, y, k; @@ -553,17 +551,13 @@ QImage Page::renderToImage(double xres, double yres, int xPos, int yPos, int w, } } else -#endif { bgColor[0] = m_page->parentDoc->paperColor.blue(); bgColor[1] = m_page->parentDoc->paperColor.green(); bgColor[2] = m_page->parentDoc->paperColor.red(); } - SplashColorMode colorMode = splashModeXBGR8; -#ifdef SPLASH_CMYK - if (overprintPreview) colorMode = splashModeDeviceN8; -#endif + const SplashColorMode colorMode = overprintPreview ? splashModeDeviceN8 : splashModeXBGR8; SplashThinLineMode thinLineMode = splashThinLineDefault; if (m_page->parentDoc->m_hints & Document::ThinLineShape) thinLineMode = splashThinLineShape; diff --git a/splash/Splash.cc b/splash/Splash.cc index 074dfe6e..c3e54b84 100644 --- a/splash/Splash.cc +++ b/splash/Splash.cc @@ -169,12 +169,9 @@ SplashPipeResultColorCtrl Splash::pipeResultColorNoAlphaBlend[] = { splashPipeResultColorNoAlphaBlendMono, splashPipeResultColorNoAlphaBlendRGB, splashPipeResultColorNoAlphaBlendRGB, - splashPipeResultColorNoAlphaBlendRGB -#ifdef SPLASH_CMYK - , + splashPipeResultColorNoAlphaBlendRGB, splashPipeResultColorNoAlphaBlendCMYK, splashPipeResultColorNoAlphaBlendDeviceN -#endif }; SplashPipeResultColorCtrl Splash::pipeResultColorAlphaNoBlend[] = { @@ -182,12 +179,9 @@ SplashPipeResultColorCtrl Splash::pipeResultColorAlphaNoBlend[] = { splashPipeResultColorAlphaNoBlendMono, splashPipeResultColorAlphaNoBlendRGB, splashPipeResultColorAlphaNoBlendRGB, - splashPipeResultColorAlphaNoBlendRGB -#ifdef SPLASH_CMYK - , + splashPipeResultColorAlphaNoBlendRGB, splashPipeResultColorAlphaNoBlendCMYK, splashPipeResultColorAlphaNoBlendDeviceN -#endif }; SplashPipeResultColorCtrl Splash::pipeResultColorAlphaBlend[] = { @@ -195,12 +189,9 @@ SplashPipeResultColorCtrl Splash::pipeResultColorAlphaBlend[] = { splashPipeResultColorAlphaBlendMono, splashPipeResultColorAlphaBlendRGB, splashPipeResultColorAlphaBlendRGB, - splashPipeResultColorAlphaBlendRGB -#ifdef SPLASH_CMYK - , + splashPipeResultColorAlphaBlendRGB, splashPipeResultColorAlphaBlendCMYK, splashPipeResultColorAlphaBlendDeviceN -#endif }; //------------------------------------------------------------------------ @@ -310,12 +301,10 @@ inline void Splash::pipeInit(SplashPipe *pipe, int x, int y, pipe->run = &Splash::pipeRunSimpleXBGR8; } else if (bitmap->mode == splashModeBGR8 && pipe->destAlphaPtr) { pipe->run = &Splash::pipeRunSimpleBGR8; -#ifdef SPLASH_CMYK } else if (bitmap->mode == splashModeCMYK8 && pipe->destAlphaPtr) { pipe->run = &Splash::pipeRunSimpleCMYK8; } else if (bitmap->mode == splashModeDeviceN8 && pipe->destAlphaPtr) { pipe->run = &Splash::pipeRunSimpleDeviceN8; -#endif } } else if (!pipe->pattern && !pipe->noTransparency && !state->softMask && pipe->usesShape && @@ -331,12 +320,10 @@ inline void Splash::pipeInit(SplashPipe *pipe, int x, int y, pipe->run = &Splash::pipeRunAAXBGR8; } else if (bitmap->mode == splashModeBGR8 && pipe->destAlphaPtr) { pipe->run = &Splash::pipeRunAABGR8; -#ifdef SPLASH_CMYK } else if (bitmap->mode == splashModeCMYK8 && pipe->destAlphaPtr) { pipe->run = &Splash::pipeRunAACMYK8; } else if (bitmap->mode == splashModeDeviceN8 && pipe->destAlphaPtr) { pipe->run = &Splash::pipeRunAADeviceN8; -#endif } } } @@ -348,10 +335,8 @@ void Splash::pipeRun(SplashPipe *pipe) { SplashColorPtr cSrc; unsigned char cResult0, cResult1, cResult2, cResult3; int t; -#ifdef SPLASH_CMYK int cp, mask; unsigned char cResult[SPOT_NCOMPS+4]; -#endif //----- source color @@ -364,7 +349,6 @@ void Splash::pipeRun(SplashPipe *pipe) { pipeIncX(pipe); return; } -#ifdef SPLASH_CMYK if (bitmap->mode == splashModeCMYK8 || bitmap->mode == splashModeDeviceN8) { if (state->fillOverprint && state->overprintMode && pipe->pattern->isCMYK()) { unsigned int overprintMask = 15; @@ -383,7 +367,6 @@ void Splash::pipeRun(SplashPipe *pipe) { state->overprintMask = overprintMask; } } -#endif } if (pipe->noTransparency && !state->blendFunc) { @@ -422,7 +405,6 @@ void Splash::pipeRun(SplashPipe *pipe) { *pipe->destColorPtr++ = state->rgbTransferG[pipe->cSrc[1]]; *pipe->destColorPtr++ = state->rgbTransferR[pipe->cSrc[0]]; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: if (state->overprintMask & 1) { pipe->destColorPtr[0] = (state->overprintAdditive) ? @@ -456,7 +438,6 @@ void Splash::pipeRun(SplashPipe *pipe) { } pipe->destColorPtr += (SPOT_NCOMPS+4); break; -#endif } if (pipe->destAlphaPtr) { *pipe->destAlphaPtr++ = 255; @@ -481,16 +462,12 @@ void Splash::pipeRun(SplashPipe *pipe) { destColorPtr += (alpha0X+pipe->x) * 3; break; case splashModeXBGR8: -#ifdef SPLASH_CMYK case splashModeCMYK8: -#endif destColorPtr += (alpha0X+pipe->x) * 4; break; -#ifdef SPLASH_CMYK case splashModeDeviceN8: destColorPtr += (alpha0X+pipe->x) * (SPOT_NCOMPS + 4); break; -#endif } } else { destColorPtr = pipe->destColorPtr; @@ -518,7 +495,6 @@ void Splash::pipeRun(SplashPipe *pipe) { cDest[1] = destColorPtr[1]; cDest[2] = destColorPtr[0]; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: cDest[0] = destColorPtr[0]; cDest[1] = destColorPtr[1]; @@ -529,7 +505,6 @@ void Splash::pipeRun(SplashPipe *pipe) { for (cp = 0; cp < SPOT_NCOMPS + 4; cp++) cDest[cp] = destColorPtr[cp]; break; -#endif } if (pipe->destAlphaPtr) { aDest = *pipe->destAlphaPtr; @@ -565,7 +540,6 @@ void Splash::pipeRun(SplashPipe *pipe) { } else { t = (aDest * 255) / pipe->shape - aDest; switch (bitmap->mode) { -#ifdef SPLASH_CMYK case splashModeDeviceN8: for (cp = 0; cp < SPOT_NCOMPS + 4; cp++) cSrcNonIso[cp] = clip255(pipe->cSrc[cp] + @@ -576,7 +550,6 @@ void Splash::pipeRun(SplashPipe *pipe) { cSrcNonIso[cp] = clip255(pipe->cSrc[cp] + ((pipe->cSrc[cp] - cDest[cp]) * t) / 255); break; -#endif case splashModeXBGR8: cSrcNonIso[3] = 255; // fallthrough @@ -606,13 +579,11 @@ void Splash::pipeRun(SplashPipe *pipe) { //----- blend function if (state->blendFunc) { -#ifdef SPLASH_CMYK if (bitmap->mode == splashModeDeviceN8) { for (int k = 4; k < 4 + SPOT_NCOMPS; k++) { cBlend[k] = 0; } } -#endif (*state->blendFunc)(cSrc, cDest, cBlend, bitmap->mode); } @@ -653,7 +624,6 @@ void Splash::pipeRun(SplashPipe *pipe) { cResult2 = state->rgbTransferB[div255((255 - aDest) * cSrc[2] + aDest * cBlend[2])]; break; -#ifdef SPLASH_CMYK case splashPipeResultColorNoAlphaBlendCMYK: cResult0 = state->cmykTransferC[div255((255 - aDest) * cSrc[0] + aDest * cBlend[0])]; @@ -669,7 +639,6 @@ void Splash::pipeRun(SplashPipe *pipe) { cResult[cp] = state->deviceNTransfer[cp][div255((255 - aDest) * cSrc[cp] + aDest * cBlend[cp])]; break; -#endif case splashPipeResultColorAlphaNoBlendMono: if (alphaI == 0) { @@ -693,7 +662,6 @@ void Splash::pipeRun(SplashPipe *pipe) { aSrc * cSrc[2]) / alphaI]; } break; -#ifdef SPLASH_CMYK case splashPipeResultColorAlphaNoBlendCMYK: if (alphaI == 0) { cResult0 = 0; @@ -721,7 +689,6 @@ void Splash::pipeRun(SplashPipe *pipe) { aSrc * cSrc[cp]) / alphaI]; } break; -#endif case splashPipeResultColorAlphaBlendMono: if (alphaI == 0) { @@ -753,7 +720,6 @@ void Splash::pipeRun(SplashPipe *pipe) { alphaI]; } break; -#ifdef SPLASH_CMYK case splashPipeResultColorAlphaBlendCMYK: if (alphaI == 0) { cResult0 = 0; @@ -791,7 +757,6 @@ void Splash::pipeRun(SplashPipe *pipe) { alphaI]; } break; -#endif } //----- write destination pixel @@ -827,7 +792,6 @@ void Splash::pipeRun(SplashPipe *pipe) { *pipe->destColorPtr++ = cResult1; *pipe->destColorPtr++ = cResult0; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: if (state->overprintMask & 1) { pipe->destColorPtr[0] = (state->overprintAdditive) ? @@ -861,7 +825,6 @@ void Splash::pipeRun(SplashPipe *pipe) { } pipe->destColorPtr += (SPOT_NCOMPS+4); break; -#endif } if (pipe->destAlphaPtr) { *pipe->destAlphaPtr++ = aResult; @@ -944,7 +907,6 @@ void Splash::pipeRunSimpleBGR8(SplashPipe *pipe) { ++pipe->x; } -#ifdef SPLASH_CMYK // special case: // !pipe->pattern && pipe->noTransparency && !state->blendFunc && // bitmap->mode == splashModeCMYK8 && pipe->destAlphaPtr) { @@ -993,7 +955,6 @@ void Splash::pipeRunSimpleDeviceN8(SplashPipe *pipe) { ++pipe->x; } -#endif // special case: // !pipe->pattern && !pipe->noTransparency && !state->softMask && @@ -1235,7 +1196,6 @@ void Splash::pipeRunAABGR8(SplashPipe *pipe) { ++pipe->x; } -#ifdef SPLASH_CMYK // special case: // !pipe->pattern && !pipe->noTransparency && !state->softMask && // pipe->usesShape && !pipe->alpha0Ptr && !state->blendFunc && @@ -1350,7 +1310,6 @@ void Splash::pipeRunAADeviceN8(SplashPipe *pipe) { ++pipe->x; } -#endif inline void Splash::pipeSetXY(SplashPipe *pipe, int x, int y) { pipe->x = x; @@ -1374,14 +1333,12 @@ inline void Splash::pipeSetXY(SplashPipe *pipe, int x, int y) { case splashModeXBGR8: pipe->destColorPtr = &bitmap->data[y * bitmap->rowSize + 4 * x]; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: pipe->destColorPtr = &bitmap->data[y * bitmap->rowSize + 4 * x]; break; case splashModeDeviceN8: pipe->destColorPtr = &bitmap->data[y * bitmap->rowSize + (SPOT_NCOMPS + 4) * x]; break; -#endif } if (bitmap->alpha) { pipe->destAlphaPtr = &bitmap->alpha[y * bitmap->width + x]; @@ -1419,14 +1376,12 @@ inline void Splash::pipeIncX(SplashPipe *pipe) { case splashModeXBGR8: pipe->destColorPtr += 4; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: pipe->destColorPtr += 4; break; case splashModeDeviceN8: pipe->destColorPtr += (SPOT_NCOMPS+4); break; -#endif } if (pipe->destAlphaPtr) { ++pipe->destAlphaPtr; @@ -1996,7 +1951,6 @@ void Splash::clear(SplashColorPtr color, unsigned char alpha) { } } break; -#ifdef SPLASH_CMYK case splashModeCMYK8: if (color[0] == color[1] && color[1] == color[2] && color[2] == color[3]) { if (bitmap->rowSize < 0) { @@ -2030,7 +1984,6 @@ void Splash::clear(SplashColorPtr color, unsigned char alpha) { row += bitmap->rowSize; } break; -#endif } if (bitmap->alpha) { @@ -3733,7 +3686,6 @@ SplashError Splash::drawImage(SplashImageSource src, SplashICCTransform tf, void ok = srcMode == splashModeBGR8; nComps = 3; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: ok = srcMode == splashModeCMYK8; nComps = 4; @@ -3742,7 +3694,6 @@ SplashError Splash::drawImage(SplashImageSource src, SplashICCTransform tf, void ok = srcMode == splashModeDeviceN8; nComps = SPOT_NCOMPS+4; break; -#endif default: ok = false; break; @@ -4213,10 +4164,8 @@ void Splash::scaleImageYdXd(SplashImageSource src, void *srcData, unsigned char *lineBuf, *alphaLineBuf; unsigned int *pixBuf, *alphaPixBuf; unsigned int pix0, pix1, pix2; -#ifdef SPLASH_CMYK unsigned int pix3; unsigned int pix[SPOT_NCOMPS+4], cp; -#endif unsigned int alpha; unsigned char *destPtr, *destAlphaPtr; int yp, yq, xp, xq, yt, y, yStep, xt, x, xStep, xx, xxa, d, d0, d1; @@ -4378,7 +4327,6 @@ void Splash::scaleImageYdXd(SplashImageSource src, void *srcData, *destPtr++ = (unsigned char)pix0; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: // compute the final pixel @@ -4421,7 +4369,6 @@ void Splash::scaleImageYdXd(SplashImageSource src, void *srcData, for (cp = 0; cp < SPOT_NCOMPS+4; cp++) *destPtr++ = (unsigned char)pix[cp]; break; -#endif case splashModeMono1: // mono1 is not allowed @@ -4563,7 +4510,6 @@ void Splash::scaleImageYdXu(SplashImageSource src, void *srcData, *destPtr++ = (unsigned char)pix[0]; } break; -#ifdef SPLASH_CMYK case splashModeCMYK8: for (i = 0; i < xStep; ++i) { *destPtr++ = (unsigned char)pix[0]; @@ -4578,7 +4524,6 @@ void Splash::scaleImageYdXu(SplashImageSource src, void *srcData, *destPtr++ = (unsigned char)pix[cp]; } break; -#endif } // process alpha @@ -4715,7 +4660,6 @@ void Splash::scaleImageYuXd(SplashImageSource src, void *srcData, *destPtr++ = (unsigned char)pix[0]; } break; -#ifdef SPLASH_CMYK case splashModeCMYK8: for (i = 0; i < yStep; ++i) { destPtr = destPtr0 + (i * scaledWidth + x) * nComps; @@ -4732,7 +4676,6 @@ void Splash::scaleImageYuXd(SplashImageSource src, void *srcData, *destPtr++ = (unsigned char)pix[cp]; } break; -#endif } // process alpha @@ -4868,7 +4811,6 @@ void Splash::scaleImageYuXu(SplashImageSource src, void *srcData, } } break; -#ifdef SPLASH_CMYK case splashModeCMYK8: for (i = 0; i < yStep; ++i) { for (j = 0; j < xStep; ++j) { @@ -4889,7 +4831,6 @@ void Splash::scaleImageYuXu(SplashImageSource src, void *srcData, } } break; -#endif } // process alpha @@ -5029,7 +4970,6 @@ void Splash::scaleImageYuXuBilinear(SplashImageSource src, void *srcData, *destPtr++ = (unsigned char)pix[1]; *destPtr++ = (unsigned char)pix[0]; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: *destPtr++ = (unsigned char)pix[0]; *destPtr++ = (unsigned char)pix[1]; @@ -5040,7 +4980,6 @@ void Splash::scaleImageYuXuBilinear(SplashImageSource src, void *srcData, for (int cp = 0; cp < SPOT_NCOMPS+4; cp++) *destPtr++ = (unsigned char)pix[cp]; break; -#endif } // process alpha @@ -5356,10 +5295,8 @@ void Splash::compositeBackground(SplashColorPtr color) { SplashColorPtr p; unsigned char *q; unsigned char alpha, alpha1, c, color0, color1, color2; -#ifdef SPLASH_CMYK unsigned char color3; unsigned char colorsp[SPOT_NCOMPS+4], cp; -#endif int x, y, mask; if (unlikely(bitmap->alpha == nullptr)) { @@ -5458,7 +5395,6 @@ void Splash::compositeBackground(SplashColorPtr color) { } } break; -#ifdef SPLASH_CMYK case splashModeCMYK8: color0 = color[0]; color1 = color[1]; @@ -5511,7 +5447,6 @@ void Splash::compositeBackground(SplashColorPtr color) { } } break; -#endif } memset(bitmap->alpha, 255, bitmap->width * bitmap->height); } @@ -5567,14 +5502,12 @@ bool Splash::gouraudTriangleShadedFill(SplashGouraudColor *shading) case splashModeXBGR8: colorComps=4; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: colorComps=4; break; case splashModeDeviceN8: colorComps=SPOT_NCOMPS+4; break; -#endif } SplashPipe pipe; @@ -5926,7 +5859,6 @@ SplashError Splash::blitTransparent(SplashBitmap *src, int xSrc, int ySrc, } } break; -#ifdef SPLASH_CMYK case splashModeCMYK8: for (y = 0; y < height; ++y) { p = &bitmap->data[(yDest + y) * bitmap->rowSize + 4 * xDest]; @@ -5949,7 +5881,6 @@ SplashError Splash::blitTransparent(SplashBitmap *src, int xSrc, int ySrc, } } break; -#endif } if (bitmap->alpha) { diff --git a/splash/Splash.h b/splash/Splash.h index d458a273..f18d7ae9 100644 --- a/splash/Splash.h +++ b/splash/Splash.h @@ -58,25 +58,18 @@ typedef void (*SplashICCTransform)(void *data, SplashBitmap *bitmap); //------------------------------------------------------------------------ enum SplashPipeResultColorCtrl { -#ifdef SPLASH_CMYK splashPipeResultColorNoAlphaBlendCMYK, splashPipeResultColorNoAlphaBlendDeviceN, -#endif splashPipeResultColorNoAlphaBlendRGB, splashPipeResultColorNoAlphaBlendMono, splashPipeResultColorAlphaNoBlendMono, splashPipeResultColorAlphaNoBlendRGB, -#ifdef SPLASH_CMYK splashPipeResultColorAlphaNoBlendCMYK, splashPipeResultColorAlphaNoBlendDeviceN, -#endif splashPipeResultColorAlphaBlendMono, - splashPipeResultColorAlphaBlendRGB -#ifdef SPLASH_CMYK - , + splashPipeResultColorAlphaBlendRGB, splashPipeResultColorAlphaBlendCMYK, splashPipeResultColorAlphaBlendDeviceN -#endif }; //------------------------------------------------------------------------ @@ -297,19 +290,15 @@ private: void pipeRunSimpleRGB8(SplashPipe *pipe); void pipeRunSimpleXBGR8(SplashPipe *pipe); void pipeRunSimpleBGR8(SplashPipe *pipe); -#ifdef SPLASH_CMYK void pipeRunSimpleCMYK8(SplashPipe *pipe); void pipeRunSimpleDeviceN8(SplashPipe *pipe); -#endif void pipeRunAAMono1(SplashPipe *pipe); void pipeRunAAMono8(SplashPipe *pipe); void pipeRunAARGB8(SplashPipe *pipe); void pipeRunAAXBGR8(SplashPipe *pipe); void pipeRunAABGR8(SplashPipe *pipe); -#ifdef SPLASH_CMYK void pipeRunAACMYK8(SplashPipe *pipe); void pipeRunAADeviceN8(SplashPipe *pipe); -#endif void pipeSetXY(SplashPipe *pipe, int x, int y); void pipeIncX(SplashPipe *pipe); void drawPixel(SplashPipe *pipe, int x, int y, bool noClip); diff --git a/splash/SplashBitmap.cc b/splash/SplashBitmap.cc index d12ef46a..6b3957d7 100644 --- a/splash/SplashBitmap.cc +++ b/splash/SplashBitmap.cc @@ -89,7 +89,6 @@ SplashBitmap::SplashBitmap(int widthA, int heightA, int rowPadA, rowSize = -1; } break; -#ifdef SPLASH_CMYK case splashModeCMYK8: if (width > 0 && width <= INT_MAX / 4) { rowSize = width * 4; @@ -104,7 +103,6 @@ SplashBitmap::SplashBitmap(int widthA, int heightA, int rowPadA, rowSize = -1; } break; -#endif } if (rowSize > 0) { rowSize += rowPad - 1; @@ -249,14 +247,12 @@ SplashError SplashBitmap::writePNMFile(FILE *f) { } break; -#ifdef SPLASH_CMYK case splashModeCMYK8: case splashModeDeviceN8: // PNM doesn't support CMYK error(errInternal, -1, "unsupported SplashBitmap mode"); return splashErrGeneric; break; -#endif } return splashOk; } @@ -310,7 +306,6 @@ void SplashBitmap::getPixel(int x, int y, SplashColorPtr pixel) { pixel[1] = p[1]; pixel[2] = p[0]; break; -#ifdef SPLASH_CMYK case splashModeCMYK8: p = &data[y * rowSize + 4 * x]; pixel[0] = p[0]; @@ -323,7 +318,6 @@ void SplashBitmap::getPixel(int x, int y, SplashColorPtr pixel) { for (int cp = 0; cp < SPOT_NCOMPS + 4; cp++) pixel[cp] = p[cp]; break; -#endif } } @@ -379,12 +373,10 @@ SplashError SplashBitmap::writeImgFile(SplashImageFileFormat format, FILE *f, in #endif #ifdef ENABLE_LIBJPEG - #ifdef SPLASH_CMYK case splashFormatJpegCMYK: writer = new JpegWriter(JpegWriter::CMYK); setJpegParams(writer, params); break; - #endif case splashFormatJpeg: writer = new JpegWriter(); setJpegParams(writer, params); @@ -406,12 +398,10 @@ SplashError SplashBitmap::writeImgFile(SplashImageFileFormat format, FILE *f, in case splashModeBGR8: writer = new TiffWriter(TiffWriter::RGB); break; -#ifdef SPLASH_CMYK case splashModeCMYK8: case splashModeDeviceN8: writer = new TiffWriter(TiffWriter::CMYK); break; -#endif default: fprintf(stderr, "TiffWriter: Mode %d not supported\n", mode); writer = new TiffWriter(); @@ -446,7 +436,6 @@ void SplashBitmap::getRGBLine(int yl, SplashColorPtr line) { m = byteToDbl(col[1]); y = byteToDbl(col[2]); k = byteToDbl(col[3]); -#ifdef SPLASH_CMYK if (separationList->size() > 0) { for (std::size_t i = 0; i < separationList->size(); i++) { if (col[i+4] > 0) { @@ -470,7 +459,6 @@ void SplashBitmap::getRGBLine(int yl, SplashColorPtr line) { if (y > 1) y = 1; if (k > 1) k = 1; } -#endif c1 = 1 - c; m1 = 1 - m; y1 = 1 - y; @@ -492,7 +480,6 @@ void SplashBitmap::getXBGRLine(int yl, SplashColorPtr line, ConversionMode conve m = byteToDbl(col[1]); y = byteToDbl(col[2]); k = byteToDbl(col[3]); -#ifdef SPLASH_CMYK if (separationList->size() > 0) { for (std::size_t i = 0; i < separationList->size(); i++) { if (col[i+4] > 0) { @@ -516,7 +503,6 @@ void SplashBitmap::getXBGRLine(int yl, SplashColorPtr line, ConversionMode conve if (y > 1) y = 1; if (k > 1) k = 1; } -#endif c1 = 1 - c; m1 = 1 - m; y1 = 1 - y; @@ -596,7 +582,6 @@ bool SplashBitmap::convertToXBGR(ConversionMode conversionMode) { return newdata != nullptr; } -#ifdef SPLASH_CMYK void SplashBitmap::getCMYKLine(int yl, SplashColorPtr line) { SplashColor col; @@ -636,13 +621,10 @@ void SplashBitmap::getCMYKLine(int yl, SplashColorPtr line) { *line++ = col[3]; } } -#endif SplashError SplashBitmap::writeImgFile(ImgWriter *writer, FILE *f, int hDPI, int vDPI, SplashColorMode imageWriterFormat) { if (mode != splashModeRGB8 && mode != splashModeMono8 && mode != splashModeMono1 && mode != splashModeXBGR8 && mode != splashModeBGR8 -#ifdef SPLASH_CMYK && mode != splashModeCMYK8 && mode != splashModeDeviceN8 -#endif ) { error(errInternal, -1, "unsupported SplashBitmap mode"); return splashErrGeneric; @@ -653,7 +635,6 @@ SplashError SplashBitmap::writeImgFile(ImgWriter *writer, FILE *f, int hDPI, int } switch (mode) { -#ifdef SPLASH_CMYK case splashModeCMYK8: if (writer->supportCMYK()) { SplashColorPtr row; @@ -704,7 +685,6 @@ SplashError SplashBitmap::writeImgFile(ImgWriter *writer, FILE *f, int hDPI, int delete[] row; } break; -#endif case splashModeRGB8: { SplashColorPtr row; diff --git a/splash/SplashBitmap.h b/splash/SplashBitmap.h index 8ffe15cf..3b98092f 100644 --- a/splash/SplashBitmap.h +++ b/splash/SplashBitmap.h @@ -98,9 +98,7 @@ public: void getPixel(int x, int y, SplashColorPtr pixel); void getRGBLine(int y, SplashColorPtr line); void getXBGRLine(int y, SplashColorPtr line, ConversionMode conversionMode = conversionOpaque); -#ifdef SPLASH_CMYK void getCMYKLine(int y, SplashColorPtr line); -#endif unsigned char getAlpha(int x, int y); // Caller takes ownership of the bitmap data. The SplashBitmap diff --git a/splash/SplashState.cc b/splash/SplashState.cc index 733fa0a3..9d4eb6fd 100644 --- a/splash/SplashState.cc +++ b/splash/SplashState.cc @@ -35,10 +35,7 @@ // number of components in each color mode int splashColorModeNComps[] = { - 1, 1, 3, 3, 4 -#ifdef SPLASH_CMYK - , 4, 4 + SPOT_NCOMPS -#endif + 1, 1, 3, 3, 4, 4, 4 + SPOT_NCOMPS }; SplashState::SplashState(int width, int height, bool vectorAntialias, @@ -80,14 +77,12 @@ SplashState::SplashState(int width, int height, bool vectorAntialias, rgbTransferG[i] = (unsigned char)i; rgbTransferB[i] = (unsigned char)i; grayTransfer[i] = (unsigned char)i; -#ifdef SPLASH_CMYK cmykTransferC[i] = (unsigned char)i; cmykTransferM[i] = (unsigned char)i; cmykTransferY[i] = (unsigned char)i; cmykTransferK[i] = (unsigned char)i; for (int cp = 0; cp < SPOT_NCOMPS+4; cp++) deviceNTransfer[cp][i] = (unsigned char)i; -#endif } overprintMask = 0xffffffff; overprintAdditive = false; @@ -133,14 +128,12 @@ SplashState::SplashState(int width, int height, bool vectorAntialias, rgbTransferG[i] = (unsigned char)i; rgbTransferB[i] = (unsigned char)i; grayTransfer[i] = (unsigned char)i; -#ifdef SPLASH_CMYK cmykTransferC[i] = (unsigned char)i; cmykTransferM[i] = (unsigned char)i; cmykTransferY[i] = (unsigned char)i; cmykTransferK[i] = (unsigned char)i; for (int cp = 0; cp < SPOT_NCOMPS+4; cp++) deviceNTransfer[cp][i] = (unsigned char)i; -#endif } overprintMask = 0xffffffff; overprintAdditive = false; @@ -184,14 +177,12 @@ SplashState::SplashState(SplashState *state) { memcpy(rgbTransferG, state->rgbTransferG, 256); memcpy(rgbTransferB, state->rgbTransferB, 256); memcpy(grayTransfer, state->grayTransfer, 256); -#ifdef SPLASH_CMYK memcpy(cmykTransferC, state->cmykTransferC, 256); memcpy(cmykTransferM, state->cmykTransferM, 256); memcpy(cmykTransferY, state->cmykTransferY, 256); memcpy(cmykTransferK, state->cmykTransferK, 256); for (int cp = 0; cp < SPOT_NCOMPS+4; cp++) memcpy(deviceNTransfer[cp], state->deviceNTransfer[cp], 256); -#endif overprintMask = state->overprintMask; overprintAdditive = state->overprintAdditive; next = nullptr; @@ -246,22 +237,18 @@ void SplashState::setSoftMask(SplashBitmap *softMaskA) { void SplashState::setTransfer(unsigned char *red, unsigned char *green, unsigned char *blue, unsigned char *gray) { -#ifdef SPLASH_CMYK - int i; - - for (i = 0; i < 256; ++i) { + for (int i = 0; i < 256; ++i) { cmykTransferC[i] = 255 - rgbTransferR[255 - i]; cmykTransferM[i] = 255 - rgbTransferG[255 - i]; cmykTransferY[i] = 255 - rgbTransferB[255 - i]; cmykTransferK[i] = 255 - grayTransfer[255 - i]; } - for (i = 0; i < 256; ++i) { + for (int i = 0; i < 256; ++i) { deviceNTransfer[0][i] = 255 - rgbTransferR[255 - i]; deviceNTransfer[1][i] = 255 - rgbTransferG[255 - i]; deviceNTransfer[2][i] = 255 - rgbTransferB[255 - i]; deviceNTransfer[3][i] = 255 - grayTransfer[255 - i]; } -#endif memcpy(rgbTransferR, red, 256); memcpy(rgbTransferG, green, 256); memcpy(rgbTransferB, blue, 256); diff --git a/splash/SplashState.h b/splash/SplashState.h index e367f5f2..58d8338e 100644 --- a/splash/SplashState.h +++ b/splash/SplashState.h @@ -125,13 +125,11 @@ private: rgbTransferG[256], rgbTransferB[256]; unsigned char grayTransfer[256]; -#ifdef SPLASH_CMYK unsigned char cmykTransferC[256], cmykTransferM[256], cmykTransferY[256], cmykTransferK[256]; unsigned char deviceNTransfer[SPOT_NCOMPS+4][256]; -#endif unsigned int overprintMask; bool overprintAdditive; diff --git a/splash/SplashTypes.h b/splash/SplashTypes.h index deb91881..b00693fe 100644 --- a/splash/SplashTypes.h +++ b/splash/SplashTypes.h @@ -27,6 +27,8 @@ #ifndef SPLASHTYPES_H #define SPLASHTYPES_H +#include <cstddef> + //------------------------------------------------------------------------ // coordinates //------------------------------------------------------------------------ @@ -59,16 +61,13 @@ enum SplashColorMode { // RGBRGB... splashModeBGR8, // 1 byte per component, 3 bytes per pixel: // BGRBGR... - splashModeXBGR8 // 1 byte per component, 4 bytes per pixel: + splashModeXBGR8, // 1 byte per component, 4 bytes per pixel: // XBGRXBGR... -#ifdef SPLASH_CMYK - , splashModeCMYK8, // 1 byte per component, 4 bytes per pixel: // CMYKCMYK... splashModeDeviceN8 // 1 byte per component, // 4 bytes + n bytes spot colors per pixel: // CMYKSSSSCMYKSSSS... -#endif }; enum SplashThinLineMode { @@ -82,11 +81,7 @@ enum SplashThinLineMode { extern int splashColorModeNComps[]; // max number of components in any SplashColor -#ifdef SPLASH_CMYK -#define splashMaxColorComps SPOT_NCOMPS+4 -#else -#define splashMaxColorComps 4 -#endif +constexpr std::size_t splashMaxColorComps = SPOT_NCOMPS+4; typedef unsigned char SplashColor[splashMaxColorComps]; typedef unsigned char *SplashColorPtr; @@ -101,7 +96,6 @@ static inline unsigned char splashBGR8R(SplashColorPtr bgr8) { return bgr8[2]; } static inline unsigned char splashBGR8G(SplashColorPtr bgr8) { return bgr8[1]; } static inline unsigned char splashBGR8B(SplashColorPtr bgr8) { return bgr8[0]; } -#ifdef SPLASH_CMYK // CMYK8 static inline unsigned char splashCMYK8C(SplashColorPtr cmyk8) { return cmyk8[0]; } static inline unsigned char splashCMYK8M(SplashColorPtr cmyk8) { return cmyk8[1]; } @@ -114,39 +108,32 @@ static inline unsigned char splashDeviceN8M(SplashColorPtr deviceN8) { return de static inline unsigned char splashDeviceN8Y(SplashColorPtr deviceN8) { return deviceN8[2]; } static inline unsigned char splashDeviceN8K(SplashColorPtr deviceN8) { return deviceN8[3]; } static inline unsigned char splashDeviceN8S(SplashColorPtr deviceN8, int nSpot) { return deviceN8[4 + nSpot]; } -#endif static inline void splashClearColor(SplashColorPtr dest) { dest[0] = 0; dest[1] = 0; dest[2] = 0; -#ifdef SPLASH_CMYK dest[3] = 0; for (int i = 4; i < SPOT_NCOMPS + 4; i++) dest[i] = 0; -#endif } static inline void splashColorCopy(SplashColorPtr dest, SplashColorPtr src) { dest[0] = src[0]; dest[1] = src[1]; dest[2] = src[2]; -#ifdef SPLASH_CMYK dest[3] = src[3]; for (int i = 4; i < SPOT_NCOMPS + 4; i++) dest[i] = src[i]; -#endif } static inline void splashColorXor(SplashColorPtr dest, SplashColorPtr src) { dest[0] ^= src[0]; dest[1] ^= src[1]; dest[2] ^= src[2]; -#ifdef SPLASH_CMYK dest[3] ^= src[3]; for (int i = 4; i < SPOT_NCOMPS + 4; i++) dest[i] ^= src[i]; -#endif } //------------------------------------------------------------------------ diff --git a/utils/pdftoppm.cc b/utils/pdftoppm.cc index 03d416e5..48a39f78 100644 --- a/utils/pdftoppm.cc +++ b/utils/pdftoppm.cc @@ -97,9 +97,7 @@ static GooString jpegOpt; static int jpegQuality = -1; static bool jpegProgressive = false; static bool jpegOptimize = false; -#ifdef SPLASH_CMYK static bool overprint = false; -#endif static char enableFreeTypeStr[16] = ""; static char antialiasStr[16] = ""; static char vectorAntialiasStr[16] = ""; @@ -170,17 +168,13 @@ static const ArgDesc argDesc[] = { #ifdef ENABLE_LIBJPEG {"-jpeg", argFlag, &jpeg, 0, "generate a JPEG file"}, -#ifdef SPLASH_CMYK {"-jpegcmyk",argFlag, &jpegcmyk, 0, "generate a CMYK JPEG file"}, -#endif {"-jpegopt", argGooString, &jpegOpt, 0, "jpeg options, with format <opt1>=<val1>[,<optN>=<valN>]*"}, #endif -#ifdef SPLASH_CMYK {"-overprint",argFlag, &overprint, 0, "enable overprint"}, -#endif #ifdef ENABLE_LIBTIFF {"-tiff", argFlag, &tiff, 0, "generate a TIFF file"}, @@ -368,9 +362,7 @@ static void processPageJobs() { // process the job SplashOutputDev *splashOut = new SplashOutputDev(mono ? splashModeMono1 : gray ? splashModeMono8 : -#ifdef SPLASH_CMYK (jpegcmyk || overprint) ? splashModeDeviceN8 : -#endif splashModeRGB8, 4, false, *pageJob.paperColor, true, thinLineMode); splashOut->setFontAntialias(fontAntialias); splashOut->setVectorAntialias(vectorAntialias); @@ -524,14 +516,11 @@ int main(int argc, char *argv[]) { } // write PPM files -#ifdef SPLASH_CMYK if (jpegcmyk || overprint) { globalParams->setOverprintPreview(true); for (int cp = 0; cp < SPOT_NCOMPS+4; cp++) paperColor[cp] = 0; - } else -#endif - { + } else { paperColor[0] = 255; paperColor[1] = 255; paperColor[2] = 255; @@ -541,9 +530,7 @@ int main(int argc, char *argv[]) { splashOut = new SplashOutputDev(mono ? splashModeMono1 : gray ? splashModeMono8 : -#ifdef SPLASH_CMYK (jpegcmyk || overprint) ? splashModeDeviceN8 : -#endif splashModeRGB8, 4, false, paperColor, true, thinLineMode); diff --git a/utils/pdftops.cc b/utils/pdftops.cc index d3d8ffc3..00ec7892 100644 --- a/utils/pdftops.cc +++ b/utils/pdftops.cc @@ -114,9 +114,7 @@ static char userPassword[33] = "\001"; static bool quiet = false; static bool printVersion = false; static bool printHelp = false; -#ifdef SPLASH_CMYK static bool overprint = false; -#endif static const ArgDesc argDesc[] = { {"-f", argInt, &firstPage, 0, @@ -187,10 +185,8 @@ static const ArgDesc argDesc[] = { "owner password (for encrypted files)"}, {"-upw", argString, userPassword, sizeof(userPassword), "user password (for encrypted files)"}, -#ifdef SPLASH_CMYK {"-overprint",argFlag, &overprint, 0, "enable overprint"}, -#endif {"-q", argFlag, &quiet, 0, "don't print any messages or errors"}, {"-v", argFlag, &printVersion, 0, @@ -288,11 +284,9 @@ int main(int argc, char *argv[]) { goto err0; } } -#ifdef SPLASH_CMYK if (overprint) { globalParams->setOverprintPreview(true); } -#endif if (expand) { globalParams->setPSExpandSmaller(true); } _______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
