FOP-2562: Fix rotation

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop-pdf-images/branches/Temp_PDFBox2@1739041 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java b/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
index b356511..4c1e806 100644
--- a/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
+++ b/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
@@ -104,37 +104,15 @@
         public void paint(Graphics2D g2d, Rectangle2D area) {
             try {
                 PDRectangle mediaBox = page.getCropBox();
-
                 AffineTransform at = new AffineTransform();
-
-                Integer rotation = page.getRotation();
-                if (rotation != null) {
-                    switch (rotation) {
-                    case 270:
-                        at.scale(area.getWidth() / area.getHeight(), area.getHeight() / area.getWidth());
-                        at.translate(0, area.getWidth());
-                        at.rotate(-Math.PI / 2.0);
-                        break;
-                    case 180:
-                        at.translate(area.getWidth(), area.getHeight());
-                        at.rotate(-Math.PI);
-                        break;
-                    case 90:
-                        at.scale(area.getWidth() / area.getHeight(), area.getHeight() / area.getWidth());
-                        at.translate(area.getHeight(), 0);
-                        at.rotate(-Math.PI * 1.5);
-                            break;
-                    default:
-                        //no additional transformations necessary
-                            break;
-                    }
+                int rotation = page.getRotation();
+                if (rotation == 90 || rotation == 270) {
+                    at.scale(area.getWidth() / area.getHeight(), area.getHeight() / area.getWidth());
                 }
-
                 at.translate(area.getX(), area.getY());
                 at.scale(area.getWidth() / mediaBox.getWidth(),
                         area.getHeight() / mediaBox.getHeight());
                 g2d.transform(at);
-
                 new PDFRenderer(pdDocument).renderPageToGraphics(selectedPage, g2d);
             } catch (IOException ioe) {
                 //TODO Better exception handling
diff --git a/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java b/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java
index a74c1e0..28bdace 100644
--- a/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java
+++ b/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java
@@ -107,7 +107,7 @@
     protected void applyPaint(Paint paint, boolean fill) {
         preparePainting();
         if (paint instanceof AxialShadingPaint || paint instanceof RadialShadingPaint) {
-            PaintContext paintContext = paint.createContext(null, null, null, new AffineTransform(),
+            PaintContext paintContext = paint.createContext(null, new Rectangle(), null, new AffineTransform(),
                     getRenderingHints());
             PDColorSpace pdcs;
             int deviceColorSpace = PDFDeviceColorSpace.DEVICE_RGB;
diff --git a/test/java/org/apache/fop/render/pdf/PDFRotateTestCase.java b/test/java/org/apache/fop/render/pdf/PDFRotateTestCase.java
index a5f3f96..5005485 100644
--- a/test/java/org/apache/fop/render/pdf/PDFRotateTestCase.java
+++ b/test/java/org/apache/fop/render/pdf/PDFRotateTestCase.java
@@ -53,6 +53,6 @@
         GraphicContext gc = new GraphicContext();
         g2d.setGraphicContext(gc);
         ig.getGraphics2DImagePainter().paint(g2d, rect);
-        Assert.assertEquals(g2d.getTransform().getShearX(), -5.5191148992250524E-9);
+        Assert.assertEquals(g2d.getTransform().getShearX(), 0.16339869281045735);
     }
 }