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/11 08:59:19 UTC

svn commit: r1644575 - /pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PDFPagePanel.java

Author: tilman
Date: Thu Dec 11 07:59:19 2014
New Revision: 1644575

URL: http://svn.apache.org/r1644575
Log:
PDFBOX-2552: normalize the rotation angle for all values

Modified:
    pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PDFPagePanel.java

Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PDFPagePanel.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PDFPagePanel.java?rev=1644575&r1=1644574&r2=1644575&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PDFPagePanel.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PDFPagePanel.java Thu Dec 11 07:59:19 2014
@@ -97,18 +97,27 @@ public class PDFPagePanel extends JPanel
             g.setColor( getBackground() );
             g.fillRect( 0, 0, getWidth(), getHeight() );
 
-            int rotation = page.findRotation();
-            if (rotation == 90 || rotation == 270)
+            int rotationAngle = page.findRotation();
+            // normalize the rotation angle
+            while (rotationAngle < 0)
+            {
+                rotationAngle += 360;
+            }
+            while (rotationAngle >= 360)
+            {
+                rotationAngle -= 360;
+            }
+            if (rotationAngle == 90 || rotationAngle == 270)
             {
                 Graphics2D g2D = (Graphics2D)g;
                 g2D.translate(pageDimension.getWidth(), 0.0f);
-                g2D.rotate(Math.toRadians(rotation));
+                g2D.rotate(Math.toRadians(rotationAngle));
             }
-            else if (rotation == 180)
+            else if (rotationAngle == 180)
             {
                 Graphics2D g2D = (Graphics2D) g;
                 g2D.translate(pageDimension.getWidth(), pageDimension.getHeight());
-                g2D.rotate(Math.toRadians(rotation));
+                g2D.rotate(Math.toRadians(rotationAngle));
             }
 
             drawer.drawPage( g, page, drawDimension );