home *** CD-ROM | disk | FTP | other *** search
Wrap
package sun.awt.macos; import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Image; import java.awt.Rectangle; import java.awt.Shape; import java.awt.SystemColor; import java.awt.image.ImageObserver; import sun.awt.image.ImageRepresentation; import sun.awt.image.OffScreenImageSource; public class MacGraphics extends Graphics { int pData; Color foreground; Font font; int originX; int originY; float scaleX = 1.0F; float scaleY = 1.0F; ImageRepresentation imageRepresentation; MComponentPeer componentPeer; private native void createFromComponent(MComponentPeer var1); private native void createFromGraphics(MacGraphics var1); private native void createFromIRepresentation(ImageRepresentation var1); private native void createFromPrintJob(MPrintJob var1); private native void pSetFont(Font var1); private native void pSetForeground(Color var1); private native void pSetScaling(float var1, float var2); private native void pSetOrigin(int var1, int var2); MacGraphics(MacGraphics var1) { this.imageRepresentation = var1.imageRepresentation; this.componentPeer = var1.componentPeer; this.createFromGraphics(var1); } MacGraphics(MComponentPeer var1) { this.componentPeer = var1; this.createFromComponent(var1); } MacGraphics(MPrintJob var1) { this.createFromPrintJob(var1); } public MacGraphics(Image var1) { OffScreenImageSource var2 = (OffScreenImageSource)var1.getSource(); this.imageRepresentation = var2.getImageRep(); this.createFromIRepresentation(this.imageRepresentation); this.setFont(new Font("Dialog", 0, 12)); } public Graphics create() { MacGraphics var1 = new MacGraphics(this); var1.foreground = this.foreground; var1.font = this.font; var1.originX = this.originX; var1.originY = this.originY; var1.scaleX = this.scaleX; var1.scaleY = this.scaleY; var1.imageRepresentation = this.imageRepresentation; return var1; } public void translate(int var1, int var2) { this.originX = (int)((float)this.originX + (float)var1 * this.scaleX); this.originY = (int)((float)this.originY + (float)var2 * this.scaleY); this.pSetOrigin(this.originX, this.originY); } public void scale(float var1, float var2) { this.scaleX *= var1; this.scaleY *= var2; this.pSetScaling(this.scaleX, this.scaleY); } public native void dispose(); public void finalize() { this.dispose(); } public void setFont(Font var1) { if (var1 != null && this.font != var1) { this.font = var1; this.pSetFont(var1); } } public Font getFont() { return this.font; } public FontMetrics getFontMetrics(Font var1) { return MacFontMetrics.getFontMetrics(var1); } public void setColor(Color var1) { if (var1 != null && var1 != this.foreground) { this.foreground = var1; if (var1 instanceof SystemColor) { var1 = new Color(var1.getRGB()); } this.pSetForeground(var1); } } public Color getColor() { return this.foreground; } public native void setPaintMode(); public native void setXORMode(Color var1); private native void pGetClipBounds(Rectangle var1); private native void pChangeClip(int var1, int var2, int var3, int var4, boolean var5); private native void pRemoveClip(); public Rectangle getClipBounds() { Rectangle var1 = new Rectangle(); this.pGetClipBounds(var1); return var1; } public Rectangle getClipRect() { return this.getClipBounds(); } public Shape getClip() { return this.getClipBounds(); } public void setClip(Shape var1) { if (var1 == null) { this.pRemoveClip(); } else if (var1 instanceof Rectangle) { Rectangle var2 = (Rectangle)var1; this.pChangeClip(var2.x, var2.y, var2.width, var2.height, true); } else { throw new IllegalArgumentException("setClip(Shape) only supports Rectangle objects"); } } public void setClip(int var1, int var2, int var3, int var4) { this.pChangeClip(var1, var2, var3, var4, true); } public void clipRect(int var1, int var2, int var3, int var4) { this.pChangeClip(var1, var2, var3, var4, false); } public native void clearRect(int var1, int var2, int var3, int var4); public native void fillRect(int var1, int var2, int var3, int var4); public native void drawRect(int var1, int var2, int var3, int var4); public native void drawString(String var1, int var2, int var3); public native void drawChars(char[] var1, int var2, int var3, int var4, int var5); public native void drawBytes(byte[] var1, int var2, int var3, int var4, int var5); public native int drawStringWidth(String var1, int var2, int var3); public native int drawCharsWidth(char[] var1, int var2, int var3, int var4, int var5); public native int drawBytesWidth(byte[] var1, int var2, int var3, int var4, int var5); public native void drawLine(int var1, int var2, int var3, int var4); public boolean drawImage(Image var1, int var2, int var3, ImageObserver var4) { MacImage var5 = (MacImage)var1; if (((sun.awt.image.Image)var5).hasError()) { if (var4 != null) { var4.imageUpdate(var1, 192, -1, -1, -1, -1); } return false; } else { ImageRepresentation var6 = var5.getImageRep(); return var6.drawImage(this, var2, var3, (Color)null, var4); } } public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, ImageObserver var6) { if (var4 != 0 && var5 != 0) { MacImage var7 = (MacImage)var1; if (((sun.awt.image.Image)var7).hasError()) { if (var6 != null) { var6.imageUpdate(var1, 192, -1, -1, -1, -1); } return false; } else { ImageRepresentation var8 = var7.getImageRep(); return var8.drawScaledImage(this, var2, var3, var4, var5, (Color)null, var6); } } else { return true; } } public boolean drawImage(Image var1, int var2, int var3, Color var4, ImageObserver var5) { MacImage var6 = (MacImage)var1; if (((sun.awt.image.Image)var6).hasError()) { if (var5 != null) { var5.imageUpdate(var1, 192, -1, -1, -1, -1); } return false; } else { ImageRepresentation var7 = var6.getImageRep(); return var7.drawImage(this, var2, var3, var4, var5); } } public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, Color var6, ImageObserver var7) { if (var4 != 0 && var5 != 0) { MacImage var8 = (MacImage)var1; if (((sun.awt.image.Image)var8).hasError()) { if (var7 != null) { var7.imageUpdate(var1, 192, -1, -1, -1, -1); } return false; } else { ImageRepresentation var9 = var8.getImageRep(); return var9.drawScaledImage(this, var2, var3, var4, var5, var6, var7); } } else { return true; } } public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, ImageObserver var10) { if (var2 != var4 && var3 != var5) { MacImage var11 = (MacImage)var1; if (((sun.awt.image.Image)var11).hasError()) { if (var10 != null) { var10.imageUpdate(var1, 192, -1, -1, -1, -1); } return false; } else { ImageRepresentation var12 = var11.getImageRep(); return var12.drawStretchImage(this, var2, var3, var4, var5, var6, var7, var8, var9, (Color)null, var10); } } else { return true; } } 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) { if (var2 != var4 && var3 != var5) { MacImage var12 = (MacImage)var1; if (((sun.awt.image.Image)var12).hasError()) { if (var11 != null) { var11.imageUpdate(var1, 192, -1, -1, -1, -1); } return false; } else { ImageRepresentation var13 = var12.getImageRep(); return var13.drawStretchImage(this, var2, var3, var4, var5, var6, var7, var8, var9, var10, var11); } } else { return true; } } public native void copyArea(int var1, int var2, int var3, int var4, int var5, int var6); public native void drawRoundRect(int var1, int var2, int var3, int var4, int var5, int var6); public native void fillRoundRect(int var1, int var2, int var3, int var4, int var5, int var6); public native void drawPolyline(int[] var1, int[] var2, int var3); public native void drawPolygon(int[] var1, int[] var2, int var3); public native void fillPolygon(int[] var1, int[] var2, int var3); public native void drawOval(int var1, int var2, int var3, int var4); public native void fillOval(int var1, int var2, int var3, int var4); public native void drawArc(int var1, int var2, int var3, int var4, int var5, int var6); public native void fillArc(int var1, int var2, int var3, int var4, int var5, int var6); public String toString() { return this.getClass().getName() + "[" + this.originX + "," + this.originY + "," + this.scaleX + "," + this.scaleY + "]"; } }