home *** CD-ROM | disk | FTP | other *** search
Wrap
package sun.awt.windows; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Image; import java.awt.PrintGraphics; import java.awt.PrintJob; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.image.ImageObserver; import java.text.AttributedCharacterIterator; import sun.awt.Graphics2Delegate; public class WPrintGraphicsWrapper extends Graphics implements PrintGraphics, Graphics2Delegate { private WPrintGraphics target; private double ratio = (double)1.0F; // $FF: renamed from: sx double private double field_0 = (double)1.0F; // $FF: renamed from: sy double private double field_1 = (double)1.0F; WPrintJob pjob; public PrintJob getPrintJob() { return this.pjob; } public WPrintGraphicsWrapper(WPrintGraphics var1, WPrintJob var2) { this.target = var1; this.target.wrapper = this; this.pjob = var2; if (var2 != null) { this.ratio = (double)var2.truePageResolution / (double)var2.pageResolution; } } public Graphics create() { return new WPrintGraphicsWrapper((WPrintGraphics)this.target.create(), this.pjob); } Graphics create(int var1) { return new WPrintGraphicsWrapper((WPrintGraphics)this.target.create(var1), this.pjob); } public Graphics getTarget() { return this.target; } public double getRatio() { return this.ratio; } public double getScaleFactorX() { return this.field_0; } public double getScaleFactorY() { return this.field_1; } public void translate(int var1, int var2) { this.target.translate(var1, var2); } public Color getColor() { return this.target.getColor(); } public void setColor(Color var1) { this.target.setColor(var1); } public void setBackground(Color var1) { this.target.setBackground(var1); } public void setPaintMode() { this.target.setPaintMode(); } public void setXORMode(Color var1) { this.target.setXORMode(var1); } public Font getFont() { return this.target.getFont(); } public void setFont(Font var1) { this.target.setFont(var1); } public FontMetrics getFontMetrics(Font var1) { return this.target.getFontMetrics(var1); } public Rectangle getClipBounds() { return this.target.getClipBounds(); } public void clipRect(int var1, int var2, int var3, int var4) { this.target.clipRect(var1, var2, var3, var4); } public void setClip(int var1, int var2, int var3, int var4) { this.target.setClip(var1, var2, var3, var4); } public Shape getClip() { return this.target.getClip(); } public void setClip(Shape var1) { this.target.setClip(var1); } public void copyArea(int var1, int var2, int var3, int var4, int var5, int var6) { this.target.copyArea(var1, var2, var3, var4, var5, var6); } public void drawLine(int var1, int var2, int var3, int var4) { this.target.drawLine(var1, var2, var3, var4); } public void fillRect(int var1, int var2, int var3, int var4) { this.target.fillRect(var1, var2, var3, var4); } public void drawRect(int var1, int var2, int var3, int var4) { this.target.drawRect(var1, var2, var3, var4); } public void clearRect(int var1, int var2, int var3, int var4) { this.target.clearRect(var1, var2, var3, var4); } public void drawRoundRect(int var1, int var2, int var3, int var4, int var5, int var6) { this.target.drawRoundRect(var1, var2, var3, var4, var5, var6); } public void fillRoundRect(int var1, int var2, int var3, int var4, int var5, int var6) { this.target.fillRoundRect(var1, var2, var3, var4, var5, var6); } public void draw3DRect(int var1, int var2, int var3, int var4, boolean var5) { this.target.draw3DRect(var1, var2, var3, var4, var5); } public void fill3DRect(int var1, int var2, int var3, int var4, boolean var5) { this.target.fill3DRect(var1, var2, var3, var4, var5); } public void drawOval(int var1, int var2, int var3, int var4) { this.target.drawOval(var1, var2, var3, var4); } public void fillOval(int var1, int var2, int var3, int var4) { this.target.fillOval(var1, var2, var3, var4); } public void drawArc(int var1, int var2, int var3, int var4, int var5, int var6) { this.target.drawArc(var1, var2, var3, var4, var5, var6); } public void fillArc(int var1, int var2, int var3, int var4, int var5, int var6) { this.target.fillArc(var1, var2, var3, var4, var5, var6); } public void drawPolyline(int[] var1, int[] var2, int var3) { this.target.drawPolyline(var1, var2, var3); } public void drawPolygon(int[] var1, int[] var2, int var3) { this.target.drawPolygon(var1, var2, var3); } public void fillPolygon(int[] var1, int[] var2, int var3) { this.target.fillPolygon(var1, var2, var3); } public void drawString(String var1, int var2, int var3) { AffineTransform var4 = this.target.getTransform(); this.target.scale(this.ratio, this.ratio); try { this.target.drawingText = true; this.target.drawString(var1, var2, var3); } finally { this.target.drawingText = false; } this.target.setTransform(var4); } public void drawString(AttributedCharacterIterator var1, int var2, int var3) { AffineTransform var4 = this.target.getTransform(); this.target.scale(this.ratio, this.ratio); try { this.target.drawingText = true; this.target.drawString(var1, var2, var3); } finally { this.target.drawingText = false; } this.target.setTransform(var4); } public void drawChars(char[] var1, int var2, int var3, int var4, int var5) { AffineTransform var6 = this.target.getTransform(); this.target.scale(this.ratio, this.ratio); try { this.target.drawingText = true; this.target.drawChars(var1, var2, var3, var4, var5); } finally { this.target.drawingText = false; } this.target.setTransform(var6); } public void drawBytes(byte[] var1, int var2, int var3, int var4, int var5) { AffineTransform var6 = this.target.getTransform(); this.target.scale(this.ratio, this.ratio); try { this.target.drawingText = true; this.target.drawBytes(var1, var2, var3, var4, var5); } finally { this.target.drawingText = false; } this.target.setTransform(var6); } private boolean drawScaledImageHelper(Image var1, int var2, int var3, int var4, int var5, int var6, int var7, BooleanFunction var8) { boolean var9 = true; if (var4 > 0 && var5 > 0) { this.field_0 = Math.min((double)var6 / (double)var4, this.ratio); this.field_1 = Math.min((double)var7 / (double)var5, this.ratio); } if (this.field_0 <= (double)1.0F && this.field_1 <= (double)1.0F) { this.field_0 = this.field_1 = (double)1.0F; return var8.invoke(); } else { AffineTransform var10 = this.target.getTransform(); this.target.preScale(this.field_0, this.field_1); Rectangle var11 = this.getBoundsForPrinting(var2, var3, var4, var5); Dimension var12 = this.getCellDimension(); try { this.target.drawingScaledImage = true; for(int var13 = var11.x; var13 < var11.x + var11.width; var13 += var12.width) { for(int var14 = var11.y; var14 < var11.y + var11.height; var14 += var12.height) { this.target.setDevClip(var13, var14, var12.width, var12.height); var9 = var9 && var8.invoke(); } } } finally { this.target.drawingScaledImage = false; Dimension var17 = this.pjob.getPageDimension(); this.target.setDevClip(0, 0, var17.width, var17.height); this.target.setTransform(var10); this.field_0 = this.field_1 = (double)1.0F; } return var9; } } private Rectangle getBoundsForPrinting(int var1, int var2, int var3, int var4) { double[] var5 = new double[]{(double)var1, (double)var2, (double)(var1 + var3), (double)var2, (double)(var1 + var3), (double)(var2 + var4), (double)var1, (double)(var2 + var4)}; this.target.getTransform().transform(var5, 0, var5, 0, 4); double var6 = var5[0]; double var8 = var5[1]; double var10 = var5[0]; double var12 = var5[1]; for(int var14 = 2; var14 < 8; var14 += 2) { if (var5[var14] > var6) { var6 = var5[var14]; } else if (var5[var14] < var10) { var10 = var5[var14]; } if (var5[var14 + 1] > var8) { var8 = var5[var14 + 1]; } else if (var5[var14 + 1] < var12) { var12 = var5[var14 + 1]; } } Rectangle var15 = new Rectangle(0, 0, 0, 0); Dimension var16 = this.pjob.getPageDimension(); var10 = Math.max(var10, (double)0.0F); var12 = Math.max(var12, (double)0.0F); var6 = Math.min(var6, (double)var16.width * this.field_0); var8 = Math.min(var8, (double)var16.height * this.field_1); if (var6 >= var10 && var8 >= var12) { var15 = new Rectangle((int)Math.floor(var10), (int)Math.floor(var12), (int)Math.ceil(var6 - var10), (int)Math.ceil(var8 - var12)); } return var15; } private Dimension getCellDimension() { Dimension var1 = this.pjob.getPageDimension(); int var2 = this.pjob.getPageResolution(); return new Dimension((int)Math.floor((double)(var1.width * 72) / (double)var2), (int)Math.floor((double)(var1.height * 72) / (double)var2)); } public boolean drawImage(Image var1, int var2, int var3, ImageObserver var4) { return this.target.drawImage(var1, var2, var3, var4); } public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, ImageObserver var6) { return this.drawScaledImageHelper(var1, var2, var3, var4, var5, var1.getWidth(var6), var1.getHeight(var6), new 1(this, var1, var2, var3, var4, var5, var6)); } public boolean drawImage(Image var1, int var2, int var3, Color var4, ImageObserver var5) { return this.target.drawImage(var1, var2, var3, var4, var5); } public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, Color var6, ImageObserver var7) { return this.drawScaledImageHelper(var1, var2, var3, var4, var5, var1.getWidth(var7), var1.getHeight(var7), new 2(this, var1, var2, var3, var4, var5, var6, var7)); } public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, ImageObserver var10) { return this.drawScaledImageHelper(var1, var2, var3, var4 - var2, var5 - var3, var8 - var6, var9 - var7, new 3(this, var1, var2, var3, var4, var5, var6, var7, var8, var9, var10)); } public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, Color var10, ImageObserver var11) { return this.drawScaledImageHelper(var1, var2, var3, var4 - var2, var5 - var3, var8 - var6, var9 - var7, new 4(this, var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, var11)); } public void dispose() { this.target.dispose(); } public void finalize() { } public String toString() { return this.getClass().getName() + "[target=" + this.target.toString() + "]"; } public Rectangle getClipRect() { return this.target.getClipBounds(); } public boolean hitClip(int var1, int var2, int var3, int var4) { return this.target.hitClip(var1, var2, var3, var4); } public Rectangle getClipBounds(Rectangle var1) { return this.target.getClipBounds(var1); } // $FF: synthetic method static WPrintGraphics access$000(WPrintGraphicsWrapper var0) { return var0.target; } }