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;
- import java.util.Stack;
- import java.util.Vector;
-
- public class iim extends OCAviewerExtend implements Runnable {
- Thread trun = null;
- boolean mouse_in;
- boolean bg_stat;
- int break_stand;
- int break_hl;
- int alignment;
- int maxiconwidth;
- int itadjust;
- int bitcenter = 0;
- String cur_img_link = "-1";
- URL goURL;
- // $FF: renamed from: d java.awt.Dimension
- Dimension field_0;
- Font font;
- // $FF: renamed from: fm java.awt.FontMetrics
- FontMetrics field_1;
- Image[] suboff;
- Graphics[] g_suboff;
- // $FF: renamed from: ts java.awt.Image
- Image field_2;
- Graphics g_ts;
- // $FF: renamed from: bg java.awt.Image
- Image field_3;
- Image[] subsave;
- int level_max;
- int menux;
- int menuy;
- int menuwidth;
- int menuheight;
- int bitheight;
- int on_sub_num = 0;
- int break_picload = 0;
- int break_pictype = 0;
- int break_bgload;
- int last_sub;
- int[] cur_itadjust;
- int[] cur_alignment;
- int[] cur_menuwidth;
- int[] def_menuloc;
- int lasticoid = -1;
- private String m_load_msg = "Loading Images...";
- private Color m_load_msgcolor;
- Image bitoff;
- Graphics g_bitoff;
- private String m_italign;
- boolean sub_highlighted;
- boolean in_sub;
- boolean tag;
- boolean first_run;
- boolean rendering_images;
- Image[] i_pic;
- Image[] s_pic;
- int num_icons;
- private String[] m_icon_file;
- private String[] m_icon_switch_file;
- private String[] mc_sub_bgfile;
- private boolean[] mc_bgfile_stat;
- private Image[] mc_subbg;
- private Image m_subbg;
- private String m_sub_bgfile;
- private boolean m_bgfile_stat;
- private int m_it_space;
- private int m_forced_height;
- boolean[] gif_tile;
- private String[] m_cur_image_desturl;
- private String m_loadwhere;
- private Color m_page_bgcolor;
- private String m_bgimage_file;
- private Color m_outline_color;
- private Color m_menu_color;
- private Color m_menu_textcolor;
- private Color m_menu_hloutcolor;
- private Color m_menu_hltextcolor;
- private Color m_menu_bocolor;
- private Color[] m_cur_outline_color;
- private Color[] m_cur_menu_color;
- private Color[] m_cur_menu_textcolor;
- private Color[] m_cur_menu_hloutcolor;
- private Color[] m_cur_menu_hltextcolor;
- private Color[] m_cur_menu_bocolor;
- private int m_lrmargin;
- private String m_onsbtext;
- private String m_offsbtext;
- private String[] m_imagefile;
- private String[] m_switchfile;
- private int[] m_pic_xcord;
- private int[] m_pic_ycord;
- private int[] m_menu_xcord;
- private int[] m_menu_ycord;
- private int m_bgimage_x;
- private int m_bgimage_y;
- int m_max_subs;
- int draw_spec_hl;
- boolean[] no_subs;
- int last_drawn;
- int num_images;
- int[] pic_width;
- int[] pic_height;
- int[] max_string_width;
- boolean[] image_loaded;
- String[] subs;
- String[] p_subs;
- int[] ItoM;
- int actual_level;
- Image[] s_picture;
- Image[] h_picture;
- MediaTracker m_media_track;
- int cur_sub_point;
- int cur_num_subs;
- int cur_level;
- int max_levels;
- boolean[] simg_status;
- boolean[] hlimg_status;
- int[] menu_coords;
- String[] cur_link;
-
- public boolean mouseEnter(Event var1, int var2, int var3) {
- this.mouse_in = true;
- if (this.rendering_images) {
- ((OCAviewerExtend)this).showStatus("Loading Menu Images...");
- } else {
- ((OCAviewerExtend)this).showStatus(this.m_onsbtext);
- }
-
- return true;
- }
-
- public void UndoSubHighlight(Graphics var1, int var2) {
- this.sub_highlighted = false;
- this.last_sub = -1;
- if (this.m_cur_menu_hloutcolor[this.cur_level] != null) {
- this.g_suboff[this.cur_level].setColor(this.m_cur_menu_color[this.cur_level]);
- this.g_suboff[this.cur_level].drawRect(0, 0, this.suboff[this.cur_level].getWidth(this), this.suboff[this.cur_level].getHeight(this));
- this.g_suboff[this.cur_level].drawImage(this.subsave[this.cur_level], 0, 0, this);
- }
-
- this.highlightText(this.m_cur_menu_textcolor[this.cur_level], var2, false);
- }
-
- public boolean mouseExit(Event var1, int var2, int var3) {
- this.mouse_in = false;
- if (this.last_drawn != -1) {
- if (this.cur_level > 0) {
- this.UndoSpecifics(0, this.cur_level, false);
- ((Component)this).getGraphics().drawImage(this.field_2, 0, 0, this);
- } else {
- this.UndoHP(0);
- }
-
- this.last_drawn = -1;
- }
-
- if (this.cur_level > -1) {
- this.cur_link[this.cur_level] = "-1";
- }
-
- this.cur_level = -1;
- this.sub_highlighted = false;
- this.last_sub = -1;
- if (this.rendering_images) {
- ((OCAviewerExtend)this).showStatus("Loading Menu Images...");
- } else {
- ((OCAviewerExtend)this).showStatus(this.m_offsbtext);
- }
-
- return true;
- }
-
- 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 iim() {
- this.m_load_msgcolor = Color.black;
- this.m_italign = "0";
- this.sub_highlighted = false;
- this.in_sub = false;
- this.tag = false;
- this.first_run = true;
- this.rendering_images = false;
- this.num_icons = 0;
- this.m_sub_bgfile = "-1";
- this.m_it_space = 1;
- this.m_forced_height = -1;
- this.m_loadwhere = "_self";
- this.m_page_bgcolor = Color.black;
- this.m_bgimage_file = "-1";
- this.m_outline_color = null;
- this.m_menu_color = Color.yellow;
- this.m_menu_textcolor = Color.black;
- this.m_menu_hloutcolor = null;
- this.m_menu_hltextcolor = Color.blue;
- this.m_menu_bocolor = null;
- this.m_lrmargin = 4;
- this.m_onsbtext = "OpenCube - Infinite Icon Menus";
- this.m_offsbtext = "Java by OpenCube";
- this.m_bgimage_x = 0;
- this.m_bgimage_y = 0;
- this.draw_spec_hl = -1;
- this.last_drawn = -1;
- this.num_images = 0;
- this.actual_level = 0;
- this.m_media_track = new MediaTracker(this);
- this.cur_sub_point = -1;
- this.cur_num_subs = 0;
- this.cur_level = -1;
- this.max_levels = 0;
- }
-
- public boolean mouseUp(Event var1, int var2, int var3) {
- String var4 = "-1";
- int var5 = 0;
- if (this.actual_level != -1) {
- var5 = this.actual_level;
- } else {
- var5 = this.cur_level;
- }
-
- if (var5 > -1) {
- var4 = this.cur_link[var5];
- } else {
- var4 = this.cur_img_link;
- }
-
- if (var4.equals("-1")) {
- return true;
- } else {
- String var6 = "-1";
- String var7 = "_self";
- int var8 = var4.indexOf("|");
- if (var8 > 0) {
- if (var8 < var4.length() - 1) {
- var6 = var4.substring(0, var8);
- var7 = var4.substring(var8 + 1);
- } else {
- var6 = var4;
- var7 = this.m_loadwhere;
- }
- } else {
- var6 = var4;
- var7 = this.m_loadwhere;
- }
-
- try {
- this.goURL = new URL(((OCAviewerExtend)this).getDocumentBase(), var6);
- } catch (MalformedURLException var9) {
- return true;
- }
-
- ((Applet)this).getAppletContext().showDocument(this.goURL, var7);
- return true;
- }
- }
-
- public void destroy() {
- if (this.trun != null) {
- this.trun.stop();
- this.trun = null;
- }
-
- }
-
- public void paintIt() {
- Graphics var1 = ((Component)this).getGraphics();
- if (!this.tag) {
- var1.setColor(Color.black);
- var1.drawString(this.m_onsbtext, 5, 30);
- } else {
- var1.drawImage(this.field_2, 0, 0, this);
- }
- }
-
- public void highlightText(Color var1, int var2, boolean var3) {
- int var4 = var2 * this.bitheight;
- this.bitoff = ((Component)this).createImage(this.cur_menuwidth[this.cur_level], this.bitheight + 1);
- this.g_bitoff = this.bitoff.getGraphics();
- this.g_bitoff.setFont(this.font);
- this.g_bitoff.drawImage(this.suboff[this.cur_level], 0, -var4, this);
- if (var3 && this.m_cur_menu_hloutcolor[this.cur_level] != null) {
- this.g_bitoff.setColor(this.m_cur_menu_hloutcolor[this.cur_level]);
- this.g_bitoff.drawRect(0, 0, this.cur_menuwidth[this.cur_level] - 1, this.bitheight);
- }
-
- this.g_bitoff.setColor(var1);
- this.alignment = this.cur_alignment[this.cur_level];
- if (this.alignment == 0) {
- this.g_bitoff.drawString(this.subs[this.cur_sub_point + var2 * 4 + 1], this.m_lrmargin + this.cur_itadjust[this.cur_level], this.bitcenter);
- } else if (this.alignment == 1) {
- this.g_bitoff.drawString(this.subs[this.cur_sub_point + var2 * 4 + 1], this.cur_menuwidth[this.cur_level] - (this.field_1.stringWidth(this.subs[this.cur_sub_point + var2 * 4 + 1]) + this.m_lrmargin), this.bitcenter);
- } else if (this.alignment == 2) {
- this.g_bitoff.drawString(this.subs[this.cur_sub_point + var2 * 4 + 1], this.m_lrmargin, this.bitcenter);
- } else if (this.alignment == 3) {
- this.g_bitoff.drawString(this.subs[this.cur_sub_point + var2 * 4 + 1], this.cur_menuwidth[this.cur_level] - (this.field_1.stringWidth(this.subs[this.cur_sub_point + var2 * 4 + 1]) + this.cur_itadjust[this.cur_level] + this.m_lrmargin), this.bitcenter);
- }
-
- int var5 = this.m_lrmargin;
- int var6 = Integer.parseInt(this.subs[this.cur_sub_point + var2 * 4 + 2]);
- this.lasticoid = var6;
- if (var3) {
- if (var6 > -1 && this.s_pic[var6] != null) {
- int var7 = this.s_pic[var6].getWidth(this);
- if (this.alignment == 2 || this.alignment == 3) {
- var5 = this.cur_menuwidth[this.cur_level] - this.m_lrmargin - var7;
- }
-
- this.g_bitoff.drawImage(this.s_pic[var6], var5, this.bitheight / 2 - this.s_pic[var6].getHeight(this) / 2, this);
- }
- } else if (var6 > -1 && this.i_pic[var6] != null) {
- int var8 = this.i_pic[var6].getWidth(this);
- if (this.alignment == 2 || this.alignment == 3) {
- var5 = this.cur_menuwidth[this.cur_level] - this.m_lrmargin - var8;
- }
-
- this.g_bitoff.drawImage(this.i_pic[var6], var5, this.bitheight / 2 - this.i_pic[var6].getHeight(this) / 2, this);
- }
-
- this.g_ts.drawImage(this.bitoff, this.menu_coords[this.cur_level * 7], this.menu_coords[this.cur_level * 7 + 1] + var4, this);
- this.g_suboff[this.cur_level].drawImage(this.bitoff, 0, var4, this);
- }
-
- public void UndoHP(int var1) {
- ((Component)this).getGraphics();
- this.g_ts.fillRect(0, 0, this.field_0.width, this.field_0.height);
- if (this.bg_stat) {
- this.g_ts.drawImage(this.field_3, this.m_bgimage_x, this.m_bgimage_y, this);
- }
-
- for(int var2 = 0; var2 < this.num_images; ++var2) {
- if (this.simg_status[var2]) {
- this.g_ts.drawImage(this.s_picture[var2], this.m_pic_xcord[var2], this.m_pic_ycord[var2], this);
- }
- }
-
- this.paintIt();
- }
-
- public void HighlightPic(int var1) {
- int var2 = 0;
- int var3 = 0;
- if (this.no_subs[var1]) {
- if (this.hlimg_status[var1]) {
- this.draw_spec_hl = -1;
- this.g_ts.drawImage(this.h_picture[var1], this.m_pic_xcord[var1], this.m_pic_ycord[var1], this);
- } else {
- this.draw_spec_hl = var1;
- }
-
- this.paintIt();
- } else {
- int var4 = new Integer(this.p_subs[this.ItoM[var1] + 3]) - new Integer(this.p_subs[this.ItoM[var1] + 2]) + 1;
- int var5 = new Integer(this.p_subs[this.ItoM[var1] + 2]) * 4;
- this.alignment = new Integer(this.p_subs[this.ItoM[var1] + 1]);
- this.cur_alignment[0] = this.alignment;
- this.cur_sub_point = var5;
- this.cur_num_subs = var4;
- int[] var6 = occcord.getIntValues(this.p_subs[this.ItoM[var1]], ",", 2);
- if (var6 != null) {
- var2 = var6[0];
- var3 = var6[1];
- }
-
- this.menuwidth = new Integer(this.p_subs[this.ItoM[var1] + 4]);
- this.menuheight = var4 * this.bitheight + 1;
- this.maxiconwidth = 0;
-
- for(int var7 = 0; var7 < var4; ++var7) {
- int var8 = Integer.parseInt(this.subs[var5 + var7 * 4 + 2]);
- if (var8 > -1 && this.i_pic[var8] != null) {
- int var9 = this.i_pic[var8].getWidth(this);
- if (var9 > this.maxiconwidth) {
- this.maxiconwidth = var9;
- }
- }
- }
-
- this.menuwidth = this.menuwidth + this.maxiconwidth + this.m_it_space + 1;
- this.cur_menuwidth[0] = this.menuwidth;
- if (var2 == -1 && var3 == -2) {
- int var11 = this.field_0.width - (this.m_pic_xcord[var1] + this.s_picture[var1].getWidth(this) / 2 + this.menuwidth);
- if (var11 < 0) {
- this.menux = this.m_pic_xcord[var1] + this.s_picture[var1].getWidth(this) / 2 + (var11 - 1);
- } else {
- this.menux = this.m_pic_xcord[var1] + this.s_picture[var1].getWidth(this) / 2;
- }
-
- this.menuy = this.m_pic_ycord[var1] + (this.s_picture[var1].getHeight(this) - 2);
- } else {
- this.menux = this.m_pic_xcord[var1] + var2;
- this.menuy = this.m_pic_ycord[var1] + var3;
- }
-
- this.menu_coords[0] = this.menux;
- this.menu_coords[1] = this.menuy;
- this.menu_coords[2] = this.menuwidth;
- this.menu_coords[3] = this.menuheight;
- this.menu_coords[4] = var4;
- this.menu_coords[5] = var1;
- this.menu_coords[6] = this.cur_sub_point;
- if (this.hlimg_status[var1]) {
- this.g_ts.drawImage(this.h_picture[var1], this.m_pic_xcord[var1], this.m_pic_ycord[var1], this);
- }
-
- this.suboff[0] = ((Component)this).createImage(this.menuwidth, this.menuheight);
- this.g_suboff[0] = this.suboff[0].getGraphics();
- this.g_suboff[0].setFont(this.font);
- this.g_suboff[0].setColor(this.m_cur_menu_color[0]);
- this.g_suboff[0].fillRect(0, 0, this.menuwidth, this.menuheight);
- if (this.mc_bgfile_stat[0]) {
- int var12 = 0;
- int var14 = 0;
- int var18 = this.mc_subbg[0].getWidth(this);
- int var10 = this.mc_subbg[0].getHeight(this);
- if (this.gif_tile[0]) {
- var14 = -1;
- }
-
- while(true) {
- this.g_suboff[0].drawImage(this.mc_subbg[0], var12, var14, this);
- var12 += var18;
- if (var12 > this.menuwidth + 1) {
- var12 = 0;
- var14 += var10;
- if (this.gif_tile[0]) {
- --var14;
- }
-
- if (var14 > this.menuheight + 1) {
- break;
- }
- }
- }
- }
-
- if (this.m_cur_menu_bocolor[0] != null) {
- this.g_suboff[0].setColor(this.m_cur_menu_bocolor[0]);
- this.g_suboff[0].drawRect(0, 0, this.menuwidth - 1, this.menuheight - 1);
- }
-
- int var13 = this.m_lrmargin;
-
- for(int var15 = 0; var15 < var4; ++var15) {
- int var19 = Integer.parseInt(this.subs[var5 + var15 * 4 + 2]);
- if (var19 > -1 && this.i_pic[var19] != null) {
- int var20 = this.i_pic[var19].getWidth(this);
- if (this.alignment == 2 || this.alignment == 3) {
- var13 = this.menuwidth - this.m_lrmargin - var20;
- }
-
- this.g_suboff[0].drawImage(this.i_pic[var19], var13, this.bitheight * var15 + this.bitheight / 2 - this.i_pic[var19].getHeight(this) / 2, this);
- }
- }
-
- this.def_menuloc[0] = var13;
- this.itadjust = 0;
- if (this.maxiconwidth > 0) {
- this.itadjust = this.maxiconwidth + this.m_it_space;
- }
-
- this.cur_itadjust[0] = this.itadjust;
-
- for(int var16 = 0; var16 < var4; ++var16) {
- if (this.m_cur_outline_color[0] != null) {
- this.g_suboff[0].setColor(this.m_cur_outline_color[0]);
- this.g_suboff[0].drawRect(0, this.bitheight * var16, this.menuwidth, this.bitheight);
- }
-
- this.g_suboff[0].setColor(this.m_cur_menu_textcolor[0]);
- if (this.alignment == 0) {
- this.g_suboff[0].drawString(this.subs[var5 + var16 * 4 + 1], this.m_lrmargin + this.itadjust, this.bitheight * var16 + this.bitcenter);
- } else if (this.alignment == 1) {
- this.g_suboff[0].drawString(this.subs[var5 + var16 * 4 + 1], this.menuwidth - (this.field_1.stringWidth(this.subs[var5 + var16 * 4 + 1]) + this.m_lrmargin), this.bitheight * var16 + this.bitcenter);
- } else if (this.alignment == 2) {
- this.g_suboff[0].drawString(this.subs[var5 + var16 * 4 + 1], this.m_lrmargin, this.bitheight * var16 + this.bitcenter);
- } else if (this.alignment == 3) {
- this.g_suboff[0].drawString(this.subs[var5 + var16 * 4 + 1], this.menuwidth - (this.field_1.stringWidth(this.subs[var5 + var16 * 4 + 1]) + this.itadjust + this.m_lrmargin), this.bitheight * var16 + this.bitcenter);
- }
- }
-
- this.g_ts.drawImage(this.suboff[0], this.menux, this.menuy, this);
- this.paintIt();
- if (this.m_cur_menu_hloutcolor[0] != null) {
- this.subsave[0] = ((Component)this).createImage(this.suboff[0].getWidth(this), this.suboff[0].getHeight(this));
- Graphics var17 = this.subsave[0].getGraphics();
- var17.drawImage(this.suboff[0], 0, 0, this);
- }
-
- this.cur_level = 0;
- }
- }
-
- public void FirstRun(Graphics var1) {
- this.rendering_images = true;
- ((OCAviewerExtend)this).showStatus("Loading Menu Images...");
- this.g_ts.setColor(this.m_page_bgcolor);
- this.g_ts.fillRect(0, 0, this.field_0.width, this.field_0.height);
- this.g_ts.setFont(new Font("Helvetica", 0, 11));
- FontMetrics var2 = this.g_ts.getFontMetrics();
- this.g_ts.setColor(this.m_load_msgcolor);
- this.g_ts.drawString(this.m_load_msg, this.field_0.width / 2 - var2.stringWidth(this.m_load_msg) / 2, this.field_0.height / 2 + var2.getHeight() / 2);
- ((Component)this).getGraphics().drawImage(this.field_2, 0, 0, this);
-
- for(int var3 = this.break_pictype; var3 < this.num_icons; this.break_pictype = var3++) {
- this.i_pic[var3] = this.trackReturn(this.m_icon_file[var3]);
- }
-
- for(int var5 = this.break_picload; var5 < this.num_icons; this.break_picload = var5++) {
- if ((this.s_pic[var5] = this.trackReturn(this.m_icon_switch_file[var5])) == null) {
- this.s_pic[var5] = this.i_pic[var5];
- }
- }
-
- if ((this.m_subbg = this.trackReturn(this.m_sub_bgfile)) != null) {
- this.m_bgfile_stat = true;
- }
-
- for(int var6 = this.break_bgload; var6 < this.level_max; this.break_bgload = var6++) {
- if ((this.mc_subbg[var6] = this.trackReturn(this.mc_sub_bgfile[var6])) != null) {
- this.mc_bgfile_stat[var6] = true;
- }
- }
-
- for(int var7 = this.break_stand; var7 < this.num_images; this.break_stand = var7++) {
- if ((this.s_picture[var7] = this.trackReturn(this.m_imagefile[var7])) != null) {
- if (var7 == 0) {
- this.g_ts.setColor(this.m_page_bgcolor);
- this.g_ts.fillRect(0, 0, this.field_0.width, this.field_0.height);
- }
-
- this.simg_status[var7] = true;
- this.g_ts.drawImage(this.s_picture[var7], this.m_pic_xcord[var7], this.m_pic_ycord[var7], this);
-
- for(int var4 = 0; var4 <= this.cur_level; ++var4) {
- this.g_ts.drawImage(this.suboff[var4], this.menu_coords[var4 * 7], this.menu_coords[var4 * 7 + 1], this);
- }
-
- ((Component)this).getGraphics().drawImage(this.field_2, 0, 0, this);
- this.pic_width[var7] = this.s_picture[var7].getWidth(this);
- this.pic_height[var7] = this.s_picture[var7].getHeight(this);
- }
- }
-
- for(int var8 = this.break_hl; var8 < this.num_images; this.break_hl = var8++) {
- if ((this.h_picture[var8] = this.trackReturn(this.m_switchfile[var8])) == null) {
- this.h_picture[var8] = this.s_picture[var8];
- } else {
- this.hlimg_status[var8] = true;
- if (this.last_drawn != -1) {
- if (this.last_drawn == var8) {
- this.g_ts.drawImage(this.h_picture[var8], this.m_pic_xcord[var8], this.m_pic_ycord[var8], this);
- }
-
- for(int var10 = 0; var10 <= this.cur_level; ++var10) {
- this.g_ts.drawImage(this.suboff[var10], this.menu_coords[var10 * 7], this.menu_coords[var10 * 7 + 1], this);
- }
-
- ((Component)this).getGraphics().drawImage(this.field_2, 0, 0, this);
- }
- }
- }
-
- if ((this.field_3 = this.trackReturn(this.m_bgimage_file)) != null) {
- this.bg_stat = true;
- this.UndoSpecifics(0, this.cur_level, true);
-
- for(int var9 = 0; var9 <= this.cur_level; ++var9) {
- this.g_ts.drawImage(this.suboff[var9], this.menu_coords[var9 * 7], this.menu_coords[var9 * 7 + 1], this);
- }
-
- ((Component)this).getGraphics().drawImage(this.field_2, 0, 0, this);
- }
-
- if (this.mouse_in) {
- ((OCAviewerExtend)this).showStatus(this.m_onsbtext);
- } else {
- ((OCAviewerExtend)this).showStatus(this.m_offsbtext);
- }
-
- this.rendering_images = false;
- }
-
- public void MouseInSub(int var1, int var2) {
- int var3 = 0;
- boolean var4 = false;
- if (var2 < this.cur_level) {
- var4 = true;
- }
-
- for(int var5 = 1; var5 <= this.cur_num_subs; ++var5) {
- if (var1 > this.bitheight * (var5 - 1) && var1 < this.bitheight * var5) {
- if (var4) {
- if (this.menu_coords[(var2 + 1) * 7 + 5] == var5) {
- if (this.on_sub_num != -1) {
- this.UndoSubHighlight(((Component)this).getGraphics(), this.last_sub);
- this.paintIt();
- }
-
- this.sub_highlighted = false;
- this.on_sub_num = -1;
- return;
- }
-
- this.UndoSpecifics(var2 + 1, this.cur_level, true);
-
- for(int var6 = 0; var6 <= var2; ++var6) {
- var3 = var6 * 7;
- this.g_ts.drawImage(this.suboff[var6], this.menu_coords[var3], this.menu_coords[var3 + 1], this);
- }
-
- this.cur_level = var2;
- this.cur_sub_point = this.menu_coords[this.cur_level * 7 + 6];
- this.UndoSubHighlight(((Component)this).getGraphics(), this.menu_coords[(this.cur_level + 1) * 7 + 5] - 1);
- this.on_sub_num = var5;
- this.SubHighlight(((Component)this).getGraphics(), var5 - 1);
- return;
- }
-
- if (var5 != this.on_sub_num) {
- if (this.sub_highlighted) {
- this.UndoSubHighlight(((Component)this).getGraphics(), this.last_sub);
- }
-
- this.on_sub_num = var5;
- this.SubHighlight(((Component)this).getGraphics(), var5 - 1);
- return;
- }
- break;
- }
- }
-
- }
-
- public void start() {
- if (this.tag) {
- if (this.first_run) {
- this.trun = new Thread(this);
- this.trun.start();
- }
-
- }
- }
-
- public void SubHighlight(Graphics var1, int var2) {
- this.last_sub = var2;
- this.sub_highlighted = true;
- this.cur_link[this.cur_level] = this.subs[this.cur_sub_point + var2 * 4 + 3];
- this.highlightText(this.m_cur_menu_hltextcolor[this.cur_level], var2, true);
- int var3 = new Integer(this.subs[this.cur_sub_point + var2 * 4]);
- if (var3 > -1) {
- ++this.cur_level;
- this.CreateSub(var3 * 5, var2);
- } else {
- this.paintIt();
- }
- }
-
- public void run() {
- while(true) {
- if (this.first_run) {
- this.FirstRun(((Component)this).getGraphics());
- this.first_run = false;
- }
-
- try {
- Thread.sleep(500L);
- } catch (InterruptedException var1) {
- }
- }
- }
-
- public void init() {
- String var1 = "Infinite Icon Menus, Copyright (c) 1998 OpenCube Technologies, Registered";
- this.field_0 = ((Component)this).size();
- boolean var3 = false;
- String var2 = ((OCAviewerExtend)this).getParameter("Notice");
- if (var2 == null) {
- this.m_onsbtext = "Missing 'Notice' Tag";
- } else {
- String var4 = compkey.getKey(var2, ((OCAviewerExtend)this).getDocumentBase());
- if (!var4.equals(var1)) {
- if (var4.equals("-1")) {
- this.m_onsbtext = "Incorrect Base URL Registration";
- } else {
- this.m_onsbtext = "Incorrect Copyright Notice in 'Notice' tag";
- }
- } else {
- this.tag = true;
- var2 = ((OCAviewerExtend)this).getParameter("subbgfile");
- if (var2 != null) {
- this.m_sub_bgfile = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("icontextspace");
- if (var2 != null) {
- this.m_it_space = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("italign");
- if (var2 != null) {
- this.m_italign = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("menubitheight");
- if (var2 != null) {
- this.m_forced_height = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("menucolor");
- if (var2 != null) {
- this.m_menu_color = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("menuhloutcolor");
- if (var2 != null) {
- this.m_menu_hloutcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("menuboxoutcolor");
- if (var2 != null) {
- this.m_menu_bocolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("menuoutlinecolor");
- if (var2 != null) {
- this.m_outline_color = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("bgimagefile");
- if (var2 != null) {
- this.m_bgimage_file = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("loadmsgcolor");
- if (var2 != null) {
- this.m_load_msgcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("loadmsg");
- if (var2 != null) {
- this.m_load_msg = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("menutextcolor");
- if (var2 != null) {
- this.m_menu_textcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("menuhltextcolor");
- if (var2 != null) {
- this.m_menu_hltextcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("onsbtext");
- if (var2 != null) {
- this.m_onsbtext = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("offsbtext");
- if (var2 != null) {
- this.m_offsbtext = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("bgimagexy");
- if (var2 != null) {
- int[] var5 = occcord.getIntValues(var2, ",", 2);
- if (var5 != null) {
- this.m_bgimage_x = var5[0];
- this.m_bgimage_y = var5[1];
- }
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("font");
- if (var2 != null) {
- this.font = ocfontc.getFontSD(var2, ",");
- } else {
- this.font = new Font("Helvetica", 0, 12);
- }
-
- ((Component)this).setFont(this.font);
- this.field_1 = ((Component)this).getFontMetrics(this.font);
- var2 = ((OCAviewerExtend)this).getParameter("lrmargin");
- if (var2 != null) {
- this.m_lrmargin = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("loadwhere");
- if (var2 != null) {
- this.m_loadwhere = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("bgcolor");
- if (var2 != null) {
- this.m_page_bgcolor = occcolor.ConvertColor(var2);
- }
-
- ((Component)this).setBackground(this.m_page_bgcolor);
-
- while(((OCAviewerExtend)this).getParameter("iconfile" + this.num_icons) != null) {
- ++this.num_icons;
- }
-
- this.m_icon_file = new String[this.num_icons];
- this.m_icon_switch_file = new String[this.num_icons];
- this.i_pic = new Image[this.num_icons];
- this.s_pic = new Image[this.num_icons];
-
- for(int var63 = 0; var63 < this.num_icons; ++var63) {
- var2 = ((OCAviewerExtend)this).getParameter("iconfile" + var63);
- if (var2 != null) {
- this.m_icon_file[var63] = new String(var2);
- } else {
- this.m_icon_file[var63] = new String(" ");
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("iconswitchfile" + var63);
- if (var2 != null) {
- this.m_icon_switch_file[var63] = new String(var2);
- } else {
- this.m_icon_switch_file[var63] = this.m_icon_file[var63];
- }
- }
-
- while(((OCAviewerExtend)this).getParameter("imagefile" + this.num_images) != null) {
- ++this.num_images;
- }
-
- this.m_imagefile = new String[this.num_images];
- this.m_switchfile = new String[this.num_images];
- this.m_pic_xcord = new int[this.num_images];
- this.m_pic_ycord = new int[this.num_images];
- this.m_cur_image_desturl = new String[this.num_images];
- this.ItoM = new int[this.num_images];
- this.hlimg_status = new boolean[this.num_images];
- this.simg_status = new boolean[this.num_images];
- this.pic_width = new int[this.num_images];
- this.pic_height = new int[this.num_images];
- this.s_picture = new Image[this.num_images];
- this.h_picture = new Image[this.num_images];
- this.max_string_width = new int[this.num_images];
- this.no_subs = new boolean[this.num_images];
- Vector var68 = new Vector();
- Vector var6 = new Vector();
- int var7 = 0;
- int var8 = 0;
- String var9 = "";
- String var10 = "";
- Stack var11 = new Stack();
- Stack var12 = new Stack();
- int var13 = 0;
- int var14 = 0;
- String var15 = "";
- int var16 = 0;
- boolean var17 = false;
- int var18 = 0;
- int var19 = 0;
-
- for(int var64 = 0; var64 < this.num_images; ++var64) {
- var9 = (new Integer(var64)).toString();
- var10 = var9;
- var17 = true;
-
- while(true) {
- var9 = var10 + "-" + var8;
- var2 = ((OCAviewerExtend)this).getParameter("desc" + var9);
- int var20 = 0;
- int var21 = 0;
- boolean var22 = false;
-
- while(var20 != -1) {
- var20 = var9.indexOf("-", var20 + 1);
- if (var20 == -1) {
- break;
- }
-
- ++var21;
- if (var21 > this.level_max) {
- this.level_max = var21;
- var22 = true;
- }
- }
-
- if (var2 != null) {
- if (((OCAviewerExtend)this).getParameter("desc" + var9 + "-0") != null) {
- var68.addElement(var9);
- ++var13;
- var11.push(var9);
- var12.push((new Integer(var7 * 4)).toString());
- } else {
- var68.addElement("-1");
- }
-
- String var77 = "-1";
- String var24 = "-1";
- int var25 = var2.indexOf("|");
- if (var25 > 0) {
- if (var25 < var2.length() - 1) {
- var77 = var2.substring(0, var25);
- var24 = var2.substring(var25 + 1);
- } else {
- var24 = var2;
- }
- } else {
- var24 = var2;
- }
-
- var68.addElement(var24);
- if (this.field_1.stringWidth(var24) + this.m_lrmargin * 2 > var14) {
- var14 = this.field_1.stringWidth(var24) + this.m_lrmargin * 2;
- }
-
- var68.addElement(var77);
- var2 = ((OCAviewerExtend)this).getParameter("desturl" + var9);
- if (var2 != null) {
- var68.addElement(var2);
- } else {
- var68.addElement("-1");
- }
-
- if (var8 == 0) {
- var2 = ((OCAviewerExtend)this).getParameter("menuxy" + var10);
- if (var2 != null) {
- var6.addElement(var2);
- } else {
- var6.addElement("-1,-2");
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("italign" + var10);
- if (var2 != null) {
- var6.addElement(var2);
- } else {
- var6.addElement(this.m_italign);
- }
-
- var6.addElement((new Integer(var7)).toString());
- }
-
- ++var7;
- ++var8;
- } else {
- if (this.no_subs[var64]) {
- int var23 = 0;
-
- do {
- var6.addElement("0");
- ++var23;
- } while(var23 < 5);
- }
-
- if (var8 > 0) {
- var6.addElement((new Integer(var7 - 1)).toString());
- var6.addElement((new Integer(var14)).toString());
- }
-
- ++var16;
- ++var18;
- if (var17) {
- this.ItoM[var64] = (var16 - 1) * 5;
- var17 = false;
- }
-
- if (var13 < 1) {
- var11 = new Stack();
- var14 = 0;
- var12 = new Stack();
- var8 = 0;
- if (var18 > var19) {
- var19 = var18;
- var18 = 0;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("imagefile" + var64);
- if (var2 != null) {
- this.m_imagefile[var64] = new String(var2);
- } else {
- this.m_imagefile[var64] = new String(" ");
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("switchfile" + var64);
- if (var2 != null) {
- this.m_switchfile[var64] = new String(var2);
- } else {
- this.m_switchfile[var64] = new String(" ");
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("picxy" + var64);
- if (var2 != null) {
- int[] var74 = occcord.getIntValues(var2, ",", 2);
- if (var74 != null) {
- this.m_pic_xcord[var64] = var74[0];
- this.m_pic_ycord[var64] = var74[1];
- }
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("imagedesturl" + var64);
- if (var2 != null) {
- this.m_cur_image_desturl[var64] = var2;
- } else {
- this.m_cur_image_desturl[var64] = null;
- }
-
- this.field_2 = ((Component)this).createImage(this.field_0.width, this.field_0.height);
- this.g_ts = this.field_2.getGraphics();
- this.g_ts.setColor(this.m_page_bgcolor);
- this.g_ts.fillRect(0, 0, this.field_0.width, this.field_0.height);
- break;
- }
-
- var10 = var11.pop().toString();
- --var13;
- var15 = var12.pop().toString();
- var68.setElementAt((new Integer(var16)).toString(), new Integer(var15));
- var8 = 0;
- var14 = 0;
- }
- }
- }
-
- this.menu_coords = new int[var19 * 7];
- this.cur_link = new String[var19];
- this.suboff = new Image[var19];
- this.g_suboff = new Graphics[var19];
- this.subsave = new Image[var19];
- this.subs = new String[var68.size()];
- var68.copyInto(this.subs);
- this.p_subs = new String[var6.size()];
- var6.copyInto(this.p_subs);
-
- for(int var65 = 0; var65 < this.num_images; ++var65) {
- if (((OCAviewerExtend)this).getParameter("desc" + var65 + "-0") == null) {
- this.no_subs[var65] = true;
- }
- }
-
- var3 = false;
- this.m_cur_outline_color = new Color[this.level_max];
- this.m_cur_menu_color = new Color[this.level_max];
- this.m_cur_menu_textcolor = new Color[this.level_max];
- this.m_cur_menu_hloutcolor = new Color[this.level_max];
- this.m_cur_menu_hltextcolor = new Color[this.level_max];
- this.m_cur_menu_bocolor = new Color[this.level_max];
- this.mc_sub_bgfile = new String[this.level_max];
- this.mc_subbg = new Image[this.level_max];
- this.mc_bgfile_stat = new boolean[this.level_max];
- this.cur_alignment = new int[this.level_max];
- this.cur_itadjust = new int[this.level_max];
- this.cur_menuwidth = new int[this.level_max];
- this.def_menuloc = new int[this.level_max];
- this.gif_tile = new boolean[this.level_max];
-
- for(int var67 = 0; var67 < this.level_max; ++var67) {
- var2 = ((OCAviewerExtend)this).getParameter("subbgfile" + var67);
- if (var2 != null) {
- this.mc_sub_bgfile[var67] = var2;
- } else {
- this.mc_sub_bgfile[var67] = this.m_sub_bgfile;
- }
-
- String var75 = this.mc_sub_bgfile[var67].toLowerCase();
- if (var75.lastIndexOf("gif") != -1) {
- this.gif_tile[var67] = true;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("menucolor" + var67);
- if (var2 != null) {
- this.m_cur_menu_color[var67] = occcolor.ConvertColor(var2);
- } else {
- this.m_cur_menu_color[var67] = this.m_menu_color;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("menuhloutcolor" + var67);
- if (var2 != null) {
- this.m_cur_menu_hloutcolor[var67] = occcolor.ConvertColor(var2);
- } else {
- this.m_cur_menu_hloutcolor[var67] = this.m_menu_hloutcolor;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("menuboxoutcolor" + var67);
- if (var2 != null) {
- this.m_cur_menu_bocolor[var67] = occcolor.ConvertColor(var2);
- } else {
- this.m_cur_menu_bocolor[var67] = this.m_menu_bocolor;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("menuoutlinecolor" + var67);
- if (var2 != null) {
- this.m_cur_outline_color[var67] = occcolor.ConvertColor(var2);
- } else {
- this.m_cur_outline_color[var67] = this.m_outline_color;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("menutextcolor" + var67);
- if (var2 != null) {
- this.m_cur_menu_textcolor[var67] = occcolor.ConvertColor(var2);
- } else {
- this.m_cur_menu_textcolor[var67] = this.m_menu_textcolor;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("menuhltextcolor" + var67);
- if (var2 != null) {
- this.m_cur_menu_hltextcolor[var67] = occcolor.ConvertColor(var2);
- } else {
- this.m_cur_menu_hltextcolor[var67] = this.m_menu_hltextcolor;
- }
- }
-
- if (this.m_forced_height > 0) {
- this.bitheight = this.m_forced_height;
- if (this.bitheight < this.field_1.getHeight()) {
- this.bitheight = this.field_1.getHeight();
- }
- } else {
- this.bitheight = this.field_1.getHeight();
- }
-
- this.bitcenter = this.bitheight / 2 + (this.field_1.getAscent() + this.field_1.getLeading()) / 2;
- }
- }
- }
-
- public void CreateSub(int var1, int var2) {
- int var3 = 0;
- if (this.lasticoid > -1) {
- var3 = this.i_pic[this.lasticoid].getWidth(this);
- }
-
- int var4 = new Integer(this.p_subs[var1 + 3]) - new Integer(this.p_subs[var1 + 2]) + 1;
- int var5 = new Integer(this.p_subs[var1 + 2]) * 4;
- this.alignment = new Integer(this.p_subs[var1 + 1]);
- this.cur_alignment[this.cur_level] = this.alignment;
- this.cur_sub_point = var5;
- this.cur_num_subs = var4;
- int[] var6 = occcord.getIntValues(this.p_subs[var1], ",", 2);
- if (var6 != null) {
- this.menux = var6[0];
- this.menuy = var6[1];
- }
-
- this.menuwidth = new Integer(this.p_subs[var1 + 4]);
- this.menuheight = var4 * this.bitheight + 1;
- this.maxiconwidth = 0;
-
- for(int var7 = 0; var7 < var4; ++var7) {
- int var8 = Integer.parseInt(this.subs[var5 + var7 * 4 + 2]);
- if (var8 > -1 && this.i_pic[var8] != null) {
- int var9 = this.i_pic[var8].getWidth(this);
- if (var9 > this.maxiconwidth) {
- this.maxiconwidth = var9;
- }
- }
- }
-
- this.menuwidth = this.menuwidth + this.maxiconwidth + this.m_it_space + 1;
- this.cur_menuwidth[this.cur_level] = this.menuwidth;
- this.menu_coords[this.cur_level * 7 + 2] = this.menuwidth;
- this.menu_coords[this.cur_level * 7 + 3] = this.menuheight;
- this.menu_coords[this.cur_level * 7 + 4] = this.cur_num_subs;
- this.menu_coords[this.cur_level * 7 + 5] = this.on_sub_num;
- this.menu_coords[this.cur_level * 7 + 6] = this.cur_sub_point;
- this.suboff[this.cur_level] = ((Component)this).createImage(this.menuwidth, this.menuheight);
- this.subsave[this.cur_level] = ((Component)this).createImage(this.menuwidth, this.menuheight);
- this.g_suboff[this.cur_level] = this.suboff[this.cur_level].getGraphics();
- this.g_suboff[this.cur_level].setFont(this.font);
- Color var16 = this.m_cur_menu_color[this.cur_level];
- Color var10000 = this.m_cur_outline_color[this.cur_level];
- var10000 = this.m_cur_menu_textcolor[this.cur_level];
- this.g_suboff[this.cur_level].setColor(var16);
- this.g_suboff[this.cur_level].fillRect(0, 0, this.menuwidth, this.menuheight);
- Image var17 = this.mc_subbg[this.cur_level];
- boolean var18 = this.mc_bgfile_stat[this.cur_level];
- if (var18) {
- int var10 = 0;
- int var11 = 0;
- int var12 = var17.getWidth(this);
- int var13 = var17.getHeight(this);
- if (this.gif_tile[this.cur_level]) {
- var11 = -1;
- }
-
- while(true) {
- this.g_suboff[this.cur_level].drawImage(var17, var10, var11, this);
- var10 += var12;
- if (var10 > this.menuwidth + 1) {
- var10 = 0;
- var11 += var13;
- if (this.gif_tile[this.cur_level]) {
- --var11;
- }
-
- if (var11 > this.menuheight + 1) {
- break;
- }
- }
- }
- }
-
- if (this.m_cur_menu_bocolor[this.cur_level] != null) {
- this.g_suboff[this.cur_level].setColor(this.m_cur_menu_bocolor[this.cur_level]);
- this.g_suboff[this.cur_level].drawRect(0, 0, this.menuwidth - 1, this.menuheight - 1);
- }
-
- int var19 = this.m_lrmargin;
- boolean var20 = false;
-
- for(int var21 = 0; var21 < var4; ++var21) {
- int var26 = Integer.parseInt(this.subs[var5 + var21 * 4 + 2]);
- if (var26 > -1 && this.i_pic[var26] != null) {
- int var14 = this.i_pic[var26].getWidth(this);
- if (this.alignment == 2 || this.alignment == 3) {
- var19 = this.menuwidth - this.m_lrmargin - var14;
- }
-
- if (var21 == var2) {
- ;
- }
-
- this.g_suboff[this.cur_level].drawImage(this.i_pic[var26], var19, this.bitheight * var21 + this.bitheight / 2 - this.i_pic[var26].getHeight(this) / 2, this);
- }
- }
-
- this.def_menuloc[this.cur_level] = var19;
- if (this.menux == -1 && this.menuy == -2) {
- if (this.cur_alignment[this.cur_level - 1] != 2 && this.cur_alignment[this.cur_level - 1] != 3) {
- this.menu_coords[this.cur_level * 7] = this.menu_coords[(this.cur_level - 1) * 7] + this.def_menuloc[this.cur_level - 1] - this.menuwidth - 2;
- } else {
- this.menu_coords[this.cur_level * 7] = this.menu_coords[(this.cur_level - 1) * 7] + this.cur_menuwidth[this.cur_level - 1] - 2;
- }
-
- int var22 = this.menu_coords[(this.cur_level - 1) * 7 + 1] + var2 * this.bitheight + this.bitheight * var4;
- var22 = this.field_0.height - var22;
- if (var22 < 0) {
- this.menu_coords[this.cur_level * 7 + 1] = this.menu_coords[(this.cur_level - 1) * 7 + 1] + var2 * this.bitheight + var22 - 1;
- } else {
- this.menu_coords[this.cur_level * 7 + 1] = this.menu_coords[(this.cur_level - 1) * 7 + 1] + var2 * this.bitheight - 2;
- }
- } else {
- this.menu_coords[this.cur_level * 7] = this.menu_coords[(this.cur_level - 1) * 7] + this.menux;
- this.menu_coords[this.cur_level * 7 + 1] = this.menu_coords[(this.cur_level - 1) * 7 + 1] + this.menuy;
- }
-
- this.itadjust = 0;
- if (this.maxiconwidth > 0) {
- this.itadjust = this.maxiconwidth + this.m_it_space;
- }
-
- this.cur_itadjust[this.cur_level] = this.itadjust;
-
- for(int var24 = 0; var24 < var4; ++var24) {
- if (this.m_cur_outline_color[this.cur_level] != null) {
- this.g_suboff[this.cur_level].setColor(this.m_cur_outline_color[this.cur_level]);
- this.g_suboff[this.cur_level].drawRect(0, this.bitheight * var24, this.menuwidth, this.bitheight);
- }
-
- this.g_suboff[this.cur_level].setColor(this.m_cur_menu_textcolor[this.cur_level]);
- if (this.alignment == 0) {
- this.g_suboff[this.cur_level].drawString(this.subs[var5 + var24 * 4 + 1], this.m_lrmargin + this.itadjust, this.bitheight * var24 + this.bitcenter);
- } else if (this.alignment == 1) {
- this.g_suboff[this.cur_level].drawString(this.subs[var5 + var24 * 4 + 1], this.menuwidth - (this.field_1.stringWidth(this.subs[var5 + var24 * 4 + 1]) + this.m_lrmargin), this.bitheight * var24 + this.bitcenter);
- } else if (this.alignment == 2) {
- this.g_suboff[this.cur_level].drawString(this.subs[var5 + var24 * 4 + 1], this.m_lrmargin, this.bitheight * var24 + this.bitcenter);
- } else if (this.alignment == 3) {
- this.g_suboff[this.cur_level].drawString(this.subs[var5 + var24 * 4 + 1], this.menuwidth - (this.field_1.stringWidth(this.subs[var5 + var24 * 4 + 1]) + this.itadjust + this.m_lrmargin), this.bitheight * var24 + this.bitcenter);
- }
- }
-
- this.g_ts.drawImage(this.suboff[this.cur_level], this.menu_coords[this.cur_level * 7], this.menu_coords[this.cur_level * 7 + 1], this);
- this.paintIt();
- if (this.m_cur_menu_hloutcolor[this.cur_level] != null) {
- this.subsave[this.cur_level] = ((Component)this).createImage(this.suboff[this.cur_level].getWidth(this), this.suboff[this.cur_level].getHeight(this));
- Graphics var25 = this.subsave[this.cur_level].getGraphics();
- var25.drawImage(this.suboff[this.cur_level], 0, 0, this);
- }
-
- this.on_sub_num = -1;
- }
-
- public void UndoSpecifics(int var1, int var2, boolean var3) {
- this.g_ts.fillRect(0, 0, this.field_0.width, this.field_0.height);
- if (this.bg_stat) {
- this.g_ts.drawImage(this.field_3, this.m_bgimage_x, this.m_bgimage_y, this.m_page_bgcolor, this);
- }
-
- for(int var4 = 0; var4 < this.num_images; ++var4) {
- if (this.simg_status[var4]) {
- this.g_ts.drawImage(this.s_picture[var4], this.m_pic_xcord[var4], this.m_pic_ycord[var4], this);
- }
- }
-
- if (this.last_drawn > -1 && var3 && this.hlimg_status[this.last_drawn]) {
- this.g_ts.drawImage(this.h_picture[this.last_drawn], this.m_pic_xcord[this.last_drawn], this.m_pic_ycord[this.last_drawn], this);
- }
-
- }
-
- public boolean mouseMove(Event var1, int var2, int var3) {
- if (this.last_drawn != -1) {
- int var4 = 0;
-
- for(int var5 = this.cur_level; var5 >= 0; --var5) {
- var4 = var5 * 7;
- if (var2 > this.menu_coords[var4] && var2 < this.menu_coords[var4] + this.menu_coords[var4 + 2] && var3 > this.menu_coords[var4 + 1] && var3 < this.menu_coords[var4 + 1] + this.menu_coords[var4 + 3]) {
- this.cur_num_subs = this.menu_coords[var4 + 4];
- this.actual_level = var5;
- this.MouseInSub(var3 - this.menu_coords[var4 + 1], var5);
- return true;
- }
- }
-
- this.actual_level = -1;
- }
-
- if (this.sub_highlighted) {
- this.UndoSubHighlight(((Component)this).getGraphics(), this.last_sub);
- this.cur_link[this.cur_level] = "-1";
- this.paintIt();
- }
-
- this.on_sub_num = -1;
-
- for(int var7 = this.num_images - 1; var7 >= 0; --var7) {
- if (var3 > this.m_pic_ycord[var7] && var3 < this.m_pic_ycord[var7] + this.pic_height[var7] && var2 > this.m_pic_xcord[var7] && var2 < this.m_pic_xcord[var7] + this.pic_width[var7]) {
- if (var7 != this.last_drawn) {
- if (this.last_drawn != -1) {
- if (var3 > this.m_pic_ycord[this.last_drawn] && var3 < this.m_pic_ycord[this.last_drawn] + this.pic_height[this.last_drawn] && var2 > this.m_pic_xcord[this.last_drawn] && var2 < this.m_pic_xcord[this.last_drawn] + this.pic_width[this.last_drawn]) {
- return true;
- }
-
- if (this.cur_level > 0) {
- this.UndoSpecifics(0, this.cur_level, false);
- this.cur_level = 0;
- } else {
- this.UndoHP(0);
- }
- }
-
- this.last_drawn = var7;
- this.cur_img_link = this.m_cur_image_desturl[this.last_drawn];
- this.cur_level = -1;
- this.HighlightPic(var7);
- return true;
- }
-
- if (!this.sub_highlighted && this.cur_level > -1) {
- this.cur_link[this.cur_level] = this.m_cur_image_desturl[this.last_drawn];
- }
-
- return true;
- }
- }
-
- if (this.last_drawn != -1 && this.no_subs[this.last_drawn]) {
- this.UndoHP(this.last_drawn);
- this.last_drawn = -1;
- this.cur_level = -1;
- }
-
- return true;
- }
- }
-