home *** CD-ROM | disk | FTP | other *** search
- package sun.awt.windows;
-
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Rectangle;
- import java.awt.image.ImageObserver;
- import sun.awt.image.Image;
- import sun.awt.image.ImageRepresentation;
- import sun.awt.image.OffScreenImageSource;
-
- public class WGraphics extends Graphics {
- int pData;
- Color foreground;
- Font font;
- int originX;
- int originY;
- private ImageRepresentation imagerep;
-
- private native void createFromComponent(WComponentPeer var1);
-
- private native void createFromGraphics(WGraphics var1);
-
- private native void imageCreate(ImageRepresentation var1);
-
- private native void pSetFont(Font var1);
-
- private native void pSetForeground(Color var1);
-
- WGraphics(WGraphics g) {
- this.createFromGraphics(g);
- }
-
- WGraphics(WComponentPeer comp) {
- this.createFromComponent(comp);
- Font font = comp.target.getFont();
- if (font == null) {
- font = new Font("Helvetica", 0, 10);
- }
-
- this.setFont(font);
- }
-
- public WGraphics(WImage image) {
- OffScreenImageSource osis = (OffScreenImageSource)((Image)image).getSource();
- this.imagerep = osis.getImageRep();
- this.imageCreate(this.imagerep);
- this.setFont(new Font("Dialog", 0, 12));
- }
-
- public Graphics create() {
- WGraphics g = new WGraphics(this);
- g.foreground = this.foreground;
- g.font = this.font;
- g.originX = this.originX;
- g.originY = this.originY;
- g.imagerep = this.imagerep;
- return g;
- }
-
- public void translate(int x, int y) {
- this.originX += x;
- this.originY += y;
- }
-
- public native void dispose();
-
- public void setFont(Font font) {
- if (font != null && this.font != font) {
- this.font = font;
- this.pSetFont(font);
- }
-
- }
-
- public Font getFont() {
- return this.font;
- }
-
- public FontMetrics getFontMetrics(Font font) {
- return WFontMetrics.getFontMetrics(font);
- }
-
- public void setColor(Color c) {
- if (c != null && c != this.foreground) {
- this.foreground = c;
- this.pSetForeground(c);
- }
-
- }
-
- public Color getColor() {
- return this.foreground;
- }
-
- public native void setPaintMode();
-
- public native void setXORMode(Color var1);
-
- public Rectangle getClipRect() {
- Rectangle clip = new Rectangle();
- this.getClipRect(clip);
- return clip;
- }
-
- native void getClipRect(Rectangle var1);
-
- public native void clipRect(int var1, int var2, int var3, int var4);
-
- 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(java.awt.Image img, int x, int y, ImageObserver observer) {
- WImage wimg = (WImage)img;
- if (((Image)wimg).hasError()) {
- if (observer != null) {
- observer.imageUpdate(img, 192, -1, -1, -1, -1);
- }
-
- return false;
- } else {
- ImageRepresentation ir = wimg.getImageRep(-1, -1);
- return ir.drawImage(this, x, y, (Color)null, observer);
- }
- }
-
- public boolean drawImage(java.awt.Image img, int x, int y, int width, int height, ImageObserver observer) {
- if (width != 0 && height != 0) {
- WImage wimg = (WImage)img;
- if (((Image)wimg).hasError()) {
- if (observer != null) {
- observer.imageUpdate(img, 192, -1, -1, -1, -1);
- }
-
- return false;
- } else {
- if (width < 0) {
- width = -1;
- }
-
- if (height < 0) {
- height = -1;
- }
-
- ImageRepresentation ir = wimg.getImageRep(width, height);
- return ir.drawImage(this, x, y, (Color)null, observer);
- }
- } else {
- return true;
- }
- }
-
- public boolean drawImage(java.awt.Image img, int x, int y, Color bg, ImageObserver observer) {
- WImage wimg = (WImage)img;
- if (((Image)wimg).hasError()) {
- if (observer != null) {
- observer.imageUpdate(img, 192, -1, -1, -1, -1);
- }
-
- return false;
- } else {
- ImageRepresentation ir = wimg.getImageRep(-1, -1);
- return ir.drawImage(this, x, y, bg, observer);
- }
- }
-
- public boolean drawImage(java.awt.Image img, int x, int y, int width, int height, Color bg, ImageObserver observer) {
- if (width != 0 && height != 0) {
- WImage wimg = (WImage)img;
- if (((Image)wimg).hasError()) {
- if (observer != null) {
- observer.imageUpdate(img, 192, -1, -1, -1, -1);
- }
-
- return false;
- } else {
- if (width < 0) {
- width = -1;
- }
-
- if (height < 0) {
- height = -1;
- }
-
- ImageRepresentation ir = wimg.getImageRep(width, height);
- return ir.drawImage(this, x, y, bg, observer);
- }
- } 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 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 + "]";
- }
- }
-