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/12/19 22:42:26 UTC

svn commit: r1646884 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type4ShadingContext.java

Author: tilman
Date: Fri Dec 19 21:42:26 2014
New Revision: 1646884

URL: http://svn.apache.org/r1646884
Log:
PDFBOX-2576: DRY refactoring of double code in triangle building

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type4ShadingContext.java

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=1646884&r1=1646883&r2=1646884&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 Fri Dec 19 21:42:26 2014
@@ -128,27 +128,6 @@ class Type4ShadingContext extends Gourau
                         flag = (byte) (mciis.readBits(bitsPerFlag) & 3);
                         break;
                     case 1:
-                        lastIndex = list.size() - 1;
-                        if (lastIndex < 0)
-                        {
-                            LOG.error("broken data stream: " + list.size());
-                        }
-                        else
-                        {
-                            ShadedTriangle preTri = list.get(lastIndex);
-                            p2 = readVertex(mciis, maxSrcCoord, maxSrcColor, rangeX, rangeY, colRange, ctm, xform);
-                            ps = new Point2D[]
-                            {
-                                preTri.corner[1], preTri.corner[2], p2.point
-                            };
-                            cs = new float[][]
-                            {
-                                preTri.color[1], preTri.color[2], p2.color
-                            };
-                            list.add(new ShadedTriangle(ps, cs));
-                            flag = (byte) (mciis.readBits(bitsPerFlag) & 3);
-                        }
-                        break;
                     case 2:
                         lastIndex = list.size() - 1;
                         if (lastIndex < 0)
@@ -161,11 +140,15 @@ class Type4ShadingContext extends Gourau
                             p2 = readVertex(mciis, maxSrcCoord, maxSrcColor, rangeX, rangeY, colRange, ctm, xform);
                             ps = new Point2D[]
                             {
-                                preTri.corner[0], preTri.corner[2], p2.point
+                                flag == 1 ? preTri.corner[1] : preTri.corner[0],
+                                preTri.corner[2],
+                                p2.point
                             };
                             cs = new float[][]
                             {
-                                preTri.color[0], preTri.color[2], p2.color
+                                flag == 1 ? preTri.color[1] : preTri.color[0],
+                                preTri.color[2],
+                                p2.color
                             };
                             list.add(new ShadedTriangle(ps, cs));
                             flag = (byte) (mciis.readBits(bitsPerFlag) & 3);