View | Details | Raw Unified | Return to bug 47311
Collapse All | Expand All

(-)src/java/org/apache/fop/render/awt/AWTRenderer.java (-3 / +17 lines)
Lines 30-35 Link Here
30
import java.awt.Color;
30
import java.awt.Color;
31
import java.awt.Dimension;
31
import java.awt.Dimension;
32
import java.awt.geom.Rectangle2D;
32
import java.awt.geom.Rectangle2D;
33
import java.awt.geom.Point2D;
33
import java.awt.print.PageFormat;
34
import java.awt.print.PageFormat;
34
import java.awt.print.Pageable;
35
import java.awt.print.Pageable;
35
import java.awt.print.Paper;
36
import java.awt.print.Paper;
Lines 46-51 Link Here
46
import org.apache.fop.render.awt.viewer.Renderable;
47
import org.apache.fop.render.awt.viewer.Renderable;
47
import org.apache.fop.render.awt.viewer.StatusListener;
48
import org.apache.fop.render.awt.viewer.StatusListener;
48
import org.apache.fop.render.java2d.Java2DRenderer;
49
import org.apache.fop.render.java2d.Java2DRenderer;
50
import org.apache.fop.render.extensions.prepress.PageScaleAttributes;
49
51
50
/**
52
/**
51
 * The AWTRender outputs the pages generated by the layout engine to a Swing
53
 * The AWTRender outputs the pages generated by the layout engine to a Swing
Lines 149-159 Link Here
149
        Rectangle2D bounds = getPageViewport(pageNum).getViewArea();
151
        Rectangle2D bounds = getPageViewport(pageNum).getViewArea();
150
        pageWidth = (int) Math.round(bounds.getWidth() / 1000f);
152
        pageWidth = (int) Math.round(bounds.getWidth() / 1000f);
151
        pageHeight = (int) Math.round(bounds.getHeight() / 1000f);
153
        pageHeight = (int) Math.round(bounds.getHeight() / 1000f);
152
        double scale = scaleFactor
154
        double scaleX = scaleFactor
153
                * (25.4 / FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION)
155
                * (25.4 / FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION)
154
                / userAgent.getTargetPixelUnitToMillimeter();
156
                / userAgent.getTargetPixelUnitToMillimeter();
155
        int bitmapWidth = (int) ((pageWidth * scale) + 0.5);
157
        double scaleY = scaleFactor
156
        int bitmapHeight = (int) ((pageHeight * scale) + 0.5);
158
                * (25.4 / FopFactoryConfigurator.DEFAULT_TARGET_RESOLUTION)
159
                / userAgent.getTargetPixelUnitToMillimeter();
160
        if (getPageViewport(pageNum).getForeignAttributes() != null) {
161
            String scale = (String) getPageViewport(pageNum).getForeignAttributes().get(
162
                    PageScaleAttributes.EXT_PAGE_SCALE);
163
            Point2D scales = PageScaleAttributes.getScaleAttributes(scale);
164
            if (scales != null) {
165
                scaleX *= scales.getX();
166
                scaleY *= scales.getY();
167
            }
168
        }
169
        int bitmapWidth = (int) ((pageWidth * scaleX) + 0.5);
170
        int bitmapHeight = (int) ((pageHeight * scaleY) + 0.5);
157
        return new Dimension(bitmapWidth, bitmapHeight);
171
        return new Dimension(bitmapWidth, bitmapHeight);
158
    }
172
    }
159
173

Return to bug 47311