[poppler] poppler/CairoOutputDev.cc
Adrian Johnson
ajohnson at kemper.freedesktop.org
Fri Nov 2 05:29:40 PDT 2012
poppler/CairoOutputDev.cc | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
New commits:
commit ae8fc0cbfc6123189e17b3cf1286e0540f181646
Author: Adrian Johnson <ajohnson at redneon.com>
Date: Tue Oct 30 21:22:04 2012 +1030
cairo: support parameterized Gouraud shading
Bug 56463
diff --git a/poppler/CairoOutputDev.cc b/poppler/CairoOutputDev.cc
index bab4562..2cd67c9 100644
--- a/poppler/CairoOutputDev.cc
+++ b/poppler/CairoOutputDev.cc
@@ -945,10 +945,21 @@ GBool CairoOutputDev::gouraudTriangleShadedFill(GfxState *state, GfxGouraudTrian
fill_pattern = cairo_pattern_create_mesh ();
for (i = 0; i < shading->getNTriangles(); i++) {
- shading->getTriangle(i,
- &x0, &y0, &color[0],
- &x1, &y1, &color[1],
- &x2, &y2, &color[2]);
+ if (shading->isParameterized()) {
+ double color0, color1, color2;
+ shading->getTriangle(i, &x0, &y0, &color0,
+ &x1, &y1, &color1,
+ &x2, &y2, &color2);
+ shading->getParameterizedColor(color0, &color[0]);
+ shading->getParameterizedColor(color1, &color[1]);
+ shading->getParameterizedColor(color2, &color[2]);
+ } else {
+ shading->getTriangle(i,
+ &x0, &y0, &color[0],
+ &x1, &y1, &color[1],
+ &x2, &y2, &color[2]);
+
+ }
cairo_mesh_pattern_begin_patch (fill_pattern);
More information about the poppler
mailing list