OSDN Git Service

Do not rotate PDFPrinter pages.
authorPhilip P. Moltmann <moltmann@google.com>
Tue, 31 May 2016 23:29:25 +0000 (16:29 -0700)
committerPhilip P. Moltmann <moltmann@google.com>
Thu, 2 Jun 2016 20:53:53 +0000 (20:53 +0000)
- applyPrintAttributes is only used by PDFPrinter

Fixes: 29057330
Change-Id: I883cc64039f4ca2c93810e99d758f2dceec67a8b

packages/PrintSpooler/src/com/android/printspooler/renderer/PdfManipulationService.java

index 0feda92..c74c6a7 100644 (file)
@@ -277,18 +277,12 @@ public final class PdfManipulationService extends Service {
                 Rect cropBox = new Rect();
                 Matrix transform = new Matrix();
 
-                final boolean contentPortrait = attributes.getMediaSize().isPortrait();
-
                 final boolean layoutDirectionRtl = getResources().getConfiguration()
                         .getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;
 
                 // We do not want to rotate the media box, so take into account orientation.
-                final int dstWidthPts = contentPortrait
-                        ? pointsFromMils(attributes.getMediaSize().getWidthMils())
-                        : pointsFromMils(attributes.getMediaSize().getHeightMils());
-                final int dstHeightPts = contentPortrait
-                        ? pointsFromMils(attributes.getMediaSize().getHeightMils())
-                        : pointsFromMils(attributes.getMediaSize().getWidthMils());
+                final int dstWidthPts = pointsFromMils(attributes.getMediaSize().getWidthMils());
+                final int dstHeightPts = pointsFromMils(attributes.getMediaSize().getHeightMils());
 
                 final boolean scaleForPrinting = mEditor.shouldScaleForPrinting();
 
@@ -310,24 +304,12 @@ public final class PdfManipulationService extends Service {
                     // Make sure content is top-left after media box resize.
                     transform.setTranslate(0, srcHeightPts - dstHeightPts);
 
-                    // Rotate the content if in landscape.
-                    if (!contentPortrait) {
-                        transform.postRotate(270);
-                        transform.postTranslate(0, dstHeightPts);
-                    }
-
                     // Scale the content if document allows it.
                     final float scale;
                     if (scaleForPrinting) {
-                        if (contentPortrait) {
-                            scale = Math.min((float) dstWidthPts / srcWidthPts,
-                                    (float) dstHeightPts / srcHeightPts);
-                            transform.postScale(scale, scale);
-                        } else {
-                            scale = Math.min((float) dstWidthPts / srcHeightPts,
-                                    (float) dstHeightPts / srcWidthPts);
-                            transform.postScale(scale, scale, mediaBox.left, mediaBox.bottom);
-                        }
+                        scale = Math.min((float) dstWidthPts / srcWidthPts,
+                                (float) dstHeightPts / srcHeightPts);
+                        transform.postScale(scale, scale);
                     } else {
                         scale = 1.0f;
                     }
@@ -344,10 +326,8 @@ public final class PdfManipulationService extends Service {
 
                     // If in RTL mode put the content in the logical top-right corner.
                     if (layoutDirectionRtl) {
-                        final float dx = contentPortrait
-                                ? dstWidthPts - (int) (srcWidthPts * scale + 0.5f) : 0;
-                        final float dy = contentPortrait
-                                ? 0 : - (dstHeightPts - (int) (srcWidthPts * scale + 0.5f));
+                        final float dx = dstWidthPts - (int) (srcWidthPts * scale + 0.5f);
+                        final float dy = 0;
                         transform.postTranslate(dx, dy);
                     }