diff options
Diffstat (limited to 'media-gfx/inkscape/files/inkscape-0.48.0-poppler-0.16.patch')
-rw-r--r-- | media-gfx/inkscape/files/inkscape-0.48.0-poppler-0.16.patch | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/media-gfx/inkscape/files/inkscape-0.48.0-poppler-0.16.patch b/media-gfx/inkscape/files/inkscape-0.48.0-poppler-0.16.patch new file mode 100644 index 000000000000..25327d9d1736 --- /dev/null +++ b/media-gfx/inkscape/files/inkscape-0.48.0-poppler-0.16.patch @@ -0,0 +1,93 @@ +=== modified file 'configure.ac' +--- configure.ac 2010-11-15 01:32:59 +0000 ++++ configure.ac 2010-11-21 12:38:01 +0000 +@@ -611,11 +611,12 @@ + AC_DEFINE(POPPLER_NEW_GFXFONT, 1, [Use GfxFont from Poppler >= 0.8.3]) + fi + +-AC_MSG_CHECKING(for new color space API in Poppler) + ink_svd_CPPFLAGS=$CPPFLAGS + ink_svd_LIBS=$LIBS + CPPFLAGS="$CPPFLAGS $POPPLER_CFLAGS" + LIBS="$LIBS $POPPLER_LIBS" ++ ++AC_MSG_CHECKING(for new color space API in Poppler) + popplercolor="no" + AC_COMPILE_IFELSE([ + #include <GfxState.h> +@@ -627,16 +628,36 @@ + return 0; + } + ], [popplercolor=yes]) ++if test "x$popplercolor" = "xyes"; then ++ AC_DEFINE(POPPLER_NEW_COLOR_SPACE_API, 1, [Use color space API from Poppler >= 0.12.2]) ++ AC_MSG_RESULT(yes) ++else ++ AC_MSG_RESULT(no) ++fi ++ ++# Poppler's b604a008 commit changes this ++AC_MSG_CHECKING([whether Poppler's GfxPatch no longer uses GfxColor]) ++popplergfxcolor="no" ++AC_COMPILE_IFELSE([ ++#include <GfxState.h> ++ ++int main() { ++ GfxPatch::ColorValue color = {c: {0}}; ++ GfxPatch patch; ++ patch.color[[0]][[0]] = color; ++ return 0; ++} ++], [popplergfxcolor=yes]) ++if test "x$popplergfxcolor" = "xyes"; then ++ AC_DEFINE(POPPLER_NEW_GFXPATCH, 1, [GfxPatch no longer uses GfxColor in >= 0.15.1]) ++ AC_MSG_RESULT(yes) ++else ++ AC_MSG_RESULT(no) ++fi ++ + CPPFLAGS=$ink_svd_CPPFLAGS + LIBS=$ink_svd_LIBS + +-if test "x$popplercolor" = "xyes"; then +- AC_DEFINE(POPPLER_NEW_COLOR_SPACE_API, 1, [Use color space API from Poppler >= 0.12.2]) +- AC_MSG_RESULT(yes) +-else +- AC_MSG_RESULT(no) +-fi +- + dnl ****************************** + dnl Inkboard dependency checking + dnl ****************************** + +=== modified file 'src/extension/internal/pdfinput/pdf-parser.cpp' +--- src/extension/internal/pdfinput/pdf-parser.cpp 2010-03-21 01:53:59 +0000 ++++ src/extension/internal/pdfinput/pdf-parser.cpp 2010-11-21 12:38:01 +0000 +@@ -1874,6 +1874,9 @@ + + void PdfParser::fillPatch(GfxPatch *patch, int nComps, int depth) { + GfxPatch patch00, patch01, patch10, patch11; ++#ifdef POPPLER_NEW_GFXPATCH ++ GfxColor color; ++#endif + double xx[4][8], yy[4][8]; + double xxm, yym; + double patchColorDelta = colorDeltas[pdfPatchMeshShading-1]; +@@ -1890,9 +1893,16 @@ + > patchColorDelta) { + break; + } ++#ifdef POPPLER_NEW_GFXPATCH ++ color.c[i] = GfxColorComp(patch->color[0][0].c[i]); ++#endif + } + if (i == nComps || depth == maxDepths[pdfPatchMeshShading-1]) { ++#ifdef POPPLER_NEW_GFXPATCH ++ state->setFillColor(&color); ++#else + state->setFillColor(&patch->color[0][0]); ++#endif + state->moveTo(patch->x[0][0], patch->y[0][0]); + state->curveTo(patch->x[0][1], patch->y[0][1], + patch->x[0][2], patch->y[0][2], + |