home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 June / CHIPHEFT062001.ISO / browser / nc32lyc / comm.z / java40.jar / sun / awt / macos / MacGraphics.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-08-15  |  6.4 KB  |  313 lines

  1. package sun.awt.macos;
  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.Image;
  8. import java.awt.Rectangle;
  9. import java.awt.Shape;
  10. import java.awt.SystemColor;
  11. import java.awt.image.ImageObserver;
  12. import sun.awt.image.ImageRepresentation;
  13. import sun.awt.image.OffScreenImageSource;
  14.  
  15. public class MacGraphics extends Graphics {
  16.    int pData;
  17.    Color foreground;
  18.    Font font;
  19.    int originX;
  20.    int originY;
  21.    float scaleX = 1.0F;
  22.    float scaleY = 1.0F;
  23.    ImageRepresentation imageRepresentation;
  24.    MComponentPeer componentPeer;
  25.  
  26.    private native void createFromComponent(MComponentPeer var1);
  27.  
  28.    private native void createFromGraphics(MacGraphics var1);
  29.  
  30.    private native void createFromIRepresentation(ImageRepresentation var1);
  31.  
  32.    private native void createFromPrintJob(MPrintJob var1);
  33.  
  34.    private native void pSetFont(Font var1);
  35.  
  36.    private native void pSetForeground(Color var1);
  37.  
  38.    private native void pSetScaling(float var1, float var2);
  39.  
  40.    private native void pSetOrigin(int var1, int var2);
  41.  
  42.    MacGraphics(MacGraphics var1) {
  43.       this.imageRepresentation = var1.imageRepresentation;
  44.       this.componentPeer = var1.componentPeer;
  45.       this.createFromGraphics(var1);
  46.    }
  47.  
  48.    MacGraphics(MComponentPeer var1) {
  49.       this.componentPeer = var1;
  50.       this.createFromComponent(var1);
  51.    }
  52.  
  53.    MacGraphics(MPrintJob var1) {
  54.       this.createFromPrintJob(var1);
  55.    }
  56.  
  57.    public MacGraphics(Image var1) {
  58.       OffScreenImageSource var2 = (OffScreenImageSource)var1.getSource();
  59.       this.imageRepresentation = var2.getImageRep();
  60.       this.createFromIRepresentation(this.imageRepresentation);
  61.       this.setFont(new Font("Dialog", 0, 12));
  62.    }
  63.  
  64.    public Graphics create() {
  65.       MacGraphics var1 = new MacGraphics(this);
  66.       var1.foreground = this.foreground;
  67.       var1.font = this.font;
  68.       var1.originX = this.originX;
  69.       var1.originY = this.originY;
  70.       var1.scaleX = this.scaleX;
  71.       var1.scaleY = this.scaleY;
  72.       var1.imageRepresentation = this.imageRepresentation;
  73.       return var1;
  74.    }
  75.  
  76.    public void translate(int var1, int var2) {
  77.       this.originX = (int)((float)this.originX + (float)var1 * this.scaleX);
  78.       this.originY = (int)((float)this.originY + (float)var2 * this.scaleY);
  79.       this.pSetOrigin(this.originX, this.originY);
  80.    }
  81.  
  82.    public void scale(float var1, float var2) {
  83.       this.scaleX *= var1;
  84.       this.scaleY *= var2;
  85.       this.pSetScaling(this.scaleX, this.scaleY);
  86.    }
  87.  
  88.    public native void dispose();
  89.  
  90.    public void finalize() {
  91.       this.dispose();
  92.    }
  93.  
  94.    public void setFont(Font var1) {
  95.       if (var1 != null && this.font != var1) {
  96.          this.font = var1;
  97.          this.pSetFont(var1);
  98.       }
  99.  
  100.    }
  101.  
  102.    public Font getFont() {
  103.       return this.font;
  104.    }
  105.  
  106.    public FontMetrics getFontMetrics(Font var1) {
  107.       return MacFontMetrics.getFontMetrics(var1);
  108.    }
  109.  
  110.    public void setColor(Color var1) {
  111.       if (var1 != null && var1 != this.foreground) {
  112.          this.foreground = var1;
  113.          if (var1 instanceof SystemColor) {
  114.             var1 = new Color(var1.getRGB());
  115.          }
  116.  
  117.          this.pSetForeground(var1);
  118.       }
  119.  
  120.    }
  121.  
  122.    public Color getColor() {
  123.       return this.foreground;
  124.    }
  125.  
  126.    public native void setPaintMode();
  127.  
  128.    public native void setXORMode(Color var1);
  129.  
  130.    private native void pGetClipBounds(Rectangle var1);
  131.  
  132.    private native void pChangeClip(int var1, int var2, int var3, int var4, boolean var5);
  133.  
  134.    private native void pRemoveClip();
  135.  
  136.    public Rectangle getClipBounds() {
  137.       Rectangle var1 = new Rectangle();
  138.       this.pGetClipBounds(var1);
  139.       return var1;
  140.    }
  141.  
  142.    public Rectangle getClipRect() {
  143.       return this.getClipBounds();
  144.    }
  145.  
  146.    public Shape getClip() {
  147.       return this.getClipBounds();
  148.    }
  149.  
  150.    public void setClip(Shape var1) {
  151.       if (var1 == null) {
  152.          this.pRemoveClip();
  153.       } else if (var1 instanceof Rectangle) {
  154.          Rectangle var2 = (Rectangle)var1;
  155.          this.pChangeClip(var2.x, var2.y, var2.width, var2.height, true);
  156.       } else {
  157.          throw new IllegalArgumentException("setClip(Shape) only supports Rectangle objects");
  158.       }
  159.    }
  160.  
  161.    public void setClip(int var1, int var2, int var3, int var4) {
  162.       this.pChangeClip(var1, var2, var3, var4, true);
  163.    }
  164.  
  165.    public void clipRect(int var1, int var2, int var3, int var4) {
  166.       this.pChangeClip(var1, var2, var3, var4, false);
  167.    }
  168.  
  169.    public native void clearRect(int var1, int var2, int var3, int var4);
  170.  
  171.    public native void fillRect(int var1, int var2, int var3, int var4);
  172.  
  173.    public native void drawRect(int var1, int var2, int var3, int var4);
  174.  
  175.    public native void drawString(String var1, int var2, int var3);
  176.  
  177.    public native void drawChars(char[] var1, int var2, int var3, int var4, int var5);
  178.  
  179.    public native void drawBytes(byte[] var1, int var2, int var3, int var4, int var5);
  180.  
  181.    public native int drawStringWidth(String var1, int var2, int var3);
  182.  
  183.    public native int drawCharsWidth(char[] var1, int var2, int var3, int var4, int var5);
  184.  
  185.    public native int drawBytesWidth(byte[] var1, int var2, int var3, int var4, int var5);
  186.  
  187.    public native void drawLine(int var1, int var2, int var3, int var4);
  188.  
  189.    public boolean drawImage(Image var1, int var2, int var3, ImageObserver var4) {
  190.       MacImage var5 = (MacImage)var1;
  191.       if (((sun.awt.image.Image)var5).hasError()) {
  192.          if (var4 != null) {
  193.             var4.imageUpdate(var1, 192, -1, -1, -1, -1);
  194.          }
  195.  
  196.          return false;
  197.       } else {
  198.          ImageRepresentation var6 = var5.getImageRep();
  199.          return var6.drawImage(this, var2, var3, (Color)null, var4);
  200.       }
  201.    }
  202.  
  203.    public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, ImageObserver var6) {
  204.       if (var4 != 0 && var5 != 0) {
  205.          MacImage var7 = (MacImage)var1;
  206.          if (((sun.awt.image.Image)var7).hasError()) {
  207.             if (var6 != null) {
  208.                var6.imageUpdate(var1, 192, -1, -1, -1, -1);
  209.             }
  210.  
  211.             return false;
  212.          } else {
  213.             ImageRepresentation var8 = var7.getImageRep();
  214.             return var8.drawScaledImage(this, var2, var3, var4, var5, (Color)null, var6);
  215.          }
  216.       } else {
  217.          return true;
  218.       }
  219.    }
  220.  
  221.    public boolean drawImage(Image var1, int var2, int var3, Color var4, ImageObserver var5) {
  222.       MacImage var6 = (MacImage)var1;
  223.       if (((sun.awt.image.Image)var6).hasError()) {
  224.          if (var5 != null) {
  225.             var5.imageUpdate(var1, 192, -1, -1, -1, -1);
  226.          }
  227.  
  228.          return false;
  229.       } else {
  230.          ImageRepresentation var7 = var6.getImageRep();
  231.          return var7.drawImage(this, var2, var3, var4, var5);
  232.       }
  233.    }
  234.  
  235.    public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, Color var6, ImageObserver var7) {
  236.       if (var4 != 0 && var5 != 0) {
  237.          MacImage var8 = (MacImage)var1;
  238.          if (((sun.awt.image.Image)var8).hasError()) {
  239.             if (var7 != null) {
  240.                var7.imageUpdate(var1, 192, -1, -1, -1, -1);
  241.             }
  242.  
  243.             return false;
  244.          } else {
  245.             ImageRepresentation var9 = var8.getImageRep();
  246.             return var9.drawScaledImage(this, var2, var3, var4, var5, var6, var7);
  247.          }
  248.       } else {
  249.          return true;
  250.       }
  251.    }
  252.  
  253.    public boolean drawImage(Image var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, ImageObserver var10) {
  254.       if (var2 != var4 && var3 != var5) {
  255.          MacImage var11 = (MacImage)var1;
  256.          if (((sun.awt.image.Image)var11).hasError()) {
  257.             if (var10 != null) {
  258.                var10.imageUpdate(var1, 192, -1, -1, -1, -1);
  259.             }
  260.  
  261.             return false;
  262.          } else {
  263.             ImageRepresentation var12 = var11.getImageRep();
  264.             return var12.drawStretchImage(this, var2, var3, var4, var5, var6, var7, var8, var9, (Color)null, var10);
  265.          }
  266.       } else {
  267.          return true;
  268.       }
  269.    }
  270.  
  271.    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) {
  272.       if (var2 != var4 && var3 != var5) {
  273.          MacImage var12 = (MacImage)var1;
  274.          if (((sun.awt.image.Image)var12).hasError()) {
  275.             if (var11 != null) {
  276.                var11.imageUpdate(var1, 192, -1, -1, -1, -1);
  277.             }
  278.  
  279.             return false;
  280.          } else {
  281.             ImageRepresentation var13 = var12.getImageRep();
  282.             return var13.drawStretchImage(this, var2, var3, var4, var5, var6, var7, var8, var9, var10, var11);
  283.          }
  284.       } else {
  285.          return true;
  286.       }
  287.    }
  288.  
  289.    public native void copyArea(int var1, int var2, int var3, int var4, int var5, int var6);
  290.  
  291.    public native void drawRoundRect(int var1, int var2, int var3, int var4, int var5, int var6);
  292.  
  293.    public native void fillRoundRect(int var1, int var2, int var3, int var4, int var5, int var6);
  294.  
  295.    public native void drawPolyline(int[] var1, int[] var2, int var3);
  296.  
  297.    public native void drawPolygon(int[] var1, int[] var2, int var3);
  298.  
  299.    public native void fillPolygon(int[] var1, int[] var2, int var3);
  300.  
  301.    public native void drawOval(int var1, int var2, int var3, int var4);
  302.  
  303.    public native void fillOval(int var1, int var2, int var3, int var4);
  304.  
  305.    public native void drawArc(int var1, int var2, int var3, int var4, int var5, int var6);
  306.  
  307.    public native void fillArc(int var1, int var2, int var3, int var4, int var5, int var6);
  308.  
  309.    public String toString() {
  310.       return this.getClass().getName() + "[" + this.originX + "," + this.originY + "," + this.scaleX + "," + this.scaleY + "]";
  311.    }
  312. }
  313.