You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2014/03/08 14:17:17 UTC
svn commit: r1575540 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
Author: tilman
Date: Sat Mar 8 13:17:17 2014
New Revision: 1575540
URL: http://svn.apache.org/r1575540
Log:
PDFBOX-1966: Type 1, 4 and 5 shadings for shFill(); use transparency for type 6 and 7; DRY principle will be applied later
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java?rev=1575540&r1=1575539&r2=1575540&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java Sat Mar 8 13:17:17 2014
@@ -71,9 +71,15 @@ import org.apache.pdfbox.pdmodel.graphic
import org.apache.pdfbox.pdmodel.graphics.pattern.PDTilingPattern;
import org.apache.pdfbox.pdmodel.graphics.shading.AxialShadingPaint;
import org.apache.pdfbox.pdmodel.graphics.shading.PDShading;
+import org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType1;
import org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType2;
import org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType3;
+import org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType4;
+import org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType5;
import org.apache.pdfbox.pdmodel.graphics.shading.RadialShadingPaint;
+import org.apache.pdfbox.pdmodel.graphics.shading.Type1ShadingPaint;
+import org.apache.pdfbox.pdmodel.graphics.shading.Type4ShadingPaint;
+import org.apache.pdfbox.pdmodel.graphics.shading.Type5ShadingPaint;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotation;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAppearanceDictionary;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAppearanceStream;
@@ -836,8 +842,7 @@ public class PageDrawer extends PDFStrea
switch (shadingType)
{
case 1:
- // TODO
- LOG.debug("Function based shading not yet supported");
+ paint = new Type1ShadingPaint((PDShadingType1) shading, ctm, pageHeight);
break;
case 2:
paint = new AxialShadingPaint((PDShadingType2) shading, ctm, pageHeight);
@@ -846,11 +851,16 @@ public class PageDrawer extends PDFStrea
paint = new RadialShadingPaint((PDShadingType3) shading, ctm, pageHeight);
break;
case 4:
+ paint = new Type4ShadingPaint((PDShadingType4) shading, ctm, pageHeight);
+ break;
case 5:
+ paint = new Type5ShadingPaint((PDShadingType5) shading, ctm, pageHeight);
+ break;
case 6:
case 7:
// TODO
LOG.debug("Shading type " + shadingType + " not yet supported");
+ paint = new Color(0, 0, 0, 0); // transparent
break;
default:
throw new IOException("Invalid ShadingType " + shadingType + " for Shading " + shadingName);