home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Component;
- import java.awt.Event;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.MediaTracker;
- import java.awt.image.ImageObserver;
- import java.awt.image.MemoryImageSource;
- import java.net.URL;
- import java.util.Vector;
-
- public final class ImageFade2ech extends Applet implements Runnable {
- boolean inapplet = false;
- Graphics bufferG;
- Image bufferI;
- Image[] images;
- int width;
- int height;
- int index;
- int transition_count = 10;
- int transition_speed = 100;
- int pause = 5000;
- // $FF: renamed from: mt java.awt.MediaTracker
- MediaTracker field_0;
- String target = "_self";
- Thread woohoo;
- URL[] urls;
-
- public void init() {
- this.field_0 = new MediaTracker(this);
- this.width = ((Component)this).size().width;
- this.height = ((Component)this).size().height;
- if (this.bufferG == null) {
- this.bufferI = ((Component)this).createImage(this.width, this.height);
- this.bufferG = this.bufferI.getGraphics();
- }
-
- if (((Applet)this).getParameter("TARGET") != null) {
- this.target = ((Applet)this).getParameter("TARGET");
- }
-
- if (((Applet)this).getParameter("PAUSE") != null) {
- this.pause = Integer.parseInt(((Applet)this).getParameter("PAUSE"));
- }
-
- if (((Applet)this).getParameter("TRANSITION.STEPS") != null) {
- this.transition_count = Integer.parseInt(((Applet)this).getParameter("TRANSITION.STEPS"));
- }
-
- if (((Applet)this).getParameter("TRANSITION.SPEED") != null) {
- this.transition_speed = Integer.parseInt(((Applet)this).getParameter("TRANSITION.SPEED"));
- }
-
- int var1 = 0;
-
- Vector var2;
- for(var2 = new Vector(); ((Applet)this).getParameter("IMAGE." + var1) != null; ++var1) {
- Object var3 = null;
-
- try {
- Image var6 = ((Applet)this).getImage(((Applet)this).getDocumentBase(), ((Applet)this).getParameter("IMAGE." + var1));
- if (var6 != null) {
- var2.addElement(var6);
- }
-
- this.field_0.addImage(var6, var1);
- } catch (Exception var5) {
- }
- }
-
- this.images = new Image[var2.size()];
- var2.copyInto(this.images);
- this.urls = new URL[this.images.length];
-
- for(int var7 = 0; var7 < this.urls.length; ++var7) {
- if (((Applet)this).getParameter("URL." + var7) != null) {
- try {
- this.urls[var7] = new URL(((Applet)this).getDocumentBase(), ((Applet)this).getParameter("URL." + var7));
- } catch (Exception var4) {
- }
- }
- }
-
- this.index = 0;
- }
-
- public void run() {
- while(true) {
- if (this.inapplet && this.urls[this.index] != null) {
- ((Applet)this).showStatus(this.urls[this.index].toString());
- } else {
- ((Applet)this).showStatus("");
- }
-
- int var1 = (this.index + 1) % this.images.length;
- long var2 = System.currentTimeMillis();
-
- try {
- if (!this.field_0.checkID(this.index)) {
- this.field_0.waitForID(this.index);
- }
-
- this.bufferG.drawImage(this.images[this.index], 0, 0, this);
- ((Component)this).repaint();
- if (!this.field_0.checkID(var1)) {
- this.field_0.waitForID(var1);
- }
- } catch (Exception var21) {
- }
-
- Image[] var4 = new Image[this.transition_count];
- Pixelator3 var5 = new Pixelator3(this.images[this.index]);
- Pixelator3 var6 = new Pixelator3(this.images[var1]);
- int[][] var7 = new int[this.transition_count][this.height * this.width];
-
- for(int var8 = 0; var8 < this.transition_count; ++var8) {
- for(int var9 = 0; var9 < this.height; ++var9) {
- for(int var10 = 0; var10 < this.width; ++var10) {
- int var11 = var5.imgpixels[var9][var10];
- int var12 = var6.imgpixels[var9][var10];
- int var13 = var11 >> 16 & 255;
- int var14 = var11 >> 8 & 255;
- int var15 = var11 & 255;
- int var16 = var12 >> 16 & 255;
- int var17 = var12 >> 8 & 255;
- int var18 = var12 & 255;
- var7[var8][var9 * this.width + var10] = -16777216 | var13 + (var16 - var13) * (var8 + 1) / this.transition_count << 16 | var14 + (var17 - var14) * (var8 + 1) / this.transition_count << 8 | var15 + (var18 - var15) * (var8 + 1) / this.transition_count;
- }
- }
-
- var4[var8] = ((Component)this).createImage(new MemoryImageSource(this.width, this.height, var7[var8], 0, this.width));
- }
-
- long var22 = System.currentTimeMillis();
- int var23 = (int)(var22 - var2);
- if (var23 < this.pause) {
- try {
- Thread.sleep((long)(this.pause - var23));
- } catch (Exception var20) {
- }
- }
-
- for(int var24 = 0; var24 < this.transition_count; ++var24) {
- this.bufferG.drawImage(var4[var24], 0, 0, this);
- ((Component)this).repaint();
-
- try {
- Thread.sleep((long)this.transition_speed);
- } catch (Exception var19) {
- }
- }
-
- this.index = (this.index + 1) % this.images.length;
- }
- }
-
- public void paint(Graphics var1) {
- var1.drawImage(this.bufferI, 0, 0, this);
- }
-
- public void update(Graphics var1) {
- var1.drawImage(this.bufferI, 0, 0, (ImageObserver)this);
- }
-
- public void start() {
- if (this.woohoo == null) {
- this.woohoo = new Thread(this);
- }
-
- if (((Applet)this).getParameter("AUTHOR").equals("Eric Harshbarger, http://www.ericharshbarger.org") && ((Applet)this).getParameter("COPYRIGHT").equals("ImageFade applet, Copyright 1998, Eric Harshbarger")) {
- this.woohoo.start();
- } else {
- System.out.println("AUTHOR & COPYRIGHT parameters are incorrect.");
- }
- }
-
- public void stop() {
- if (this.woohoo != null) {
- this.woohoo.stop();
- this.woohoo = null;
- }
-
- }
-
- public void destroy() {
- if (this.bufferG != null) {
- this.bufferG.dispose();
- }
-
- }
-
- public boolean mouseEnter(Event var1, int var2, int var3) {
- this.inapplet = true;
- if (this.urls[this.index] != null) {
- ((Applet)this).showStatus(this.urls[this.index].toString());
- }
-
- return true;
- }
-
- public boolean mouseExit(Event var1, int var2, int var3) {
- this.inapplet = false;
- ((Applet)this).showStatus("");
- return false;
- }
-
- public boolean mouseUp(Event var1, int var2, int var3) {
- if (this.urls[this.index] != null) {
- try {
- ((Applet)this).getAppletContext().showDocument(this.urls[this.index], this.target);
- } catch (Exception var4) {
- }
- }
-
- return true;
- }
- }
-