home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Event;
- import java.awt.Font;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.StringTokenizer;
- import java.util.Vector;
-
- public class AdvertisementPanel extends Applet implements Runnable {
- Image defaultImg;
- Image currentImg;
- String sCurrentEffect = "left";
- String sCurrentDest = "";
- long lCurrentDelay = 10000L;
- // $FF: renamed from: t java.lang.Thread
- public Thread field_0;
- URL ImageURL;
- int Totalheight;
- int Totalwidth;
- int width;
- int height;
- int Xtick;
- int Ytick;
- int nIndex;
- boolean bUpdateEnabled = true;
- Vector imgURLs;
- Vector imgs;
- Vector effects;
- Vector delays;
- Vector destURLs;
- int nCount;
-
- public void init() {
- this.Totalheight = ((Component)this).size().height;
- this.Totalwidth = ((Component)this).size().width;
- this.Xtick = this.Totalwidth / 10;
- this.Ytick = this.Totalheight / 10;
- this.defaultImg = ((Component)this).createImage(this.Totalwidth, this.Totalheight);
- Graphics var1 = this.defaultImg.getGraphics();
- var1.setColor(Color.black);
- var1.fill3DRect(0, 0, this.Totalwidth, this.Totalheight, true);
- var1.setColor(Color.white);
- Font var2 = new Font("TimesRoman", 1, 16);
- var1.setFont(var2);
- var1.drawString("Loading images, please wait...", 20, this.Totalheight / 2 - 10);
- this.currentImg = this.defaultImg;
- ((Component)this).repaint();
- this.bUpdateEnabled = false;
- this.createParameters();
- this.loadImages();
- }
-
- void createParameters() {
- String var1 = ((Applet)this).getParameter("count");
- if (var1 == null) {
- System.out.println("Please specify the count parameter");
- System.exit(0);
- } else {
- this.nCount = Integer.valueOf(var1);
- }
-
- Object var2 = null;
- this.imgURLs = new Vector(this.nCount);
- this.delays = new Vector(this.nCount);
- this.effects = new Vector(this.nCount);
- this.destURLs = new Vector(this.nCount);
-
- for(int var3 = 0; var3 < this.nCount; ++var3) {
- var1 = ((Applet)this).getParameter("img" + var3);
- StringTokenizer var4 = new StringTokenizer(var1, ",");
-
- try {
- var7 = new URL(var4.nextToken());
- } catch (MalformedURLException var5) {
- System.out.println("Image URL malformed " + var3);
- continue;
- }
-
- this.imgURLs.addElement(var7);
- this.delays.addElement(Long.valueOf(var4.nextToken()));
- this.effects.addElement(var4.nextToken());
- if (var4.hasMoreTokens()) {
- this.destURLs.addElement(var4.nextToken());
- } else {
- this.destURLs.addElement("No target URL specified for this image");
- }
- }
-
- }
-
- public synchronized void paint(Graphics var1) {
- var1.drawImage(this.currentImg, 0, 0, this.Totalwidth, this.Totalheight, this);
- }
-
- public synchronized void update(Graphics var1) {
- }
-
- public String getAppletInfo() {
- return "AdvertisementPanel.class, copyrights 1996, Information Technology Solutions (ITS), http://its-idsc.gov.eg, contact: mnosseir@ritsec.com.eg";
- }
-
- synchronized void loadImages() {
- this.imgs = new Vector(this.imgURLs.size());
-
- for(int var1 = 0; var1 < this.imgURLs.size(); ++var1) {
- this.imgs.addElement(((Applet)this).getImage((URL)this.imgURLs.elementAt(var1)));
- ((Component)this).prepareImage((Image)this.imgs.elementAt(var1), this.Totalwidth, this.Totalheight, this);
- if (this.imgs.elementAt(var1) == null) {
- this.imgs.setElementAt(this.defaultImg, var1);
- System.out.println("Can't prepare image. Loading default one");
- }
- }
-
- this.currentImg = (Image)this.imgs.elementAt(0);
- this.sCurrentEffect = (String)this.effects.elementAt(0);
- this.lCurrentDelay = (Long)this.delays.elementAt(0);
- this.sCurrentDest = (String)this.destURLs.elementAt(0);
- }
-
- synchronized void nextSlide() {
- ++this.nIndex;
- if (this.nIndex == this.nCount) {
- this.nIndex = 0;
- }
-
- this.currentImg = (Image)this.imgs.elementAt(this.nIndex);
- this.sCurrentEffect = (String)this.effects.elementAt(this.nIndex);
- this.lCurrentDelay = (Long)this.delays.elementAt(this.nIndex);
- this.sCurrentDest = (String)this.destURLs.elementAt(this.nIndex);
- }
-
- synchronized void drawImageGrow(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9) {
- Graphics var11 = ((Component)this).getGraphics();
-
- while(var3 <= this.Totalwidth && var3 >= 0 && var4 <= this.Totalheight && var4 >= 0 && this.field_0 != null) {
- var11.drawImage(this.currentImg, var1, var2, var3, var4, this);
- var1 += var5;
- var2 += var6;
- var3 += var7;
- var4 += var8;
-
- try {
- Thread.sleep(var9);
- } catch (InterruptedException var12) {
- }
-
- if (var3 > this.Totalwidth || var4 > this.Totalheight) {
- var11.drawImage(this.currentImg, 0, 0, this.Totalwidth, this.Totalheight, this);
- }
- }
-
- }
-
- synchronized void displayImage(String var1) {
- for(int var2 = 0; var2 < 10000 && !((Component)this).prepareImage(this.currentImg, this.Totalwidth, this.Totalheight, this); ++var2) {
- }
-
- if (var1.equals("noeffect")) {
- ((Component)this).getGraphics().drawImage(this.currentImg, 0, 0, this.Totalwidth, this.Totalheight, this);
- } else if (var1.equals("left")) {
- this.drawImageGrow(0, 0, 0, this.Totalheight, 0, 0, this.Xtick, 0, 25L);
- } else if (var1.equals("right")) {
- this.drawImageGrow(this.Totalwidth, 0, 0, this.Totalheight, -this.Xtick, 0, this.Xtick, 0, 25L);
- } else if (var1.equals("top")) {
- this.drawImageGrow(0, 0, this.Totalwidth, 0, 0, 0, 0, this.Ytick, 50L);
- } else if (var1.equals("bottom")) {
- this.drawImageGrow(0, this.Totalheight, this.Totalwidth, 0, 0, -this.Ytick, 0, this.Ytick, 50L);
- } else if (var1.equals("center")) {
- this.drawImageGrow(this.Totalwidth / 2 - this.Xtick / 2, this.Totalheight / 2 - this.Ytick / 2, this.Xtick, this.Ytick, -(this.Xtick / 2), -(this.Ytick / 2), this.Xtick, this.Ytick, 75L);
- } else if (var1.equals("vcenter")) {
- this.drawImageGrow(0, this.Totalheight / 2, this.Totalwidth, 0, 0, -(this.Ytick / 2), 0, this.Ytick, 50L);
- } else if (var1.equals("hcenter")) {
- this.drawImageGrow(this.Totalwidth / 2, 0, 0, this.Totalheight, -(this.Xtick / 2), 0, this.Xtick, 0, 25L);
- } else if (var1.equals("lefttop")) {
- this.drawImageGrow(0, 0, 0, 0, 0, 0, this.Xtick, this.Ytick, 50L);
- } else if (var1.equals("leftbottom")) {
- this.drawImageGrow(0, this.Totalheight, 0, 0, 0, -this.Ytick, this.Xtick, this.Ytick, 50L);
- } else if (var1.equals("righttop")) {
- this.drawImageGrow(this.Totalwidth, 0, 0, 0, -this.Xtick, 0, this.Xtick, this.Ytick, 50L);
- } else {
- if (var1.equals("rightbottom")) {
- this.drawImageGrow(this.Totalwidth, this.Totalheight, 0, 0, -this.Xtick, -this.Ytick, this.Xtick, this.Ytick, 50L);
- }
-
- }
- }
-
- public void run() {
- Graphics var1 = ((Component)this).getGraphics();
- var1.drawImage(this.defaultImg, 0, 0, this.Totalwidth, this.Totalheight, this);
-
- for(; this.field_0 != null; this.nextSlide()) {
- this.displayImage(this.sCurrentEffect);
-
- try {
- Thread.sleep(this.lCurrentDelay);
- } catch (InterruptedException var2) {
- }
- }
-
- }
-
- public void start() {
- if (this.field_0 == null) {
- this.field_0 = new Thread(this);
- this.field_0.start();
- }
-
- }
-
- public void stop() {
- if (this.field_0 != null) {
- this.field_0.stop();
- this.field_0 = null;
- }
-
- }
-
- public boolean mouseUp(Event var1, int var2, int var3) {
- Object var4 = null;
-
- try {
- var6 = new URL(this.sCurrentDest);
- } catch (MalformedURLException var5) {
- return true;
- }
-
- if (var6 != null) {
- ((Applet)this).getAppletContext().showDocument(var6);
- }
-
- return true;
- }
-
- public boolean mouseMove(Event var1, int var2, int var3) {
- ((Applet)this).showStatus(this.sCurrentDest);
- return true;
- }
- }
-