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

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Dimension;
  5. import java.awt.Graphics;
  6. import java.awt.Image;
  7.  
  8. public class ImageUpdater extends Applet {
  9.    Image bigimg;
  10.    Image smallimg;
  11.    int smallx;
  12.    int smally;
  13.    int smallw;
  14.    int smallh;
  15.    boolean sizeknown = false;
  16.    boolean errored = false;
  17.  
  18.    public void init() {
  19.       this.bigimg = ((Applet)this).getImage(((Applet)this).getCodeBase(), "../images/bigimg.gif");
  20.       this.smallimg = ((Applet)this).getImage(((Applet)this).getCodeBase(), "../images/smallimg.gif");
  21.       this.positionImages();
  22.    }
  23.  
  24.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  25.       if ((var2 & 64) != 0) {
  26.          this.errored = true;
  27.       }
  28.  
  29.       if ((var2 & 3) != 0) {
  30.          this.positionImages();
  31.       }
  32.  
  33.       boolean var7 = (var2 & 112) != 0;
  34.       ((Component)this).repaint((long)(var7 ? 0 : 100));
  35.       return !var7;
  36.    }
  37.  
  38.    public synchronized void positionImages() {
  39.       Dimension var1 = ((Component)this).size();
  40.       int var2 = this.bigimg.getWidth(this);
  41.       int var3 = this.bigimg.getHeight(this);
  42.       this.smallw = this.smallimg.getWidth(this);
  43.       this.smallh = this.smallimg.getHeight(this);
  44.       if (var2 >= 0 && var3 >= 0 && this.smallw >= 0 && this.smallh >= 0) {
  45.          this.smallw = this.smallw * var1.width / var2;
  46.          this.smallh = this.smallh * var1.height / var3;
  47.          this.smallx = (var1.width - this.smallw) / 2;
  48.          this.smally = (var1.height - this.smallh) / 2;
  49.          this.sizeknown = true;
  50.       }
  51.    }
  52.  
  53.    public synchronized void paint(Graphics var1) {
  54.       Dimension var2 = ((Component)this).size();
  55.       int var3 = var2.width;
  56.       int var4 = var2.height;
  57.       if (this.errored) {
  58.          var1.setColor(Color.red);
  59.          var1.fillRect(0, 0, var3, var4);
  60.       } else {
  61.          var1.drawImage(this.bigimg, 0, 0, var3, var4, this);
  62.          if (this.sizeknown) {
  63.             var1.drawImage(this.smallimg, this.smallx, this.smally, this.smallw, this.smallh, this);
  64.          }
  65.  
  66.       }
  67.    }
  68. }
  69.