home *** CD-ROM | disk | FTP | other *** search
/ MACD 4 / MACD4.iso / Internet / Java / ui / components / example / ImageCanvas.class (.txt) < prev    next >
Encoding:
Java Class File  |  1978-03-06  |  1.5 KB  |  59 lines

  1. import java.awt.Canvas;
  2. import java.awt.Component;
  3. import java.awt.Container;
  4. import java.awt.Dimension;
  5. import java.awt.Graphics;
  6. import java.awt.Image;
  7.  
  8. class ImageCanvas extends Canvas {
  9.    Container pappy;
  10.    Image image;
  11.    boolean trueSizeKnown = false;
  12.    Dimension minSize;
  13.    // $FF: renamed from: w int
  14.    int field_0;
  15.    // $FF: renamed from: h int
  16.    int field_1;
  17.  
  18.    public ImageCanvas(Image var1, Container var2, int var3, int var4) {
  19.       if (var1 == null) {
  20.          System.err.println("Canvas got invalid image object!");
  21.       } else {
  22.          this.image = var1;
  23.          this.pappy = var2;
  24.          this.field_0 = var3;
  25.          this.field_1 = var4;
  26.          this.minSize = new Dimension(this.field_0, this.field_1);
  27.       }
  28.    }
  29.  
  30.    public Dimension preferredSize() {
  31.       return this.minimumSize();
  32.    }
  33.  
  34.    public synchronized Dimension minimumSize() {
  35.       return this.minSize;
  36.    }
  37.  
  38.    public void paint(Graphics var1) {
  39.       if (this.image != null) {
  40.          if (!this.trueSizeKnown) {
  41.             int var2 = this.image.getWidth(this);
  42.             int var3 = this.image.getHeight(this);
  43.             if (var2 > 0 && var3 > 0) {
  44.                this.trueSizeKnown = true;
  45.                this.field_0 = var2;
  46.                this.field_1 = var3;
  47.                this.minSize = new Dimension(this.field_0, this.field_1);
  48.                ((Component)this).resize(this.field_0, this.field_1);
  49.                this.pappy.validate();
  50.             }
  51.          }
  52.  
  53.          var1.drawImage(this.image, 0, 0, this);
  54.          var1.drawRect(0, 0, this.field_0 - 1, this.field_1 - 1);
  55.       }
  56.  
  57.    }
  58. }
  59.