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 2017/03/03 22:18:26 UTC
svn commit: r1785412 -
/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/ShadedTriangle.java
Author: tilman
Date: Fri Mar 3 22:18:26 2017
New Revision: 1785412
URL: http://svn.apache.org/viewvc?rev=1785412&view=rev
Log:
PDFBOX-2852: use switch
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/ShadedTriangle.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/ShadedTriangle.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/ShadedTriangle.java?rev=1785412&r1=1785411&r2=1785412&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/ShadedTriangle.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/ShadedTriangle.java Fri Mar 3 22:18:26 2017
@@ -234,30 +234,29 @@ class ShadedTriangle
int numberOfColorComponents = color[0].length;
float[] pCol = new float[numberOfColorComponents];
- if (degree == 1)
+ switch (degree)
{
- for (int i = 0; i < numberOfColorComponents; i++)
- {
- // average
- pCol[i] = (color[0][i] + color[1][i] + color[2][i]) / 3.0f;
- }
- }
- else if (degree == 2)
- {
- // linear interpolation
- Point tp = new Point((int) Math.round(p.getX()), (int) Math.round(p.getY()));
- return line.calcColor(tp);
- }
- else
- {
- float aw = (float) (getArea(p, corner[1], corner[2]) / area);
- float bw = (float) (getArea(p, corner[2], corner[0]) / area);
- float cw = (float) (getArea(p, corner[0], corner[1]) / area);
- for (int i = 0; i < numberOfColorComponents; i++)
- {
- // barycentric interpolation
- pCol[i] = color[0][i] * aw + color[1][i] * bw + color[2][i] * cw;
- }
+ case 1:
+ for (int i = 0; i < numberOfColorComponents; i++)
+ {
+ // average
+ pCol[i] = (color[0][i] + color[1][i] + color[2][i]) / 3.0f;
+ }
+ break;
+ case 2:
+ // linear interpolation
+ Point tp = new Point((int) Math.round(p.getX()), (int) Math.round(p.getY()));
+ return line.calcColor(tp);
+ default:
+ float aw = (float) (getArea(p, corner[1], corner[2]) / area);
+ float bw = (float) (getArea(p, corner[2], corner[0]) / area);
+ float cw = (float) (getArea(p, corner[0], corner[1]) / area);
+ for (int i = 0; i < numberOfColorComponents; i++)
+ {
+ // barycentric interpolation
+ pCol[i] = color[0][i] * aw + color[1][i] * bw + color[2][i] * cw;
+ }
+ break;
}
return pCol;
}