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 vtiscroll extends OCAviewerExtend implements Runnable {
- Font font;
- // $FF: renamed from: fm java.awt.FontMetrics
- FontMetrics field_0;
- Font loadfont;
- Thread animator;
- // $FF: renamed from: d java.awt.Dimension
- Dimension field_1;
- Image off;
- Graphics g_off;
- Graphics g_erase;
- Image erase;
- URL goURL;
- String connect_message;
- Color ignore_color;
- boolean first_go = true;
- boolean scrollafterlink = false;
- boolean dragged = false;
- boolean break_pause = false;
- boolean tag = false;
- long next_time;
- int reload_count = 0;
- // $FF: renamed from: my int
- int field_2;
- int hLine = -1;
- boolean mouseIn = false;
- int l_h = -1;
- int soff;
- boolean update_si = false;
- boolean in_hl = false;
- int num_i;
- int p_inx;
- int num_links;
- int temp_links;
- int[] link_cords;
- String[] link_urls;
- int[] line_coords;
- int[] re_draw;
- int font_style;
- int num_descrips;
- int scroll_y;
- int last_h = -1;
- int cur_dline;
- int hold_move;
- int link_ref = 0;
- int i_h;
- String later_string = "";
- boolean try_later = false;
- boolean force_draw = false;
- boolean done_draw = false;
- boolean graphics_ready = false;
- boolean first_run = false;
- boolean paused;
- boolean mdown = false;
- boolean fetching_file = false;
- private boolean m_underline = false;
- private int m_top_margin = 5;
- private int m_icon_base_off = 0;
- private int m_def_delay = 0;
- private int m_def_halign = 0;
- private int m_scroll_delay = 20;
- private Color m_def_textcolor;
- private Color m_bgcolor;
- private Color m_def_hlcolor;
- private String m_sb_text;
- private int m_xoffset;
- private String m_def_loadwhere;
- private String m_offsbtext;
- private String m_file_location;
- private int m_file_update_scrolls;
- private boolean m_wait_for_file;
- private int m_jump;
- private Color m_load_color;
- private String m_load_msg;
- private int m_autofit;
- private int[] m_iconx;
- private int[] m_icony;
- private int[] m_cur_autofit;
- private int[] m_delay;
- private Color[] m_textcolor;
- private String[] m_desc;
- private String[] m_linkurl;
- private Font[] m_font;
- private int[] m_halign;
- private String[] m_loadwhere;
- private String[] m_icon_file;
- private String[] m_icon_sfile;
- private int[] m_icon_id;
- private boolean m_indent_all;
- private boolean[] m_cur_underline;
- private boolean[] use_coords;
- boolean first_connect_message;
- boolean first_update_message;
- Image[] icon;
- Image[] sicon;
- boolean bg_stat;
-
- public boolean mouseMove(Event var1, int var2, int var3) {
- this.field_2 = var3;
- if (this.paused) {
- this.mCheck();
- }
-
- return true;
- }
-
- public void stop() {
- if (this.animator != null) {
- this.animator.stop();
- }
-
- this.animator = null;
- }
-
- public boolean mouseEnter(Event var1, int var2, int var3) {
- this.mouseIn = true;
- this.showStatusText();
- return true;
- }
-
- public String[] ReadDescrips(String var1) {
- String[] var2 = new String[9];
- int var3 = 0;
- int var4 = 0;
- int var5 = 0;
- int var6 = 0;
- int var7 = 0;
-
- do {
- var2[var7] = "-1";
- ++var7;
- } while(var7 < 9);
-
- if (var1.equals("|")) {
- return var2;
- } else {
- while(var5 != -1) {
- var5 = var1.indexOf(124, var4);
- if (var5 == -1) {
- break;
- }
-
- if (var5 - var4 != 0) {
- var2[var3] = var1.substring(var4, var5);
- }
-
- var4 = var5 + 1;
- ++var3;
- var6 = var5;
- if (var3 == 9) {
- break;
- }
- }
-
- if (var3 == 0) {
- var2[8] = var1;
- } else if (var1.length() > var6 + 1) {
- var2[8] = var1.substring(var6 + 1);
- }
-
- return var2;
- }
- }
-
- public void firstGo() {
- this.off = ((Component)this).createImage(this.field_1.width, this.field_1.height);
- this.g_off = this.off.getGraphics();
- this.g_off.setColor(this.m_bgcolor);
- this.g_off.fillRect(0, 0, this.field_1.width, this.field_1.height);
- this.g_off.setColor(this.m_load_color);
- this.g_off.setFont(this.loadfont);
- FontMetrics var1 = this.g_off.getFontMetrics(this.loadfont);
- this.g_off.drawString(this.m_load_msg, this.field_1.width / 2 - var1.stringWidth(this.m_load_msg) / 2, this.field_1.height / 2 + var1.getHeight() / 2);
- this.graphics_ready = true;
- this.paintIt();
- this.scroll_y = this.field_1.height;
-
- for(int var2 = 0; var2 < this.num_i; ++var2) {
- this.icon[var2] = this.trackReturn(this.m_icon_file[var2]);
- if ((this.sicon[var2] = this.trackReturn(this.m_icon_sfile[var2])) == null) {
- this.sicon[var2] = this.icon[var2];
- }
- }
-
- }
-
- public synchronized void mCheck() {
- if (this.num_links != 0) {
- for(int var1 = 0; var1 < this.num_links; ++var1) {
- if (!this.mouseIn) {
- this.p_inx = 0;
- this.hLine = -1;
- this.chl(var1);
- return;
- }
-
- if (this.field_2 > this.link_cords[var1 * 3] + this.scroll_y && this.field_2 < this.link_cords[var1 * 3 + 1] + this.scroll_y) {
- this.hLine = this.link_cords[var1 * 3 + 2];
- this.p_inx = this.link_cords[var1 * 3];
- this.link_ref = var1;
- this.chl(var1);
- return;
- }
-
- if (var1 == this.num_links - 1) {
- this.p_inx = 0;
- this.hLine = -1;
- this.chl(var1);
- return;
- }
- }
-
- }
- }
-
- public boolean mouseExit(Event var1, int var2, int var3) {
- this.mouseIn = false;
- this.showStatusText();
- if (this.done_draw) {
- this.mCheck();
- }
-
- return true;
- }
-
- static int getAlignValue(String var0) {
- if (var0.equalsIgnoreCase("right")) {
- return 2;
- } else {
- return var0.equalsIgnoreCase("center") ? 1 : 0;
- }
- }
-
- public void WhereAmI() {
- boolean var1 = false;
-
- for(int var2 = this.num_descrips - 1; var2 > -1; --var2) {
- if (this.scroll_y > -this.line_coords[var2]) {
- this.cur_dline = var2;
- var1 = true;
- }
- }
-
- if (!var1) {
- this.cur_dline = this.num_descrips - 1;
- }
-
- }
-
- public void paint(Graphics var1) {
- this.paintIt();
- }
-
- public Image trackReturn(String var1) {
- ocgifix var2 = new ocgifix();
- Object var3 = null;
- MediaTracker var4 = new MediaTracker(this);
- if (!var1.equals("-1")) {
- Image var6 = ((Applet)this).getImage(((OCAviewerExtend)this).getDocumentBase(), var1);
- var4.addImage(var6, 0);
-
- try {
- var4.waitForID(0);
- } catch (InterruptedException var5) {
- return null;
- }
-
- if (var4.isErrorID(0)) {
- System.out.println("Error Loading Image File:" + var1);
- return null;
- } else {
- var6 = var2.gifix(var6, var1);
- return var6;
- }
- } else {
- return null;
- }
- }
-
- public vtiscroll() {
- this.m_def_textcolor = Color.black;
- this.m_bgcolor = Color.white;
- this.m_def_hlcolor = Color.blue;
- this.m_sb_text = "OpenCube - Vertical Text & Image Scroll";
- this.m_xoffset = 5;
- this.m_def_loadwhere = "_self";
- this.m_offsbtext = "Java By OpenCube";
- this.m_file_update_scrolls = 1;
- this.m_wait_for_file = false;
- this.m_jump = 1;
- this.m_load_color = Color.black;
- this.m_load_msg = "Loading Scroll Images...";
- this.m_autofit = 0;
- this.first_connect_message = true;
- this.first_update_message = false;
- }
-
- public boolean mouseUp(Event var1, int var2, int var3) {
- this.WhereAmI();
- this.mdown = false;
- if (this.dragged) {
- this.dragged = false;
- return true;
- } else {
- if (this.hLine != -1 && !this.link_urls[this.link_ref].equals("-1")) {
- try {
- this.goURL = new URL(((OCAviewerExtend)this).getDocumentBase(), this.link_urls[this.link_ref]);
- } catch (MalformedURLException var4) {
- }
-
- ((Applet)this).getAppletContext().showDocument(this.goURL, this.m_loadwhere[this.hLine]);
- }
-
- return true;
- }
- }
-
- private void paintIt() {
- if (this.tag) {
- if (this.graphics_ready) {
- ((Component)this).getGraphics().drawImage(this.off, 0, this.scroll_y, this);
- return;
- }
- } else {
- ((Component)this).getGraphics().drawString(this.m_sb_text, 5, 20);
- }
-
- }
-
- public void start() {
- this.paused = false;
- if (this.first_run) {
- this.WhereAmI();
- }
-
- this.animator = new Thread(this);
- this.animator.start();
- }
-
- public void ScrollIt(boolean var1) {
- if (var1 && this.scroll_y == -this.line_coords[this.cur_dline] && this.cur_dline != this.num_descrips) {
- this.paused = true;
- if (this.m_delay[this.cur_dline] > 0) {
- ++this.scroll_y;
- this.next_time = System.currentTimeMillis() + (long)this.m_delay[this.cur_dline];
-
- while(System.currentTimeMillis() < this.next_time) {
- try {
- Thread.sleep(10L);
- } catch (InterruptedException var2) {
- }
-
- if (this.break_pause) {
- this.break_pause = false;
- break;
- }
- }
-
- this.scroll_y += -1;
- }
-
- this.paused = false;
- if (this.cur_dline != this.num_descrips - 1) {
- ++this.cur_dline;
- }
- }
-
- this.paintIt();
- if (this.scroll_y < -this.off.getHeight(this)) {
- this.scroll_y = this.field_1.height;
- this.cur_dline = 0;
- }
-
- }
-
- public String CheckSPart(String var1) {
- return var1.trim().length() == 0 ? " " : var1.trim();
- }
-
- public void DrawScroll() {
- Object var1 = null;
- int var2 = 0;
- int var3 = 0;
- int var4 = 0;
- int var5 = 0;
- boolean var6 = false;
- this.num_links = this.temp_links;
- this.link_cords = new int[this.num_links * 3];
- this.link_urls = new String[this.num_links];
- int var7 = 0;
-
- do {
- var2 = 0;
- var5 = 0;
-
- for(int var8 = 0; var8 < this.num_descrips; ++var8) {
- if (var7 == 0) {
- int var21 = 0;
- int var22 = 0;
- this.field_0 = ((Component)this).getFontMetrics(this.m_font[var8]);
- var3 = var2;
- if (this.m_cur_autofit[var8] == 1) {
- var5 = var2;
- var6 = true;
- } else if (!var6) {
- var5 = var2;
- }
-
- String[] var16;
- if (this.m_icon_id[var8] != -1) {
- if (this.icon[this.m_icon_id[var8]] != null) {
- var21 = this.icon[this.m_icon_id[var8]].getWidth(this);
- var22 = this.icon[this.m_icon_id[var8]].getHeight(this);
- }
-
- var16 = ocwordw.WrapText(this.m_desc[var8], this.field_1.width - this.m_xoffset * 2 - var21, this.field_0);
- } else {
- var16 = ocwordw.WrapText(this.m_desc[var8], this.field_1.width - this.m_xoffset * 2, this.field_0);
- }
-
- for(int var24 = 0; var24 < var16.length; ++var24) {
- var2 += this.field_0.getHeight();
- }
-
- if (var2 - var3 < var22) {
- var2 = var3 + var22;
- }
-
- if (var8 == this.m_desc.length - 1) {
- this.g_off.setColor(this.m_bgcolor);
- this.g_off.fillRect(0, 0, this.field_1.width, this.field_1.height);
- ((Component)this).getGraphics().drawImage(this.off, 0, 0, this);
- this.i_h = var2 + this.field_0.getDescent() + 5;
- this.off = ((Component)this).createImage(this.field_1.width, this.i_h);
- this.g_off = this.off.getGraphics();
- this.g_off.setColor(this.m_bgcolor);
- this.g_off.fillRect(0, 0, this.field_1.width, this.i_h);
- } else if (var2 - var5 < this.field_1.height && this.m_cur_autofit[var8] == 2) {
- var2 = var2 + (this.field_1.height - (var2 - var5)) + 1 - this.m_top_margin;
- var6 = false;
- }
- } else {
- this.g_off.setFont(this.m_font[var8]);
- this.field_0 = this.g_off.getFontMetrics(this.m_font[var8]);
- var3 = var2;
- if (this.m_cur_autofit[var8] == 1) {
- var5 = var2;
- var6 = true;
- } else if (!var6) {
- var5 = var2;
- }
-
- this.line_coords[var8] = var2 + this.field_0.getDescent() + 1 - this.m_top_margin;
- this.re_draw[var8] = var2;
- int var9 = 0;
- int var10 = 0;
- String[] var15;
- if (this.m_icon_id[var8] != -1) {
- if (this.icon[this.m_icon_id[var8]] != null) {
- var9 = this.icon[this.m_icon_id[var8]].getWidth(this);
- var10 = this.icon[this.m_icon_id[var8]].getHeight(this);
- }
-
- var15 = ocwordw.WrapText(this.m_desc[var8], this.field_1.width - this.m_xoffset * 2 - var9, this.field_0);
- } else {
- var15 = ocwordw.WrapText(this.m_desc[var8], this.field_1.width - this.m_xoffset * 2, this.field_0);
- }
-
- int var11 = 0;
- int var12 = 0;
- boolean var13 = false;
-
- for(int var14 = 0; var14 < var15.length; ++var14) {
- var2 += this.field_0.getHeight();
- this.g_off.setColor(this.m_textcolor[var8]);
- if (this.m_halign[var8] == 1) {
- if (var14 == 0 && this.m_icon_id[var8] != -1) {
- var11 = (this.field_1.width - (this.field_0.stringWidth(var15[var14]) + var9 + 1)) / 2;
- if (this.icon[this.m_icon_id[var8]] != null) {
- if (var2 + this.m_icon_base_off - var10 < var3) {
- this.g_off.drawImage(this.icon[this.m_icon_id[var8]], var11, var3 + this.m_icon_base_off, this);
- } else {
- this.g_off.drawImage(this.icon[this.m_icon_id[var8]], var11, var2 + this.m_icon_base_off - var10, this);
- }
- }
-
- this.g_off.drawString(var15[var14], var11 + var9 + 1, var2);
- } else {
- this.g_off.drawString(var15[var14], (this.field_1.width - this.field_0.stringWidth(var15[var14])) / 2, var2);
- }
-
- if (this.m_cur_underline[var8]) {
- var12 = (this.field_1.width - this.field_0.stringWidth(var15[var14])) / 2;
- if (var14 == 0) {
- var12 = (this.field_1.width - (this.field_0.stringWidth(var15[var14]) + var9 + 1)) / 2 + var9 + 1;
- }
-
- this.g_off.drawLine(var12 + 1, var2 + 1, var12 + this.field_0.stringWidth(var15[var14]) - 1, var2 + 1);
- }
- } else if (this.m_halign[var8] == 2) {
- if ((var14 == 0 || this.m_indent_all) && this.m_icon_id[var8] != -1) {
- var11 = var9 + 1;
- if (var14 == 0 && this.icon[this.m_icon_id[var8]] != null) {
- if (var2 + this.m_icon_base_off - var10 < var3) {
- this.g_off.drawImage(this.icon[this.m_icon_id[var8]], this.field_1.width - var9 - this.m_xoffset, var3 + this.m_icon_base_off, this);
- } else {
- this.g_off.drawImage(this.icon[this.m_icon_id[var8]], this.field_1.width - var9 - this.m_xoffset, var2 + this.m_icon_base_off - var10, this);
- }
- }
- }
-
- this.g_off.drawString(var15[var14], this.field_1.width - this.m_xoffset - this.field_0.stringWidth(var15[var14]) - var11, var2);
- if (this.m_cur_underline[var8]) {
- var12 = this.field_1.width - this.m_xoffset - this.field_0.stringWidth(var15[var14]) - var11;
- this.g_off.drawLine(var12 + 1, var2 + 1, var12 + this.field_0.stringWidth(var15[var14]) - 1, var2 + 1);
- }
- } else {
- if ((var14 == 0 || this.m_indent_all) && this.m_icon_id[var8] != -1) {
- if (var14 == 0 && this.icon[this.m_icon_id[var8]] != null) {
- if (var2 + this.m_icon_base_off - var10 < var3) {
- this.g_off.drawImage(this.icon[this.m_icon_id[var8]], this.m_xoffset, var3 + this.m_icon_base_off, this);
- } else {
- this.g_off.drawImage(this.icon[this.m_icon_id[var8]], this.m_xoffset, var2 + this.m_icon_base_off - var10, this);
- }
- }
-
- var11 = var9 + 1;
- }
-
- this.g_off.drawString(var15[var14], this.m_xoffset + var11, var2);
- if (this.m_cur_underline[var8]) {
- var12 = this.m_xoffset + var11;
- this.g_off.drawLine(var12 + 1, var2 + 1, var12 + this.field_0.stringWidth(var15[var14]) - 1, var2 + 1);
- }
- }
-
- var11 = 0;
- }
-
- if (var2 - var3 < var10) {
- var2 = var3 + var10;
- }
-
- if (!this.m_linkurl[var8].equals("-1")) {
- if (var8 == this.m_desc.length - 1) {
- var2 += this.field_0.getDescent();
- }
-
- this.link_cords[var4 * 3] = var3;
- this.link_cords[var4 * 3 + 1] = var2;
- this.link_cords[var4 * 3 + 2] = var8;
- this.link_urls[var4] = this.m_linkurl[var8];
- ++var4;
- }
-
- if (var8 != this.m_desc.length - 1 && var2 - var5 < this.field_1.height && this.m_cur_autofit[var8] == 2) {
- var2 = var2 + (this.field_1.height - (var2 - var5)) + 1 - this.m_top_margin;
- var6 = false;
- }
- }
- }
-
- ++var7;
- } while(var7 < 2);
-
- this.done_draw = true;
- }
-
- public boolean mouseDown(Event var1, int var2, int var3) {
- this.mdown = true;
- this.hold_move = this.field_2;
- this.cur_dline = 0;
- if (this.hLine == -1 && this.paused) {
- this.break_pause = true;
- }
-
- return true;
- }
-
- private synchronized void chl(int var1) {
- if (this.l_h != this.hLine) {
- if (this.l_h != -1) {
- this.method_0(this.l_h, false);
- ((OCAviewerExtend)this).showStatus(this.m_sb_text);
- }
-
- if (this.hLine != -1) {
- this.method_0(this.hLine, true);
- ((OCAviewerExtend)this).showStatus(this.link_urls[var1]);
- }
- }
-
- this.l_h = this.hLine;
- }
-
- public void run() {
- while(true) {
- if (!this.first_run) {
- this.firstGo();
- ((OCAviewerExtend)this).showStatus(this.m_sb_text);
- this.DrawScroll();
- this.first_run = true;
- }
-
- if (!this.mdown) {
- --this.scroll_y;
- this.ScrollIt(true);
- this.mCheck();
- }
-
- try {
- Thread.sleep((long)this.m_scroll_delay);
- } catch (InterruptedException var1) {
- }
- }
- }
-
- public void init() {
- String var1 = "Vertical Text and Image Scroll, Copyright (c) 1999, OpenCube Inc.";
- boolean var3 = false;
- this.field_1 = ((Component)this).size();
- String var2 = ((OCAviewerExtend)this).getParameter("Notice");
- if (var2 == null) {
- this.m_sb_text = "Missing 'Notice' Tag";
- } else {
- String var4 = compkey.getKey(var2, ((OCAviewerExtend)this).getDocumentBase());
- if (!var4.equals(var1)) {
- if (var4.equals("-1")) {
- this.m_sb_text = "Incorrect Base URL Registration";
- } else {
- this.m_sb_text = "Incorrect Copyright Notice in 'Notice' tag";
- }
- } else {
- this.tag = true;
- var2 = ((OCAviewerExtend)this).getParameter("font");
- if (var2 != null) {
- this.font = ocfontc.getFontSD(var2, ",");
- } else {
- this.font = new Font("Dialog", 0, 12);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("loadfont");
- if (var2 != null) {
- this.loadfont = ocfontc.getFontSD(var2, ",");
- } else {
- this.loadfont = new Font("Dialog", 0, 12);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("loadcolor");
- if (var2 != null) {
- this.m_load_color = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("loadmsg");
- if (var2 != null) {
- this.m_load_msg = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("iconvoff");
- if (var2 != null) {
- this.m_icon_base_off = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("topmargin");
- if (var2 != null) {
- this.m_top_margin = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("autofit");
- if (var2 != null) {
- this.m_autofit = getAutoValue(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("scrolljump");
- if (var2 != null) {
- this.m_jump = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("aligniconparas");
- if (var2 != null) {
- this.m_indent_all = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("underline");
- if (var2 != null) {
- this.m_underline = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("halign");
- if (var2 != null) {
- this.m_def_halign = getAlignValue(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("loadwhere");
- if (var2 != null) {
- this.m_def_loadwhere = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("textcolor");
- if (var2 != null) {
- this.m_def_textcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("bgcolor");
- if (var2 != null) {
- this.m_bgcolor = occcolor.ConvertColor(var2);
- }
-
- ((Component)this).setBackground(this.m_bgcolor);
- var2 = ((OCAviewerExtend)this).getParameter("delay");
- if (var2 != null) {
- this.m_def_delay = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("scrolldelay");
- if (var2 != null) {
- this.m_scroll_delay = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("lrmargin");
- if (var2 != null) {
- this.m_xoffset = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("hlcolor");
- if (var2 != null) {
- this.m_def_hlcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("onsbtext");
- if (var2 != null) {
- this.m_sb_text = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("offsbtext");
- if (var2 != null) {
- this.m_offsbtext = var2;
- }
-
- while(((OCAviewerExtend)this).getParameter("desc" + this.num_descrips) != null) {
- ++this.num_descrips;
- }
-
- this.m_delay = new int[this.num_descrips];
- this.m_textcolor = new Color[this.num_descrips];
- this.m_desc = new String[this.num_descrips];
- this.m_linkurl = new String[this.num_descrips];
- this.m_font = new Font[this.num_descrips];
- this.m_halign = new int[this.num_descrips];
- this.m_loadwhere = new String[this.num_descrips];
- this.m_cur_autofit = new int[this.num_descrips];
- this.m_icon_id = new int[this.num_descrips];
- this.line_coords = new int[this.num_descrips];
- this.re_draw = new int[this.num_descrips];
- this.m_iconx = new int[this.num_descrips];
- this.m_icony = new int[this.num_descrips];
- this.m_cur_underline = new boolean[this.num_descrips];
- this.use_coords = new boolean[this.num_descrips];
-
- for(int var37 = 0; var37 < this.num_descrips; ++var37) {
- var2 = ((OCAviewerExtend)this).getParameter("desc" + var37);
- if (var2 != null) {
- this.m_desc[var37] = var2;
- } else {
- this.m_desc[var37] = "";
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("iconid" + var37);
- if (var2 != null) {
- this.m_icon_id[var37] = Integer.parseInt(var2);
- } else {
- this.m_icon_id[var37] = -1;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("underline" + var37);
- if (var2 != null) {
- this.m_cur_underline[var37] = Boolean.valueOf(var2);
- } else {
- this.m_cur_underline[var37] = this.m_underline;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("autofit" + var37);
- if (var2 != null) {
- this.m_cur_autofit[var37] = getAutoValue(var2);
- } else {
- this.m_cur_autofit[var37] = this.m_autofit;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("delay" + var37);
- if (var2 != null) {
- this.m_delay[var37] = Integer.parseInt(var2);
- } else {
- this.m_delay[var37] = this.m_def_delay;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("font" + var37);
- if (var2 != null) {
- this.m_font[var37] = ocfontc.getFontSD(var2, ",");
- } else {
- this.m_font[var37] = this.font;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("halign" + var37);
- if (var2 != null) {
- this.m_halign[var37] = getAlignValue(var2);
- } else {
- this.m_halign[var37] = this.m_def_halign;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("textcolor" + var37);
- if (var2 != null) {
- this.m_textcolor[var37] = occcolor.ConvertColor(var2);
- } else {
- this.m_textcolor[var37] = this.m_def_textcolor;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("loadwhere" + var37);
- if (var2 != null) {
- this.m_loadwhere[var37] = var2;
- } else {
- this.m_loadwhere[var37] = this.m_def_loadwhere;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("desturl" + var37);
- if (var2 != null) {
- ++this.temp_links;
- this.m_linkurl[var37] = var2;
- } else {
- this.m_linkurl[var37] = "-1";
- }
- }
-
- while(((OCAviewerExtend)this).getParameter("iconfile" + this.num_i) != null) {
- ++this.num_i;
- }
-
- this.m_icon_file = new String[this.num_i];
- this.m_icon_sfile = new String[this.num_i];
- this.icon = new Image[this.num_i];
- this.sicon = new Image[this.num_i];
-
- for(int var38 = 0; var38 < this.num_i; ++var38) {
- var2 = ((OCAviewerExtend)this).getParameter("iconfile" + var38);
- if (var2 != null) {
- this.m_icon_file[var38] = var2;
- } else {
- this.m_icon_file[var38] = "-1";
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("iconswitchfile" + var38);
- if (var2 != null) {
- this.m_icon_sfile[var38] = var2;
- } else {
- this.m_icon_sfile[var38] = "-1";
- }
- }
-
- }
- }
- }
-
- public Image ImageWait(Image var1) {
- MediaTracker var2 = new MediaTracker(this);
- var2.addImage(var1, 0);
-
- try {
- var2.waitForID(0);
- } catch (InterruptedException var3) {
- }
-
- return var2.isErrorID(0) ? null : var1;
- }
-
- static int getAutoValue(String var0) {
- if (var0.equalsIgnoreCase("end")) {
- return 2;
- } else if (var0.equalsIgnoreCase("fit")) {
- return 2;
- } else {
- return var0.equalsIgnoreCase("start") ? 1 : 0;
- }
- }
-
- public boolean mouseDrag(Event var1, int var2, int var3) {
- this.field_2 = var3;
- if (!this.done_draw) {
- return true;
- } else if (this.hold_move == this.field_2) {
- return true;
- } else {
- if (this.paused) {
- this.break_pause = true;
- }
-
- if (!this.dragged && Math.abs(this.hold_move - this.field_2) > 1) {
- this.hLine = -1;
- this.chl(0);
- this.dragged = true;
- this.showStatusText();
- }
-
- this.scroll_y += this.field_2 - this.hold_move;
- if (this.scroll_y > this.field_1.height || this.scroll_y < -this.i_h) {
- if (this.scroll_y > this.field_1.height) {
- this.scroll_y = this.field_1.height;
- }
-
- if (this.scroll_y < -this.i_h) {
- this.scroll_y = -this.i_h;
- }
- }
-
- this.ScrollIt(false);
- int var4 = Math.abs(this.field_2 - this.hold_move);
- this.erase = ((Component)this).createImage(this.field_1.width, var4);
- this.g_erase = this.erase.getGraphics();
- this.g_erase.setColor(this.m_bgcolor);
- this.g_erase.fillRect(0, 0, this.field_1.width, var4);
- if (this.scroll_y > 0) {
- ((Component)this).getGraphics().drawImage(this.erase, 0, this.scroll_y - var4, this);
- }
-
- if (this.scroll_y + this.i_h < this.field_1.height) {
- ((Component)this).getGraphics().drawImage(this.erase, 0, this.scroll_y + this.i_h, this);
- }
-
- this.hold_move = this.field_2;
- return true;
- }
- }
-
- // $FF: renamed from: HL (int, boolean) void
- public void method_0(int var1, boolean var2) {
- int var3 = this.re_draw[var1];
- int var4 = 0;
- int var5 = 0;
- this.in_hl = var2;
- Object var6 = null;
- Object var7 = null;
- Color var18;
- if (var2) {
- var18 = this.m_def_hlcolor;
- } else {
- var18 = this.m_textcolor[var1];
- }
-
- this.g_off.setColor(var18);
- this.g_off.setFont(this.m_font[var1]);
- this.field_0 = this.g_off.getFontMetrics(this.m_font[var1]);
- int var8 = 0;
- int var9 = 0;
- var4 = var3;
- boolean var10 = false;
- String[] var17;
- if (this.m_icon_id[var1] != -1) {
- if (this.icon[this.m_icon_id[var1]] != null) {
- var10 = true;
- var8 = this.icon[this.m_icon_id[var1]].getWidth(this);
- var9 = this.icon[this.m_icon_id[var1]].getHeight(this);
- }
-
- var17 = ocwordw.WrapText(this.m_desc[var1], this.field_1.width - this.m_xoffset * 2 - var8, this.field_0);
- } else {
- var17 = ocwordw.WrapText(this.m_desc[var1], this.field_1.width - this.m_xoffset * 2, this.field_0);
- }
-
- int var11 = 0;
- boolean var12 = false;
-
- for(int var13 = 0; var13 < var17.length; ++var13) {
- var3 += this.field_0.getHeight();
- if (this.m_halign[var1] == 1) {
- if (var13 == 0 && this.m_icon_id[var1] != -1) {
- var5 = (this.field_1.width - (this.field_0.stringWidth(var17[var13]) + var8 + 1)) / 2;
- if (var10) {
- int var14 = 0;
- if (var3 + this.m_icon_base_off - var9 < var4) {
- var14 = var4 + this.m_icon_base_off;
- } else {
- var14 = var3 + this.m_icon_base_off - var9;
- }
-
- if (var2) {
- this.g_off.drawImage(this.sicon[this.m_icon_id[var1]], var5, var14, this);
- } else {
- this.g_off.drawImage(this.icon[this.m_icon_id[var1]], var5, var14, this);
- }
- }
-
- this.g_off.drawString(var17[var13], var5 + var8 + 1, var3);
- } else {
- this.g_off.drawString(var17[var13], (this.field_1.width - this.field_0.stringWidth(var17[var13])) / 2, var3);
- }
-
- if (this.m_cur_underline[var1]) {
- var11 = (this.field_1.width - this.field_0.stringWidth(var17[var13])) / 2;
- if (var13 == 0) {
- var11 = (this.field_1.width - (this.field_0.stringWidth(var17[var13]) + var8 + 1)) / 2 + var8 + 1;
- }
-
- this.g_off.drawLine(var11 + 1, var3 + 1, var11 + this.field_0.stringWidth(var17[var13]) - 1, var3 + 1);
- }
- } else if (this.m_halign[var1] == 2) {
- if ((var13 == 0 || this.m_indent_all) && this.m_icon_id[var1] != -1) {
- var5 = var8 + 1;
- if (var13 == 0 && var10) {
- int var23 = 0;
- if (var3 + this.m_icon_base_off - var9 < var4) {
- var23 = var4 + this.m_icon_base_off;
- } else {
- var23 = var3 + this.m_icon_base_off - var9;
- }
-
- if (var2) {
- this.g_off.drawImage(this.sicon[this.m_icon_id[var1]], this.field_1.width - var8 - this.m_xoffset, var23, this);
- } else {
- this.g_off.drawImage(this.icon[this.m_icon_id[var1]], this.field_1.width - var8 - this.m_xoffset, var23, this);
- }
- }
- }
-
- this.g_off.drawString(var17[var13], this.field_1.width - this.m_xoffset - this.field_0.stringWidth(var17[var13]) - var5, var3);
- if (this.m_cur_underline[var1]) {
- var11 = this.field_1.width - this.m_xoffset - this.field_0.stringWidth(var17[var13]) - var5;
- this.g_off.drawLine(var11 + 1, var3 + 1, var11 + this.field_0.stringWidth(var17[var13]) - 1, var3 + 1);
- }
- } else {
- if ((var13 == 0 || this.m_indent_all) && this.m_icon_id[var1] != -1) {
- if (var13 == 0 && var10) {
- int var25 = 0;
- if (var3 + this.m_icon_base_off - var9 < var4) {
- var25 = var4 + this.m_icon_base_off;
- } else {
- var25 = var3 + this.m_icon_base_off - var9;
- }
-
- if (var2) {
- this.g_off.drawImage(this.sicon[this.m_icon_id[var1]], this.m_xoffset, var25, this);
- } else {
- this.g_off.drawImage(this.icon[this.m_icon_id[var1]], this.m_xoffset, var25, this);
- }
- }
-
- var5 = var8 + 1;
- }
-
- this.g_off.drawString(var17[var13], this.m_xoffset + var5, var3);
- if (this.m_cur_underline[var1]) {
- var11 = this.m_xoffset + var5;
- this.g_off.drawLine(var11 + 1, var3 + 1, var11 + this.field_0.stringWidth(var17[var13]) - 1, var3 + 1);
- }
- }
-
- var5 = 0;
- }
-
- this.paintIt();
- }
-
- public void showStatusText() {
- if (this.fetching_file) {
- ((OCAviewerExtend)this).showStatus(this.connect_message);
- } else if (this.mouseIn) {
- ((OCAviewerExtend)this).showStatus(this.m_sb_text);
- } else {
- ((OCAviewerExtend)this).showStatus(this.m_offsbtext);
- }
- }
-
- public synchronized void drawIt() {
- ((Component)this).getGraphics().drawImage(this.off, 0, this.scroll_y, this);
- }
- }
-