home *** CD-ROM | disk | FTP | other *** search
/ Datatid 2000 #1 / Datatid-2000-01.iso / Internet / SPLASH / SPLASH12.EXE / data1.cab / Plugins / _Imaging / Tiny_Image_Cycle / tinyImageCycle.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-12-18  |  2.9 KB  |  129 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 tinyImageCycle extends Applet implements Runnable {
  8.    int maxImages = 100;
  9.    int delay = 5000;
  10.    int startDelay;
  11.    int maxImage;
  12.    int preload;
  13.    int current;
  14.    Image[] images;
  15.    Image offImage;
  16.    // $FF: renamed from: bg java.awt.Image
  17.    Image field_0;
  18.    Graphics offGrfx;
  19.    Thread runner;
  20.  
  21.    public void init() {
  22.       String var1 = ((Applet)this).getParameter("DELAY");
  23.       String var2 = ((Applet)this).getParameter("STARTDELAY");
  24.       String var3 = ((Applet)this).getParameter("PRELOAD");
  25.  
  26.       for(int var4 = 0; var4 < this.maxImages; ++var4) {
  27.          this.images[var4] = ((Applet)this).getImage(((Applet)this).getDocumentBase(), ((Applet)this).getParameter("IMAGE" + Integer.toString(var4 + 1)));
  28.       }
  29.  
  30.       for(int var5 = 0; var5 < this.maxImages && this.images[var5] != null; ++var5) {
  31.          ++this.maxImage;
  32.       }
  33.  
  34.       if (var1 != null) {
  35.          this.delay = Integer.parseInt(var1);
  36.       }
  37.  
  38.       if (var2 != null) {
  39.          this.startDelay = Integer.parseInt(var2);
  40.       }
  41.  
  42.       if (var3 != null) {
  43.          this.preload = Integer.parseInt(var3);
  44.       }
  45.  
  46.       this.offImage = ((Component)this).createImage(((Component)this).size().width, ((Component)this).size().height);
  47.       this.offGrfx = this.offImage.getGraphics();
  48.       this.current = 0;
  49.    }
  50.  
  51.    public void paint(Graphics var1) {
  52.       try {
  53.          this.offGrfx.drawImage(this.field_0, 0, 0, this);
  54.       } catch (NullPointerException var3) {
  55.       }
  56.  
  57.       try {
  58.          var1.drawImage(this.offImage, 0, 0, this);
  59.       } catch (NullPointerException var2) {
  60.       }
  61.    }
  62.  
  63.    public void update(Graphics var1) {
  64.       this.paint(var1);
  65.    }
  66.  
  67.    public void start() {
  68.       if (this.runner == null) {
  69.          this.runner = new Thread(this);
  70.          this.runner.start();
  71.       }
  72.  
  73.    }
  74.  
  75.    public void run() {
  76.       boolean var1 = false;
  77.       if (this.preload != 0) {
  78.          MediaTracker var2 = new MediaTracker(this);
  79.  
  80.          for(int var3 = 0; var3 < this.maxImage; ++var3) {
  81.             var2.addImage(this.images[var3], 0);
  82.          }
  83.  
  84.          try {
  85.             var2.waitForAll();
  86.             var1 = !var2.isErrorAny();
  87.          } catch (InterruptedException var6) {
  88.          }
  89.  
  90.          if (!var1) {
  91.             this.stop();
  92.             return;
  93.          }
  94.       }
  95.  
  96.       try {
  97.          Thread.sleep((long)this.startDelay);
  98.       } catch (InterruptedException var5) {
  99.       }
  100.  
  101.       while(true) {
  102.          for(int var7 = 0; var7 < this.maxImage; ++var7) {
  103.             this.field_0 = this.images[var7];
  104.             ((Component)this).repaint();
  105.             if (this.preload == 0) {
  106.                this.images[var7].flush();
  107.             }
  108.  
  109.             try {
  110.                Thread.sleep((long)this.delay);
  111.             } catch (InterruptedException var4) {
  112.             }
  113.          }
  114.       }
  115.    }
  116.  
  117.    public void stop() {
  118.       if (this.runner != null) {
  119.          this.runner.stop();
  120.          this.runner = null;
  121.       }
  122.  
  123.    }
  124.  
  125.    public tinyImageCycle() {
  126.       this.images = new Image[this.maxImages];
  127.    }
  128. }
  129.