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