home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Event;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.MediaTracker;
- import java.net.MalformedURLException;
- import java.net.URL;
-
- public class slideb extends OCAviewerExtend implements Runnable {
- Image off2;
- Graphics g_off2;
- // $FF: renamed from: fm java.awt.FontMetrics
- FontMetrics field_0;
- Image[] images;
- URL goURL;
- private Thread bbthread = null;
- boolean on_the_move = false;
- boolean mouse_on;
- int which_image = -1;
- // $FF: renamed from: k int
- int field_1;
- MediaTracker tracker;
- // $FF: renamed from: d java.awt.Dimension
- Dimension field_2;
- long next_time;
- boolean time_expired;
- private boolean m_stall_on_mouseover = true;
- private int m_expired_delay = 2000;
- private boolean m_overlap = true;
- private int m_jump = 1;
- private String m_load_msg = "";
- private int font_size = 12;
- private int m_delay_periods = 3;
- private String m_offsbtext = "Java by OpenCube";
- private Color m_bgcolor;
- private Color m_textcolor;
- private String m_loadwhere;
- private String[] m_cur_loadwhere;
- private boolean[] m_cur_overlap;
- private boolean[] m_drawn;
- private String[] imagefile;
- private int m_movedelay;
- private int[] m_heading;
- int num_images;
- String[] destinations;
- String[] descriptions;
- boolean first_pass;
- boolean push_status;
- boolean first_run;
- Image off;
- Graphics g_off;
- int[] delay_periods;
- boolean tag;
-
- public void stop() {
- if (this.bbthread != null) {
- this.bbthread.stop();
- this.bbthread = null;
- }
-
- }
-
- public boolean mouseEnter(Event var1, int var2, int var3) {
- this.mouse_on = true;
- if (!this.descriptions[this.which_image].equals("-1")) {
- ((OCAviewerExtend)this).showStatus(this.descriptions[this.which_image]);
- }
-
- return true;
- }
-
- public boolean mouseExit(Event var1, int var2, int var3) {
- this.mouse_on = false;
- ((OCAviewerExtend)this).showStatus(this.m_offsbtext);
- return true;
- }
-
- public void paint(Graphics var1) {
- this.paintIt(var1);
- }
-
- public slideb() {
- this.m_bgcolor = Color.black;
- this.m_textcolor = Color.white;
- this.m_loadwhere = "_self";
- this.m_movedelay = 0;
- this.first_pass = true;
- this.push_status = false;
- this.first_run = true;
- this.tag = false;
- }
-
- public void paintIt(Graphics var1) {
- if (this.tag) {
- if (this.first_run) {
- this.drawLoad(var1, this.m_load_msg);
- return;
- }
-
- if (!this.on_the_move) {
- this.drawBG();
- this.g_off.drawImage(this.images[this.which_image], 0, 0, this);
- var1.drawImage(this.off, 0, 0, this);
- ((OCAviewerExtend)this).showStatus(this.descriptions[this.which_image]);
- return;
- }
- } else {
- this.drawLoad(var1, "Invalid Notice Tag");
- var1.drawString("Invalid Notice Tag", this.field_2.width / 2 - this.field_0.stringWidth(this.m_load_msg) / 2, this.field_2.height / 2 + this.field_0.getDescent());
- ((OCAviewerExtend)this).showStatus("Invalid 'Notice' Tag");
- }
-
- }
-
- static int getTransitionValue(String var0) {
- if (var0.equalsIgnoreCase("Up-Left")) {
- return 0;
- } else if (var0.equalsIgnoreCase("Up")) {
- return 1;
- } else if (var0.equalsIgnoreCase("Up-Right")) {
- return 2;
- } else if (var0.equalsIgnoreCase("Right")) {
- return 3;
- } else if (var0.equalsIgnoreCase("Down-Right")) {
- return 4;
- } else if (var0.equalsIgnoreCase("Down")) {
- return 5;
- } else if (var0.equalsIgnoreCase("Down-Left")) {
- return 6;
- } else if (var0.equalsIgnoreCase("Left")) {
- return 7;
- } else {
- return var0.equalsIgnoreCase("Random") ? 8 : -1;
- }
- }
-
- public void drawLoad(Graphics var1, String var2) {
- this.g_off.setColor(this.m_bgcolor);
- this.g_off.fillRect(0, 0, this.field_2.width, this.field_2.height);
- this.g_off.setColor(this.m_textcolor);
- this.field_0 = ((Component)this).getFontMetrics(new Font("Helvetica", 0, this.font_size));
- this.g_off.setFont(new Font("Helvetica", 0, this.font_size));
- this.g_off.drawString(var2, this.field_2.width / 2 - this.field_0.stringWidth(var2) / 2, this.field_2.height / 2 + this.field_0.getDescent());
- this.g_off2.drawImage(this.off, 0, 0, this);
- var1.drawImage(this.off, 0, 0, this);
- }
-
- public void moveSlide(Graphics var1) {
- double var2 = (double)0.0F;
- double var4 = (double)this.field_2.height / (double)this.field_2.width;
- this.on_the_move = true;
- if (this.m_heading[this.field_1] == 0) {
- var2 = (double)(-this.field_2.height);
-
- for(int var6 = -this.field_2.width; var6 <= 0; var6 += this.m_jump) {
- var2 += var4 * (double)this.m_jump;
- var1.drawImage(this.off, var6, (int)var2, this);
- if (!this.m_cur_overlap[this.field_1]) {
- var1.drawImage(this.off2, var6 + this.field_2.width, (int)var2 + this.field_2.height, this);
- }
-
- try {
- Thread.sleep((long)this.m_movedelay);
- } catch (InterruptedException var14) {
- }
- }
-
- var1.drawImage(this.off, 0, 0, this);
- var2 = (double)0.0F;
- } else if (this.m_heading[this.field_1] == 1) {
- for(int var23 = -this.field_2.height; var23 <= 0; var23 += this.m_jump) {
- var1.drawImage(this.off, 0, var23, this);
- if (!this.m_cur_overlap[this.field_1]) {
- var1.drawImage(this.off2, 0, var23 + this.field_2.height, this);
- }
-
- try {
- Thread.sleep((long)this.m_movedelay);
- } catch (InterruptedException var13) {
- }
- }
-
- var1.drawImage(this.off, 0, 0, this);
- } else if (this.m_heading[this.field_1] == 2) {
- var2 = (double)(-this.field_2.height);
-
- for(int var24 = this.field_2.width; var24 >= 0; var24 -= this.m_jump) {
- var2 += var4 * (double)this.m_jump;
- var1.drawImage(this.off, var24, (int)var2, this);
- if (!this.m_cur_overlap[this.field_1]) {
- var1.drawImage(this.off2, var24 - this.field_2.width, (int)var2 + this.field_2.height, this);
- }
-
- try {
- Thread.sleep((long)this.m_movedelay);
- } catch (InterruptedException var12) {
- }
- }
-
- var1.drawImage(this.off, 0, 0, this);
- var2 = (double)0.0F;
- } else if (this.m_heading[this.field_1] == 3) {
- for(int var25 = this.field_2.width; var25 >= 0; var25 -= this.m_jump) {
- var1.drawImage(this.off, var25, 0, this);
- if (!this.m_cur_overlap[this.field_1]) {
- var1.drawImage(this.off2, var25 - this.field_2.width, 0, this);
- }
-
- try {
- Thread.sleep((long)this.m_movedelay);
- } catch (InterruptedException var11) {
- }
- }
-
- var1.drawImage(this.off, 0, 0, this);
- } else if (this.m_heading[this.field_1] == 4) {
- var2 = (double)this.field_2.height;
-
- for(int var26 = this.field_2.width; var26 >= 0; var26 -= this.m_jump) {
- var2 -= var4 * (double)this.m_jump;
- var1.drawImage(this.off, var26, (int)var2, this);
- if (!this.m_cur_overlap[this.field_1]) {
- var1.drawImage(this.off2, var26 - this.field_2.width, (int)var2 - this.field_2.height, this);
- }
-
- try {
- Thread.sleep((long)this.m_movedelay);
- } catch (InterruptedException var10) {
- }
- }
-
- var1.drawImage(this.off, 0, 0, this);
- var2 = (double)0.0F;
- } else if (this.m_heading[this.field_1] == 5) {
- for(int var27 = this.field_2.height; var27 >= 0; var27 -= this.m_jump) {
- var1.drawImage(this.off, 0, var27, this);
- if (!this.m_cur_overlap[this.field_1]) {
- var1.drawImage(this.off2, 0, var27 - this.field_2.height, this);
- }
-
- try {
- Thread.sleep((long)this.m_movedelay);
- } catch (InterruptedException var9) {
- }
- }
-
- var1.drawImage(this.off, 0, 0, this);
- } else if (this.m_heading[this.field_1] == 6) {
- var2 = (double)this.field_2.height;
-
- for(int var28 = -this.field_2.width; var28 <= 0; var28 += this.m_jump) {
- var2 -= var4 * (double)this.m_jump;
- var1.drawImage(this.off, var28, (int)var2, this);
- if (!this.m_cur_overlap[this.field_1]) {
- var1.drawImage(this.off2, var28 + this.field_2.width, (int)var2 - this.field_2.height, this);
- }
-
- try {
- Thread.sleep((long)this.m_movedelay);
- } catch (InterruptedException var8) {
- }
- }
-
- var1.drawImage(this.off, 0, 0, this);
- var2 = (double)0.0F;
- } else if (this.m_heading[this.field_1] == 7) {
- for(int var29 = -this.field_2.width; var29 <= 0; var29 += this.m_jump) {
- var1.drawImage(this.off, var29, 0, this);
- if (!this.m_cur_overlap[this.field_1]) {
- var1.drawImage(this.off2, var29 + this.field_2.width, 0, this);
- }
-
- try {
- Thread.sleep((long)this.m_movedelay);
- } catch (InterruptedException var7) {
- }
- }
-
- var1.drawImage(this.off, 0, 0, this);
- } else {
- var1.drawImage(this.off, 0, 0, this);
- }
-
- if (this.field_1 != this.num_images - 1) {
- if (!this.m_cur_overlap[this.field_1 + 1]) {
- this.g_off2.drawImage(this.off, 0, 0, this);
- }
- } else if (!this.m_cur_overlap[0]) {
- this.g_off2.drawImage(this.off, 0, 0, this);
- }
-
- this.on_the_move = false;
- }
-
- public void start() {
- if (this.bbthread == null) {
- this.bbthread = new Thread(this);
- this.bbthread.start();
- }
-
- }
-
- public void drawBG() {
- this.g_off.setColor(this.m_bgcolor);
- this.g_off.fillRect(0, 0, this.field_2.height, this.field_2.width);
- }
-
- public boolean mouseDown(Event var1, int var2, int var3) {
- if (!this.destinations[this.which_image].equals("-1")) {
- try {
- this.goURL = new URL(((OCAviewerExtend)this).getDocumentBase(), this.destinations[this.which_image]);
- ((Applet)this).getAppletContext().showDocument(this.goURL, this.m_cur_loadwhere[this.which_image]);
- } catch (MalformedURLException var4) {
- }
- }
-
- return true;
- }
-
- public void runDelay() {
- this.next_time = System.currentTimeMillis() + (long)this.delay_periods[this.which_image];
- long var1 = 0L;
- if (this.m_stall_on_mouseover) {
- while((var1 = System.currentTimeMillis()) < this.next_time || this.mouse_on) {
- if (var1 > this.next_time && this.mouse_on) {
- this.next_time = System.currentTimeMillis() + (long)this.m_expired_delay;
- }
-
- try {
- Thread.sleep(250L);
- } catch (InterruptedException var3) {
- }
- }
-
- } else {
- try {
- Thread.sleep((long)this.delay_periods[this.which_image]);
- } catch (InterruptedException var4) {
- }
- }
- }
-
- public void run() {
- Graphics var1 = ((Component)this).getGraphics();
- if (this.first_run) {
- this.drawLoad(var1, this.m_load_msg);
- this.first_run = false;
- }
-
- while(true) {
- if (++this.which_image >= this.images.length) {
- this.which_image = 0;
- }
-
- this.field_1 = this.which_image;
- if (!this.tracker.checkID(this.field_1, true)) {
- while(!this.tracker.checkID(this.field_1)) {
- try {
- Thread.sleep(100L);
- } catch (InterruptedException var3) {
- }
-
- if (this.tracker.isErrorID(this.field_1)) {
- break;
- }
- }
- }
-
- if (!this.m_drawn[this.field_1]) {
- ocgifix var2 = new ocgifix();
- this.images[this.field_1] = var2.gifix(this.images[this.field_1], this.imagefile[this.field_1]);
- this.m_drawn[this.field_1] = true;
- }
-
- this.drawBG();
- this.g_off.drawImage(this.images[this.which_image], 0, 0, this);
- ((OCAviewerExtend)this).showStatus(this.descriptions[this.which_image]);
- this.moveSlide(((Component)this).getGraphics());
- this.runDelay();
- }
- }
-
- public void init() {
- String var1 = "Sliding Billboards, Copyright (c) 1999, OpenCube Inc.";
- int var2 = 0;
- this.field_2 = ((Component)this).size();
- Object var3 = null;
- this.tracker = new MediaTracker(this);
- this.off = ((Component)this).createImage(this.field_2.width, this.field_2.height);
- this.g_off = this.off.getGraphics();
- String var6 = ((OCAviewerExtend)this).getParameter("Notice");
- if (var6 == null) {
- this.m_offsbtext = "Missing 'Notice' Tag";
- } else {
- String var4 = compkey.getKey(var6, ((OCAviewerExtend)this).getDocumentBase());
- if (!var4.equals(var1)) {
- if (var4.equals("-1")) {
- this.m_offsbtext = "Licence Error: Invalid URL";
- } else {
- this.m_offsbtext = "Incorrect Copyright Notice in 'Notice' tag";
- }
- } else {
- this.tag = true;
- var6 = ((OCAviewerExtend)this).getParameter("movedelay");
- if (var6 != null) {
- this.m_movedelay = Integer.parseInt(var6);
- }
-
- var6 = ((OCAviewerExtend)this).getParameter("offdelay");
- if (var6 != null) {
- this.m_expired_delay = Integer.parseInt(var6) * 1000;
- }
-
- var6 = ((OCAviewerExtend)this).getParameter("jump");
- if (var6 != null) {
- this.m_jump = Integer.parseInt(var6);
- }
-
- if ((var6 = ((OCAviewerExtend)this).getParameter("loaddesc")) != null) {
- this.m_load_msg = var6;
- }
-
- if ((var6 = ((OCAviewerExtend)this).getParameter("fontsize")) != null) {
- this.font_size = Integer.parseInt(var6);
- }
-
- if ((var6 = ((OCAviewerExtend)this).getParameter("delay")) != null) {
- this.m_delay_periods = Integer.parseInt(var6) * 1000;
- }
-
- if ((var6 = ((OCAviewerExtend)this).getParameter("offsbtext")) != null) {
- this.m_offsbtext = var6;
- }
-
- if ((var6 = ((OCAviewerExtend)this).getParameter("bgcolor")) != null) {
- this.m_bgcolor = occcolor.ConvertColor(var6);
- }
-
- ((Component)this).setBackground(this.m_bgcolor);
- if ((var6 = ((OCAviewerExtend)this).getParameter("textcolor")) != null) {
- this.m_textcolor = occcolor.ConvertColor(var6);
- }
-
- if ((var6 = ((OCAviewerExtend)this).getParameter("loadwhere")) != null) {
- this.m_loadwhere = var6;
- }
-
- var6 = ((OCAviewerExtend)this).getParameter("overlap");
- if (var6 != null) {
- this.m_overlap = Boolean.valueOf(var6);
- }
-
- var6 = ((OCAviewerExtend)this).getParameter("stallmover");
- if (var6 != null) {
- this.m_stall_on_mouseover = Boolean.valueOf(var6);
- }
-
- while(((OCAviewerExtend)this).getParameter("imagefile" + var2) != null) {
- ++var2;
- ++this.num_images;
- }
-
- this.images = new Image[this.num_images];
- this.imagefile = new String[this.num_images];
- this.destinations = new String[this.num_images];
- this.descriptions = new String[this.num_images];
- this.delay_periods = new int[this.num_images];
- this.m_cur_loadwhere = new String[this.num_images];
- this.m_cur_overlap = new boolean[this.num_images];
- this.m_heading = new int[this.num_images];
- this.m_drawn = new boolean[this.num_images];
-
- for(int var5 = 0; var5 < this.num_images; ++var5) {
- if ((var6 = ((OCAviewerExtend)this).getParameter("imagefile" + var5)) != null) {
- this.imagefile[var5] = var6;
- this.images[var5] = ((Applet)this).getImage(((OCAviewerExtend)this).getDocumentBase(), var6);
- this.tracker.addImage(this.images[var5], var5);
- }
-
- if ((var6 = ((OCAviewerExtend)this).getParameter("desturl" + var5)) != null) {
- this.destinations[var5] = var6;
- } else {
- this.destinations[var5] = "-1";
- }
-
- if ((var6 = ((OCAviewerExtend)this).getParameter("desc" + var5)) != null) {
- this.descriptions[var5] = var6;
- } else {
- this.descriptions[var5] = this.destinations[var5];
- }
-
- if ((var6 = ((OCAviewerExtend)this).getParameter("delay" + var5)) != null) {
- this.delay_periods[var5] = Integer.parseInt(var6) * 1000;
- } else {
- this.delay_periods[var5] = this.m_delay_periods;
- }
-
- if ((var6 = ((OCAviewerExtend)this).getParameter("loadwhere" + var5)) != null) {
- this.m_cur_loadwhere[var5] = var6;
- } else {
- this.m_cur_loadwhere[var5] = this.m_loadwhere;
- }
-
- var6 = ((OCAviewerExtend)this).getParameter("overlap" + var5);
- if (var6 != null) {
- this.m_cur_overlap[var5] = Boolean.valueOf(var6);
- } else {
- this.m_cur_overlap[var5] = this.m_overlap;
- }
-
- if (!this.m_cur_overlap[var5]) {
- this.push_status = true;
- }
-
- var6 = ((OCAviewerExtend)this).getParameter("heading" + var5);
- if (var6 != null) {
- this.m_heading[var5] = getTransitionValue(var6);
- if (this.m_heading[var5] == 8) {
- this.m_heading[var5] = (int)(Math.random() * (double)8.0F);
- }
- } else {
- this.m_heading[var5] = (int)(Math.random() * (double)8.0F);
- }
- }
-
- if (this.push_status = true) {
- this.off2 = ((Component)this).createImage(this.field_2.width, this.field_2.height);
- this.g_off2 = this.off2.getGraphics();
- }
-
- }
- }
- }
- }
-