home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 January / PCO0198.ISO / browser / net_linx / java40.jar / sun / awt / motif / X11Graphics.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  3.9 KB  |  234 lines

  1. package sun.awt.motif;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Font;
  5. import java.awt.FontMetrics;
  6. import java.awt.Graphics;
  7. import java.awt.Rectangle;
  8. import java.awt.image.ImageObserver;
  9. import sun.awt.image.Image;
  10. import sun.awt.image.ImageRepresentation;
  11. import sun.awt.image.OffScreenImageSource;
  12.  
  13. public class X11Graphics extends Graphics {
  14.    int pData;
  15.    Color foreground;
  16.    Font font;
  17.    int originX;
  18.    int originY;
  19.    Image image;
  20.  
  21.    private native void createFromComponent(MComponentPeer var1);
  22.  
  23.    private native void createFromGraphics(X11Graphics var1);
  24.  
  25.    private native void imageCreate(ImageRepresentation var1);
  26.  
  27.    private native void pSetFont(Font var1);
  28.  
  29.    private native void pSetForeground(Color var1);
  30.  
  31.    X11Graphics(X11Graphics var1) {
  32.       this.createFromGraphics(var1);
  33.       this.font = var1.getFont();
  34.       if (this.font == null) {
  35.          this.font = new Font("Dialog", 0, 12);
  36.       }
  37.  
  38.       this.pSetFont(this.font);
  39.    }
  40.  
  41.    X11Graphics(MComponentPeer var1) {
  42.       this.createFromComponent(var1);
  43.       this.font = var1.target.getFont();
  44.       if (this.font == null) {
  45.          this.font = new Font("Dialog", 0, 12);
  46.       }
  47.  
  48.       this.pSetFont(this.font);
  49.    }
  50.  
  51.    public X11Graphics(X11Image var1) {
  52.       OffScreenImageSource var2 = (OffScreenImageSource)((Image)var1).getSource();
  53.       this.imageCreate(var2.getImageRep());
  54.       this.image = var1;
  55.       this.font = new Font("Dialog", 0, 12);
  56.       this.pSetFont(this.font);
  57.    }
  58.  
  59.    public Graphics create() {
  60.       X11Graphics var1 = new X11Graphics(this);
  61.       var1.foreground = this.foreground;
  62.       var1.font = this.font;
  63.       var1.originX = this.originX;
  64.       var1.originY = this.originY;
  65.       var1.image = this.image;
  66.       return var1;
  67.    }
  68.  
  69.    public void translate(int var1, int var2) {
  70.       this.originX += var1;
  71.       this.originY += var2;
  72.    }
  73.  
  74.    public native void dispose();
  75.  
  76.    public void setFont(Font var1) {
  77.       if (var1 != null && this.font != var1) {
  78.          this.font = var1;
  79.          this.pSetFont(var1);
  80.       }
  81.  
  82.    }
  83.  
  84.    public Font getFont() {
  85.       return this.font;
  86.    }
  87.  
  88.    public FontMetrics getFontMetrics(Font var1) {
  89.       return X11FontMetrics.getFontMetrics(var1);
  90.    }
  91.  
  92.    public void setColor(Color var1) {
  93.       if (var1 != null && var1 != this.foreground) {
  94.          this.pSetForeground(var1);
  95.          this.foreground = var1;
  96.       }
  97.  
  98.    }
  99.  
  100.    public Color getColor() {
  101.       return this.foreground;
  102.    }
  103.  
  104.    public native void setPaintMode();
  105.  
  106.    public native void setXORMode(Color var1);
  107.  
  108.    public native Rectangle getClipRect();
  109.  
  110.    public native void clipRect(int var1, int var2, int var3, int var4);
  111.  
  112.    public native void clearRect(int var1, int var2, int var3, int var4);
  113.  
  114.    public native void fillRect(int var1, int var2, int var3, int var4);
  115.  
  116.    public native void drawRect(int var1, int var2, int var3, int var4);
  117.  
  118.    public native void drawString(String var1, int var2, int var3);
  119.  
  120.    public native void drawChars(char[] var1, int var2, int var3, int var4, int var5);
  121.  
  122.    public native void drawBytes(byte[] var1, int var2, int var3, int var4, int var5);
  123.  
  124.    public native int drawStringWidth(String var1, int var2, int var3);
  125.  
  126.    public native int drawCharsWidth(char[] var1, int var2, int var3, int var4, int var5);
  127.  
  128.    public native int drawBytesWidth(byte[] var1, int var2, int var3, int var4, int var5);
  129.  
  130.    public native void drawLine(int var1, int var2, int var3, int var4);
  131.  
  132.    public boolean drawImage(java.awt.Image var1, int var2, int var3, ImageObserver var4) {
  133.       X11Image var5 = (X11Image)var1;
  134.       if (((Image)var5).hasError()) {
  135.          if (var4 != null) {
  136.             var4.imageUpdate(var1, 192, -1, -1, -1, -1);
  137.          }
  138.  
  139.          return false;
  140.       } else {
  141.          ImageRepresentation var6 = var5.getImageRep(-1, -1);
  142.          return var6.drawImage(this, var2, var3, (Color)null, var4);
  143.       }
  144.    }
  145.  
  146.    public boolean drawImage(java.awt.Image var1, int var2, int var3, int var4, int var5, ImageObserver var6) {
  147.       if (var4 != 0 && var5 != 0) {
  148.          X11Image var7 = (X11Image)var1;
  149.          if (((Image)var7).hasError()) {
  150.             if (var6 != null) {
  151.                var6.imageUpdate(var1, 192, -1, -1, -1, -1);
  152.             }
  153.  
  154.             return false;
  155.          } else {
  156.             if (var4 < 0) {
  157.                var4 = -1;
  158.             }
  159.  
  160.             if (var5 < 0) {
  161.                var5 = -1;
  162.             }
  163.  
  164.             ImageRepresentation var8 = var7.getImageRep(var4, var5);
  165.             return var8.drawImage(this, var2, var3, (Color)null, var6);
  166.          }
  167.       } else {
  168.          return true;
  169.       }
  170.    }
  171.  
  172.    public boolean drawImage(java.awt.Image var1, int var2, int var3, Color var4, ImageObserver var5) {
  173.       X11Image var6 = (X11Image)var1;
  174.       if (((Image)var6).hasError()) {
  175.          if (var5 != null) {
  176.             var5.imageUpdate(var1, 192, -1, -1, -1, -1);
  177.          }
  178.  
  179.          return false;
  180.       } else {
  181.          ImageRepresentation var7 = var6.getImageRep(-1, -1);
  182.          return var7.drawImage(this, var2, var3, var4, var5);
  183.       }
  184.    }
  185.  
  186.    public boolean drawImage(java.awt.Image var1, int var2, int var3, int var4, int var5, Color var6, ImageObserver var7) {
  187.       if (var4 != 0 && var5 != 0) {
  188.          X11Image var8 = (X11Image)var1;
  189.          if (((Image)var8).hasError()) {
  190.             if (var7 != null) {
  191.                var7.imageUpdate(var1, 192, -1, -1, -1, -1);
  192.             }
  193.  
  194.             return false;
  195.          } else {
  196.             if (var4 < 0) {
  197.                var4 = -1;
  198.             }
  199.  
  200.             if (var5 < 0) {
  201.                var5 = -1;
  202.             }
  203.  
  204.             ImageRepresentation var9 = var8.getImageRep(var4, var5);
  205.             return var9.drawImage(this, var2, var3, var6, var7);
  206.          }
  207.       } else {
  208.          return true;
  209.       }
  210.    }
  211.  
  212.    public native void copyArea(int var1, int var2, int var3, int var4, int var5, int var6);
  213.  
  214.    public native void drawRoundRect(int var1, int var2, int var3, int var4, int var5, int var6);
  215.  
  216.    public native void fillRoundRect(int var1, int var2, int var3, int var4, int var5, int var6);
  217.  
  218.    public native void drawPolygon(int[] var1, int[] var2, int var3);
  219.  
  220.    public native void fillPolygon(int[] var1, int[] var2, int var3);
  221.  
  222.    public native void drawOval(int var1, int var2, int var3, int var4);
  223.  
  224.    public native void fillOval(int var1, int var2, int var3, int var4);
  225.  
  226.    public native void drawArc(int var1, int var2, int var3, int var4, int var5, int var6);
  227.  
  228.    public native void fillArc(int var1, int var2, int var3, int var4, int var5, int var6);
  229.  
  230.    public String toString() {
  231.       return this.getClass().getName() + "[" + this.originX + "," + this.originY + "]";
  232.    }
  233. }
  234.