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 2015/05/04 18:32:20 UTC

svn commit: r1677628 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/

Author: tilman
Date: Mon May  4 16:32:19 2015
New Revision: 1677628

URL: http://svn.apache.org/r1677628
Log:
PDFBOX-2576: refactored to remove protected field deviceBounds that is used only in initialization

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/AxialShadingContext.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/GouraudShadingContext.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PatchMeshesShadingContext.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/RadialShadingContext.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/ShadingContext.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/TriangleBasedShadingContext.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type1ShadingContext.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type4ShadingContext.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type5ShadingContext.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type6ShadingContext.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type7ShadingContext.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/AxialShadingContext.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/AxialShadingContext.java?rev=1677628&r1=1677627&r2=1677628&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/AxialShadingContext.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/AxialShadingContext.java Mon May  4 16:32:19 2015
@@ -72,7 +72,7 @@ public class AxialShadingContext extends
     public AxialShadingContext(PDShadingType2 shading, ColorModel colorModel, AffineTransform xform,
                                Matrix matrix, Rectangle deviceBounds) throws IOException
     {
-        super(shading, colorModel, xform, matrix, deviceBounds);
+        super(shading, colorModel, xform, matrix);
         this.axialShadingType = shading;
         coords = shading.getCoords().toFloatArray();
 

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/GouraudShadingContext.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/GouraudShadingContext.java?rev=1677628&r1=1677627&r2=1677628&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/GouraudShadingContext.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/GouraudShadingContext.java Mon May  4 16:32:19 2015
@@ -57,9 +57,9 @@ abstract class GouraudShadingContext ext
      * @throws IOException if something went wrong
      */
     protected GouraudShadingContext(PDShading shading, ColorModel colorModel, AffineTransform xform,
-                                    Matrix matrix, Rectangle deviceBounds) throws IOException
+                                    Matrix matrix) throws IOException
     {
-        super(shading, colorModel, xform, matrix, deviceBounds);
+        super(shading, colorModel, xform, matrix);
         triangleList = new ArrayList<ShadedTriangle>();
     }
 
@@ -101,10 +101,10 @@ abstract class GouraudShadingContext ext
     }
 
     @Override
-    protected Map<Point, Integer> calcPixelTable() throws IOException
+    protected Map<Point, Integer> calcPixelTable(Rectangle deviceBounds) throws IOException
     {
         Map<Point, Integer> map = new HashMap<Point, Integer>();
-        super.calcPixelTable(triangleList, map);
+        super.calcPixelTable(triangleList, map, deviceBounds);
         return map;
     }
 

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PatchMeshesShadingContext.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PatchMeshesShadingContext.java?rev=1677628&r1=1677627&r2=1677628&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PatchMeshesShadingContext.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/PatchMeshesShadingContext.java Mon May  4 16:32:19 2015
@@ -56,14 +56,13 @@ abstract class PatchMeshesShadingContext
      * @param colorModel the color model to be used
      * @param xform transformation for user to device space
      * @param matrix the pattern matrix concatenated with that of the parent content stream
-     * @param deviceBounds device bounds
      * @throws IOException if something went wrong
      */
     protected PatchMeshesShadingContext(PDShading shading, ColorModel colorModel,
-                                        AffineTransform xform, Matrix matrix, Rectangle deviceBounds)
+                                        AffineTransform xform, Matrix matrix)
                                         throws IOException
     {
-        super(shading, colorModel, xform, matrix, deviceBounds);
+        super(shading, colorModel, xform, matrix);
         patchMeshesShadingType = shading;
         bitsPerFlag = ((PDShadingType4) shading).getBitsPerFlag();
         patchList = new ArrayList<Patch>();
@@ -252,12 +251,12 @@ abstract class PatchMeshesShadingContext
     }
 
     @Override
-    protected Map<Point, Integer> calcPixelTable()  throws IOException
+    protected Map<Point, Integer> calcPixelTable(Rectangle deviceBounds)  throws IOException
     {
         Map<Point, Integer> map = new HashMap<Point, Integer>();
         for (Patch it : patchList)
         {
-            super.calcPixelTable(it.listOfTriangles, map);
+            super.calcPixelTable(it.listOfTriangles, map, deviceBounds);
         }
         return map;
     }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/RadialShadingContext.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/RadialShadingContext.java?rev=1677628&r1=1677627&r2=1677628&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/RadialShadingContext.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/RadialShadingContext.java Mon May  4 16:32:19 2015
