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 );