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 2022/07/17 06:36:37 UTC
svn commit: r1902794 - /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDLineAppearanceHandler.java
Author: tilman
Date: Sun Jul 17 06:36:37 2022
New Revision: 1902794
URL: http://svn.apache.org/viewvc?rev=1902794&view=rev
Log:
PDFBOX-4892: optimize, as suggested by Valery Bokov
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDLineAppearanceHandler.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDLineAppearanceHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDLineAppearanceHandler.java?rev=1902794&r1=1902793&r2=1902794&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDLineAppearanceHandler.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDLineAppearanceHandler.java Sun Jul 17 06:36:37 2022
@@ -105,10 +105,11 @@ public class PDLineAppearanceHandler ext
// arrow length is 9 * width at about 30° => 10 * width seems to be enough
// but need to consider /LL, /LLE and /LLO too
//TODO find better way to calculate padding
- rect.setLowerLeftX(Math.min(minX - Math.max(lineEndingSize * 10, Math.abs(llo+ll+lle)), rect.getLowerLeftX()));
- rect.setLowerLeftY(Math.min(minY - Math.max(lineEndingSize * 10, Math.abs(llo+ll+lle)), rect.getLowerLeftY()));
- rect.setUpperRightX(Math.max(maxX + Math.max(lineEndingSize * 10, Math.abs(llo+ll+lle)), rect.getUpperRightX()));
- rect.setUpperRightY(Math.max(maxY + Math.max(lineEndingSize * 10, Math.abs(llo+ll+lle)), rect.getUpperRightY()));
+ float max = Math.max(lineEndingSize * 10, Math.abs(llo+ll+lle));
+ rect.setLowerLeftX(Math.min(minX - max, rect.getLowerLeftX()));
+ rect.setLowerLeftY(Math.min(minY - max, rect.getLowerLeftY()));
+ rect.setUpperRightX(Math.max(maxX + max, rect.getUpperRightX()));
+ rect.setUpperRightY(Math.max(maxY + max, rect.getUpperRightY()));
annotation.setRectangle(rect);