@@ -77,7 +77,7 @@ public class RadialShadingContext extend
                                 AffineTransform xform, Matrix matrix, Rectangle deviceBounds)
                                 throws IOException
     {
-        super(shading, colorModel, xform, matrix, deviceBounds);
+        super(shading, colorModel, xform, matrix);
         this.radialShadingType = shading;
         coords = shading.getCoords().toFloatArray();
 

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/ShadingContext.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/ShadingContext.java?rev=1677628&r1=1677627&r2=1677628&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/ShadingContext.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/ShadingContext.java Mon May  4 16:32:19 2015
@@ -41,7 +41,6 @@ public abstract class ShadingContext
     private static final Log LOG = LogFactory.getLog(ShadingContext.class);
 
     protected final PDShading shading;
-    protected final Rectangle deviceBounds;
     protected PDColorSpace shadingColorSpace;
     protected PDRectangle bboxRect;
     protected float minBBoxX, minBBoxY, maxBBoxX, maxBBoxY;
@@ -56,15 +55,13 @@ public abstract class ShadingContext
      * @param cm the color model to be used
      * @param xform transformation for user to device space
      * @param matrix the pattern matrix concatenated with that of the parent content stream
-     * @param deviceBounds device bounds
      * @throws java.io.IOException if there is an error getting the color space
      * or doing background color conversion.
      */
     public ShadingContext(PDShading shading, ColorModel cm, AffineTransform xform,
-                          Matrix matrix, Rectangle deviceBounds) throws IOException
+                          Matrix matrix) throws IOException
     {
         this.shading = shading;
-        this.deviceBounds = deviceBounds;
         shadingColorSpace = shading.getColorSpace();
 
         // create the output color model using RGB+alpha as color space

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/TriangleBasedShadingContext.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/TriangleBasedShadingContext.java?rev=1677628&r1=1677627&r2=1677628&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/TriangleBasedShadingContext.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/TriangleBasedShadingContext.java Mon May  4 16:32:19 2015
@@ -58,9 +58,9 @@ abstract class TriangleBasedShadingConte
      * @throws IOException if there is an error getting the color space or doing background color conversion.
      */
     TriangleBasedShadingContext(PDShading shading, ColorModel cm, AffineTransform xform,
-                                       Matrix matrix, Rectangle deviceBounds) throws IOException
+                                       Matrix matrix) throws IOException
     {
-        super(shading, cm, xform, matrix, deviceBounds);
+        super(shading, cm, xform, matrix);
         PDTriangleBasedShadingType triangleBasedShadingType = (PDTriangleBasedShadingType) shading;
         hasFunction = shading.getFunction() != null;
         bitsPerCoordinate = triangleBasedShadingType.getBitsPerCoordinate();
@@ -74,9 +74,9 @@ abstract class TriangleBasedShadingConte
     /**
      * Creates the pixel table.
      */
-    protected final void createPixelTable() throws IOException
+    protected final void createPixelTable(Rectangle deviceBounds) throws IOException
     {
-        pixelTable = calcPixelTable();
+        pixelTable = calcPixelTable(deviceBounds);
     }
 
     /**
@@ -84,13 +84,13 @@ abstract class TriangleBasedShadingConte
      *
      * @return a Hash table which contains all the points' positions and colors of one image
      */
-    abstract Map<Point, Integer> calcPixelTable() throws IOException;
+    abstract Map<Point, Integer> calcPixelTable(Rectangle deviceBounds) throws IOException;
 
     /**
-     * Get the points from the triangles, calculate their color and add  point-color mappings.
+     * Get the points from the triangles, calculate their color and add point-color mappings.
      */
-    protected void calcPixelTable(List<ShadedTriangle> triangleList, Map<Point, Integer> map)
-            throws IOException
+    protected void calcPixelTable(List<ShadedTriangle> triangleList, Map<Point, Integer> map,
+            Rectangle deviceBounds) throws IOException
     {
         for (ShadedTriangle tri : triangleList)
         {

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type1ShadingContext.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type1ShadingContext.java?rev=1677628&r1=1677627&r2=1677628&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type1ShadingContext.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type1ShadingContext.java Mon May  4 16:32:19 2015
@@ -52,7 +52,7 @@ class Type1ShadingContext extends Shadin
     Type1ShadingContext(PDShadingType1 shading, ColorModel colorModel, AffineTransform xform,
                                Matrix matrix, Rectangle deviceBounds) throws IOException
     {
-        super(shading, colorModel, xform, matrix, deviceBounds);
+        super(shading, colorModel, xform, matrix);
         this.type1ShadingType = shading;
 
         // (Optional) An array of four numbers [ xmin xmax ymin ymax ] 

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type4ShadingContext.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type4ShadingContext.java?rev=1677628&r1=1677627&r2=1677628&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type4ShadingContext.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type4ShadingContext.java Mon May  4 16:32:19 2015
@@ -55,14 +55,14 @@ class Type4ShadingContext extends Gourau
     Type4ShadingContext(PDShadingType4 shading, ColorModel cm, AffineTransform xform,
                                Matrix matrix, Rectangle deviceBounds) throws IOException
     {
-        super(shading, cm, xform, matrix, deviceBounds);
+        super(shading, cm, xform, matrix);
         LOG.debug("Type4ShadingContext");
 
         bitsPerFlag = shading.getBitsPerFlag();
         //TODO handle cases where bitperflag isn't 8
         LOG.debug("bitsPerFlag: " + bitsPerFlag);
         triangleList = getTriangleList(xform, matrix);
-        createPixelTable();
+        createPixelTable(deviceBounds);
     }
 
     private List<ShadedTriangle> getTriangleList(AffineTransform xform, Matrix matrix)

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type5ShadingContext.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type5ShadingContext.java?rev=1677628&r1=1677627&r2=1677628&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type5ShadingContext.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type5ShadingContext.java Mon May  4 16:32:19 2015
@@ -55,12 +55,12 @@ class Type5ShadingContext extends Gourau
     Type5ShadingContext(PDShadingType5 shading, ColorModel cm, AffineTransform xform,
                                Matrix matrix, Rectangle deviceBounds) throws IOException
     {
-        super(shading, cm, xform, matrix, deviceBounds);
+        super(shading, cm, xform, matrix);
 
         LOG.debug("Type5ShadingContext");
 
         triangleList = getTriangleList(xform, matrix);
-        createPixelTable();
+        createPixelTable(deviceBounds);
     }
 
     private List<ShadedTriangle> getTriangleList(AffineTransform xform, Matrix matrix)

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type6ShadingContext.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type6ShadingContext.java?rev=1677628&r1=1677627&r2=1677628&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type6ShadingContext.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type6ShadingContext.java Mon May  4 16:32:19 2015
@@ -40,15 +40,15 @@ class Type6ShadingContext extends PatchM
      * @param colorModel the color model to be used
      * @param xform transformation for user to device space
      * @param matrix the pattern matrix concatenated with that of the parent content stream
-     * @param dBounds device bounds
+     * @param deviceBounds device bounds
      * @throws IOException if something went wrong
      */
     Type6ShadingContext(PDShadingType6 shading, ColorModel colorModel, AffineTransform xform,
-                               Matrix matrix, Rectangle dBounds) throws IOException
+                               Matrix matrix, Rectangle deviceBounds) throws IOException
     {
-        super(shading, colorModel, xform, matrix, dBounds);
+        super(shading, colorModel, xform, matrix);
         patchList = getCoonsPatchList(xform, matrix);
-        createPixelTable();
+        createPixelTable(deviceBounds);
     }
 
     // get the patch list which forms the type 6 shading image from data stream

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type7ShadingContext.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type7ShadingContext.java?rev=1677628&r1=1677627&r2=1677628&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type7ShadingContext.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type7ShadingContext.java Mon May  4 16:32:19 2015
@@ -46,9 +46,9 @@ class Type7ShadingContext extends PatchM
     Type7ShadingContext(PDShadingType7 shading, ColorModel colorModel, AffineTransform xform,
                                Matrix matrix, Rectangle deviceBounds) throws IOException
     {
-        super(shading, colorModel, xform, matrix, deviceBounds);
+        super(shading, colorModel, xform, matrix);
         patchList = getTensorPatchList(xform, matrix);
-        createPixelTable();
+        createPixelTable(deviceBounds);
     }
 
     // get the patch list which forms the type 7 shading image from data stream