summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch93
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],
+