home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161b.iso / handson / archive / Issue153 / java / Mirror.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-04  |  1.7 KB  |  60 lines

  1. import java.applet.Applet;
  2. import java.awt.Component;
  3. import java.awt.Graphics;
  4. import java.awt.Image;
  5. import java.awt.MediaTracker;
  6.  
  7. public class Mirror extends Applet {
  8.    Image origImg;
  9.    Image backImg;
  10.    // $FF: renamed from: w1 int
  11.    int field_0;
  12.    // $FF: renamed from: h1 int
  13.    int field_1;
  14.  
  15.    public void init() {
  16.       this.loadImage();
  17.    }
  18.  
  19.    public void loadImage() {
  20.       MediaTracker var1 = new MediaTracker(this);
  21.       String var2 = ((Applet)this).getParameter("image");
  22.       this.origImg = ((Applet)this).getImage(((Applet)this).getDocumentBase(), var2);
  23.       var1.addImage(this.origImg, 0);
  24.  
  25.       try {
  26.          var1.waitForID(0);
  27.       } catch (InterruptedException var5) {
  28.       }
  29.  
  30.       this.field_0 = this.origImg.getWidth(this);
  31.       this.field_1 = this.origImg.getHeight(this);
  32.       this.backImg = ((Component)this).createImage(this.field_0 + 1, this.field_1);
  33.       Graphics var3 = this.backImg.getGraphics();
  34.       var3.drawImage(this.origImg, 0, 0, this);
  35.  
  36.       for(int var4 = 0; var4 < this.field_0 >> 1; ++var4) {
  37.          var3.copyArea(var4, 0, 1, this.field_1, this.field_0 - var4, 0);
  38.          var3.copyArea(this.field_0 - var4, 0, 1, this.field_1, (var4 << 1) - this.field_0, 0);
  39.          var3.copyArea(this.field_0, 0, 1, this.field_1, -var4, 0);
  40.       }
  41.  
  42.       ((Component)this).repaint();
  43.    }
  44.  
  45.    public void update(Graphics var1) {
  46.       this.paint(var1);
  47.    }
  48.  
  49.    public void paint(Graphics var1) {
  50.       if (this.origImg != null) {
  51.          var1.drawImage(this.origImg, 0, 0, this);
  52.       }
  53.  
  54.       if (this.backImg != null) {
  55.          var1.drawImage(this.backImg, this.field_0, 0, this);
  56.       }
  57.  
  58.    }
  59. }
  60.