Author: tilman
Date: Sat Jan 24 17:00:09 2026
New Revision: 1931520

Log:
PDFBOX-5660: optimize, as suggested by Valery Bokov; closes #402

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

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/ShadedTriangle.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/ShadedTriangle.java
    Sat Jan 24 16:55:49 2026        (r1931519)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/ShadedTriangle.java
    Sat Jan 24 17:00:09 2026        (r1931520)
@@ -64,20 +64,23 @@ class ShadedTriangle
 
         if (degree == 2)
         {
-            if (overlaps(corner[1], corner[2]) && !overlaps(corner[0], 
corner[2]))
+            Point2D corner0 = corner[0];
+            Point2D corner1 = corner[1];
+            Point2D corner2 = corner[2];
+            if (overlaps(corner1, corner2) && !overlaps(corner0, corner2))
             {
-                Point p0 = new Point((int) Math.round(corner[0].getX()),
-                        (int) Math.round(corner[0].getY()));
-                Point p1 = new Point((int) Math.round(corner[2].getX()),
-                        (int) Math.round(corner[2].getY()));
+                Point p0 = new Point((int) Math.round(corner0.getX()),
+                        (int) Math.round(corner0.getY()));
+                Point p1 = new Point((int) Math.round(corner2.getX()),
+                        (int) Math.round(corner2.getY()));
                 line = new Line(p0, p1, color[0], color[2]);
             }
             else
             {
-                Point p0 = new Point((int) Math.round(corner[1].getX()),
-                        (int) Math.round(corner[1].getY()));
-                Point p1 = new Point((int) Math.round(corner[2].getX()),
-                        (int) Math.round(corner[2].getY()));
+                Point p0 = new Point((int) Math.round(corner1.getX()),
+                        (int) Math.round(corner1.getY()));
+                Point p1 = new Point((int) Math.round(corner2.getX()),
+                        (int) Math.round(corner2.getY()));
                 line = new Line(p0, p1, color[1], color[2]);
             }
         }

Reply via email to