home *** CD-ROM | disk | FTP | other *** search
Wrap
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.net.MalformedURLException; import java.net.URL; public class FadeText extends OCAviewerExtend implements Runnable { Thread m_SlidingM = null; Image off; Graphics g_off; // $FF: renamed from: fm java.awt.FontMetrics FontMetrics field_0; URL goURL; // $FF: renamed from: d java.awt.Dimension Dimension field_1; int center_x = 0; int num_msg; // $FF: renamed from: k int int field_2 = 0; boolean paused = false; boolean tag = false; boolean mouse_in = false; boolean bad_descrips = false; boolean first_pass = true; boolean multi_line = false; boolean first_run = true; private int m_delay = 2000; private int m_mouse_delay = 1000; private String m_messagefont = "Arial"; private String[] m_msg; private Color[] m_cur_textcolor; private Color[] m_cur_bgcolor; private Color m_bgcolor; private Color m_textcolor; private int[] m_cur_delay; private String[] m_cur_desturl; private String m_loadwhere; private String[] m_cur_loadwhere; private int m_margin; private int m_b_thick; private int[] m_cur_b_thick; private Color m_b_color; private Color[] m_cur_b_color; private int m_fadein_frames; private int m_fadeout_frames; private int m_fadein_delay; private int m_fadeout_delay; private Font m_font; private Font[] m_cur_font; private int m_valign; private int[] m_cur_valign; private int m_halign; private int[] m_cur_halign; private boolean m_fade_bg; private boolean m_underline; private boolean[] m_cur_underline; private Color m_hltext_color; private Color m_hlborder_color; private boolean m_hllinksonly; private int m_fadebgframes; private int m_fadebgdelay; private String m_onsbtext; private String m_offsbtext; // $FF: renamed from: ml java.lang.String[] private String[] field_3; public void stop() { if (this.m_SlidingM != null) { this.m_SlidingM.stop(); this.m_SlidingM = null; } } public boolean mouseEnter(Event var1, int var2, int var3) { this.mouse_in = true; if (this.paused) { this.method_0(); this.paintIt(); } ((OCAviewerExtend)this).showStatus(this.m_onsbtext); return true; } private boolean drawTextOverImage(Graphics var1, Dimension var2, String var3, Font var4, Color var5, int var6, int var7, int var8, Color var9, int var10, boolean var11, boolean var12) { try { var1.setFont(var4); FontMetrics var13 = var1.getFontMetrics(var4); if (!var11) { var1.setColor(var9); for(int var14 = 0; var14 < var10; ++var14) { var1.drawRect(var14, var14, var2.width - var14 * 2 - 1, var2.height - var14 * 2 - 1); } this.field_3 = ocwordw.WrapText(var3, var2.width - var6 * 2 - var10 * 2, var13); } var1.setColor(var5); int var20 = var13.getHeight() * this.field_3.length + var13.getAscent() / 2; int var15 = var10; if (var7 == 1) { var15 = (var2.height - var20) / 2; } if (var7 == 2) { var15 = var2.height - var10 - var20; } for(int var16 = 0; var16 < this.field_3.length; ++var16) { int var17 = 0; int var18 = 0; if (var8 == 1) { var17 = var2.width / 2 - var13.stringWidth(this.field_3[var16]) / 2; var18 = var15 + (var16 + 1) * var13.getHeight(); if (var12) { var1.drawLine(var17 + 1, var18 + 1, var17 + var13.stringWidth(this.field_3[var16]) - 1, var18 + 1); } var1.drawString(this.field_3[var16], var17, var18); } else if (var8 == 0) { var17 = var6 + var10; var18 = var15 + (var16 + 1) * var13.getHeight(); if (var12) { var1.drawLine(var17 + 1, var18 + 1, var17 + var13.stringWidth(this.field_3[var16]) - 1, var18 + 1); } var1.drawString(this.field_3[var16], var17, var18); } else if (var8 == 2) { var17 = var2.width - (var13.stringWidth(this.field_3[var16]) + var6 + var10); var18 = var15 + (var16 + 1) * var13.getHeight(); var1.drawString(this.field_3[var16], var17, var18); } } return true; } catch (Exception var19) { return false; } } public boolean mouseExit(Event var1, int var2, int var3) { this.mouse_in = false; if (this.paused) { this.UndoHL(); this.paintIt(); } ((OCAviewerExtend)this).showStatus(this.m_offsbtext); return true; } static int getAlignValue(String var0) { if (!var0.equalsIgnoreCase("right") && !var0.equalsIgnoreCase("bottom")) { return var0.equalsIgnoreCase("center") ? 1 : 0; } else { return 2; } } public void paint(Graphics var1) { this.paintIt(); } public void DrawFade() { for(this.field_2 = 0; this.field_2 < this.num_msg; ++this.field_2) { this.g_off.setColor(this.m_cur_bgcolor[this.field_2]); this.g_off.fillRect(0, 0, this.field_1.width, this.field_1.height); this.drawTextOverImage(this.g_off, this.field_1, this.m_msg[this.field_2], this.m_cur_font[this.field_2], this.m_cur_textcolor[this.field_2], this.m_margin, this.m_cur_valign[this.field_2], this.m_cur_halign[this.field_2], this.m_cur_b_color[this.field_2], this.m_cur_b_thick[this.field_2], false, this.m_cur_underline[this.field_2]); this.figureFade(false, this.m_cur_textcolor[this.field_2], this.m_cur_bgcolor[this.field_2]); if (!this.mouse_in) { this.drawTextOverImage(this.g_off, this.field_1, this.m_msg[this.field_2], this.m_cur_font[this.field_2], this.m_cur_textcolor[this.field_2], this.m_margin, this.m_cur_valign[this.field_2], this.m_cur_halign[this.field_2], this.m_cur_b_color[this.field_2], this.m_cur_b_thick[this.field_2], false, this.m_cur_underline[this.field_2]); } this.paintIt(); this.pauseIt(); this.figureFade(true, this.m_cur_textcolor[this.field_2], this.m_cur_bgcolor[this.field_2]); while(this.mouse_in) { this.paused = true; try { Thread.sleep(100L); } catch (InterruptedException var4) { } if (!this.mouse_in) { try { Thread.sleep((long)this.m_mouse_delay); } catch (InterruptedException var3) { } this.paused = false; this.figureFade(true, this.m_cur_textcolor[this.field_2], this.m_cur_bgcolor[this.field_2]); } } Color var2 = this.m_cur_bgcolor[this.field_2]; Color var1; if (this.field_2 != this.num_msg - 1) { var1 = this.m_cur_bgcolor[this.field_2 + 1]; } else { var1 = this.m_cur_bgcolor[0]; } if (!var1.equals(var2) && this.m_fade_bg) { this.figureFadeBG(var2, var1); } } } private void figureFade(boolean var1, Color var2, Color var3) { int var4 = var2.getRed(); int var5 = var2.getGreen(); int var6 = var2.getBlue(); int var7 = var3.getRed(); int var8 = var3.getGreen(); int var9 = var3.getBlue(); int var10 = this.m_fadein_frames; if (var1) { var10 = this.m_fadeout_frames; } float var11 = (float)(var4 - var7) / (float)var10; float var12 = (float)(var5 - var8) / (float)var10; float var13 = (float)(var6 - var9) / (float)var10; if (var1) { for(int var23 = var10; var23 > 0; --var23) { if (this.mouse_in) { this.method_0(); this.paintIt(); return; } var4 = var7 + (int)((float)var23 * var11); var5 = var8 + (int)((float)var23 * var12); var6 = var9 + (int)((float)var23 * var13); this.drawTextOverImage(this.g_off, this.field_1, this.m_msg[this.field_2], this.m_cur_font[this.field_2], new Color(var4, var5, var6), this.m_margin, this.m_cur_valign[this.field_2], this.m_cur_halign[this.field_2], this.m_cur_b_color[this.field_2], this.m_cur_b_thick[this.field_2], true, this.m_cur_underline[this.field_2]); this.paintIt(); try { Thread.sleep((long)this.m_fadeout_delay); } catch (InterruptedException var15) { } } } else { for(int var14 = 0; var14 < var10; ++var14) { if (this.mouse_in) { this.method_0(); this.paintIt(); return; } var4 = var7 + (int)((float)var14 * var11); var5 = var8 + (int)((float)var14 * var12); var6 = var9 + (int)((float)var14 * var13); this.drawTextOverImage(this.g_off, this.field_1, this.m_msg[this.field_2], this.m_cur_font[this.field_2], new Color(var4, var5, var6), this.m_margin, this.m_cur_valign[this.field_2], this.m_cur_halign[this.field_2], this.m_cur_b_color[this.field_2], this.m_cur_b_thick[this.field_2], true, this.m_cur_underline[this.field_2]); this.paintIt(); try { Thread.sleep((long)this.m_fadein_delay); } catch (InterruptedException var16) { } } } } public boolean mouseUp(Event var1, int var2, int var3) { if (this.mouse_in && !this.m_cur_desturl[this.field_2].equals("-1")) { try { this.goURL = new URL(((OCAviewerExtend)this).getDocumentBase(), this.m_cur_desturl[this.field_2]); } catch (MalformedURLException var4) { } ((Applet)this).getAppletContext().showDocument(this.goURL, this.m_cur_loadwhere[this.field_2]); } return true; } public FadeText() { this.m_bgcolor = Color.white; this.m_textcolor = Color.black; this.m_loadwhere = "_self"; this.m_margin = 5; this.m_b_thick = 0; this.m_b_color = Color.black; this.m_fadein_frames = 50; this.m_fadeout_frames = 50; this.m_fadein_delay = 10; this.m_fadeout_delay = 10; this.m_font = new Font("Hevletica", 0, 12); this.m_valign = 1; this.m_halign = 1; this.m_fade_bg = true; this.m_underline = false; this.m_hltext_color = Color.blue; this.m_hlborder_color = Color.red; this.m_hllinksonly = true; this.m_fadebgframes = 50; this.m_fadebgdelay = 10; this.m_onsbtext = "OpenCube - Fading Messages"; this.m_offsbtext = "Java by OpenCube"; } public synchronized void paintIt() { try { Graphics var1 = ((Component)this).getGraphics(); if (!this.tag) { var1.setColor(Color.black); var1.drawString(this.m_onsbtext, 5, 30); } else { var1.drawImage(this.off, 0, 0, this); } } catch (Exception var2) { } } private void UndoHL() { this.drawTextOverImage(this.g_off, this.field_1, this.m_msg[this.field_2], this.m_cur_font[this.field_2], this.m_cur_textcolor[this.field_2], this.m_margin, this.m_cur_valign[this.field_2], this.m_cur_halign[this.field_2], this.m_cur_b_color[this.field_2], this.m_cur_b_thick[this.field_2], false, this.m_cur_underline[this.field_2]); } public void start() { if (this.m_SlidingM == null) { this.m_SlidingM = new Thread(this); this.m_SlidingM.start(); } } private void pauseIt() { this.paused = true; try { Thread.sleep((long)this.m_cur_delay[this.field_2]); } catch (InterruptedException var3) { } while(this.mouse_in) { try { Thread.sleep(100L); } catch (InterruptedException var2) { } if (!this.mouse_in) { try { Thread.sleep((long)this.m_mouse_delay); } catch (InterruptedException var1) { } } } this.paused = false; } public void run() { while(true) { if (this.tag) { if (this.first_run) { this.off = ((Component)this).createImage(this.field_1.width, this.field_1.height); this.g_off = this.off.getGraphics(); this.first_run = false; } this.DrawFade(); } else { this.paintIt(); this.stop(); } try { Thread.sleep(100L); } catch (InterruptedException var1) { } } } public void init() { String var1 = "Fading Messages, Copyright (c) 1999, OpenCube Inc."; this.field_1 = ((Component)this).size(); int var3 = 0; 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("onsbtext"); if (var2 != null) { this.m_onsbtext = var2; } var2 = ((OCAviewerExtend)this).getParameter("offsbtext"); if (var2 != null) { this.m_offsbtext = var2; } var2 = ((OCAviewerExtend)this).getParameter("loadwhere"); if (var2 != null) { this.m_loadwhere = var2; } var2 = ((OCAviewerExtend)this).getParameter("font"); if (var2 != null) { this.m_font = ocfontc.getFontSD(var2, ","); } var2 = ((OCAviewerExtend)this).getParameter("delay"); if (var2 != null) { this.m_delay = Integer.parseInt(var2); } var2 = ((OCAviewerExtend)this).getParameter("mouseoffdelay"); if (var2 != null) { this.m_mouse_delay = Integer.parseInt(var2); } var2 = ((OCAviewerExtend)this).getParameter("fadeindelay"); if (var2 != null) { this.m_fadein_delay = Integer.parseInt(var2); } var2 = ((OCAviewerExtend)this).getParameter("fadeoutdelay"); if (var2 != null) { this.m_fadeout_delay = Integer.parseInt(var2); } var2 = ((OCAviewerExtend)this).getParameter("fadebg"); if (var2 != null) { this.m_fade_bg = Boolean.valueOf(var2); } var2 = ((OCAviewerExtend)this).getParameter("underlinetext"); if (var2 != null) { this.m_underline = Boolean.valueOf(var2); } var2 = ((OCAviewerExtend)this).getParameter("hllinksonly"); if (var2 != null) { this.m_hllinksonly = Boolean.valueOf(var2); } var2 = ((OCAviewerExtend)this).getParameter("fadebgdelay"); if (var2 != null) { this.m_fadebgdelay = Integer.parseInt(var2); } var2 = ((OCAviewerExtend)this).getParameter("fadbgframes"); if (var2 != null) { this.m_fadebgframes = Integer.parseInt(var2); } var2 = ((OCAviewerExtend)this).getParameter("fadeinframes"); if (var2 != null) { this.m_fadein_frames = Integer.parseInt(var2); } var2 = ((OCAviewerExtend)this).getParameter("fadeoutframes"); if (var2 != null) { this.m_fadeout_frames = Integer.parseInt(var2); } var2 = ((OCAviewerExtend)this).getParameter("lrmargin"); if (var2 != null) { this.m_margin = Integer.parseInt(var2); } var2 = ((OCAviewerExtend)this).getParameter("borderthickness"); if (var2 != null) { this.m_b_thick = Integer.parseInt(var2); } var2 = ((OCAviewerExtend)this).getParameter("font"); if (var2 != null) { this.m_messagefont = var2; } var2 = ((OCAviewerExtend)this).getParameter("hltextcolor"); if (var2 != null) { this.m_hltext_color = occcolor.ConvertColor(var2); } var2 = ((OCAviewerExtend)this).getParameter("hlbordercolor"); if (var2 != null) { this.m_hlborder_color = occcolor.ConvertColor(var2); } var2 = ((OCAviewerExtend)this).getParameter("textcolor"); if (var2 != null) { this.m_textcolor = occcolor.ConvertColor(var2); } var2 = ((OCAviewerExtend)this).getParameter("bgcolor"); if (var2 != null) { this.m_bgcolor = occcolor.ConvertColor(var2); ((Component)this).setBackground(this.m_bgcolor); } else { this.m_bgcolor = Color.white; ((Component)this).setBackground(this.m_bgcolor); } var2 = ((OCAviewerExtend)this).getParameter("bordercolor"); if (var2 != null) { this.m_b_color = occcolor.ConvertColor(var2); } var2 = ((OCAviewerExtend)this).getParameter("valign"); if (var2 != null) { this.m_valign = getAlignValue(var2); } var2 = ((OCAviewerExtend)this).getParameter("halign"); if (var2 != null) { this.m_halign = getAlignValue(var2); } while(((OCAviewerExtend)this).getParameter("desc" + var3) != null) { ++var3; ++this.num_msg; } if (this.num_msg < 1) { this.num_msg = 1; this.bad_descrips = true; } this.m_msg = new String[this.num_msg]; this.m_cur_underline = new boolean[this.num_msg]; this.m_cur_font = new Font[this.num_msg]; this.m_cur_textcolor = new Color[this.num_msg]; this.m_cur_bgcolor = new Color[this.num_msg]; this.m_cur_delay = new int[this.num_msg]; this.m_cur_desturl = new String[this.num_msg]; this.m_cur_loadwhere = new String[this.num_msg]; this.m_cur_b_color = new Color[this.num_msg]; this.m_cur_b_thick = new int[this.num_msg]; this.m_cur_valign = new int[this.num_msg]; this.m_cur_halign = new int[this.num_msg]; for(int var42 = 0; var42 < this.num_msg; ++var42) { var2 = ((OCAviewerExtend)this).getParameter("desc" + var42); if (var2 != null) { this.m_msg[var42] = new String(var2); } else { this.m_msg[var42] = new String(" "); } var2 = ((OCAviewerExtend)this).getParameter("underlinetext" + var42); if (var2 != null) { this.m_cur_underline[var42] = Boolean.valueOf(var2); } else { this.m_cur_underline[var42] = this.m_underline; } var2 = ((OCAviewerExtend)this).getParameter("font" + var42); if (var2 != null) { this.m_cur_font[var42] = ocfontc.getFontSD(var2, ","); } else { this.m_cur_font[var42] = this.m_font; } var2 = ((OCAviewerExtend)this).getParameter("textcolor" + var42); if (var2 != null) { this.m_cur_textcolor[var42] = occcolor.ConvertColor(var2); } else { this.m_cur_textcolor[var42] = this.m_textcolor; } var2 = ((OCAviewerExtend)this).getParameter("bgcolor" + var42); if (var2 != null) { this.m_cur_bgcolor[var42] = occcolor.ConvertColor(var2); } else { this.m_cur_bgcolor[var42] = this.m_bgcolor; } var2 = ((OCAviewerExtend)this).getParameter("delay" + var42); if (var2 != null) { this.m_cur_delay[var42] = Integer.parseInt(var2); } else { this.m_cur_delay[var42] = this.m_delay; } var2 = ((OCAviewerExtend)this).getParameter("desturl" + var42); if (var2 != null) { this.m_cur_desturl[var42] = var2; } else { this.m_cur_desturl[var42] = "-1"; } var2 = ((OCAviewerExtend)this).getParameter("loadwhere" + var42); if (var2 != null) { this.m_cur_loadwhere[var42] = var2; } else { this.m_cur_loadwhere[var42] = this.m_loadwhere; } var2 = ((OCAviewerExtend)this).getParameter("valign" + var42); if (var2 != null) { this.m_cur_valign[var42] = getAlignValue(var2); } else { this.m_cur_valign[var42] = this.m_valign; } var2 = ((OCAviewerExtend)this).getParameter("halign" + var42); if (var2 != null) { this.m_cur_halign[var42] = getAlignValue(var2); } else { this.m_cur_halign[var42] = this.m_valign; } var2 = ((OCAviewerExtend)this).getParameter("bordercolor" + var42); if (var2 != null) { this.m_cur_b_color[var42] = occcolor.ConvertColor(var2); } else { this.m_cur_b_color[var42] = this.m_b_color; } var2 = ((OCAviewerExtend)this).getParameter("borderthickness" + var42); if (var2 != null) { this.m_cur_b_thick[var42] = Integer.parseInt(var2); } else { this.m_cur_b_thick[var42] = this.m_b_thick; } } if (this.bad_descrips) { this.m_msg[0] = "Must include 'desc0' tag at a minimum in order for this applet to function."; this.m_cur_delay[0] = 30000; } ((Component)this).setFont(this.m_font); this.field_0 = ((Component)this).getFontMetrics(this.m_font); } } } // $FF: renamed from: HL () void private void method_0() { Color var1 = this.m_cur_textcolor[this.field_2]; if (!this.m_hllinksonly) { var1 = this.m_hltext_color; } else if (!this.m_cur_desturl[this.field_2].equals("-1")) { var1 = this.m_hltext_color; } this.drawTextOverImage(this.g_off, this.field_1, this.m_msg[this.field_2], this.m_cur_font[this.field_2], var1, this.m_margin, this.m_cur_valign[this.field_2], this.m_cur_halign[this.field_2], this.m_hlborder_color, this.m_cur_b_thick[this.field_2], false, this.m_cur_underline[this.field_2]); } private void figureFadeBG(Color var1, Color var2) { int var3 = var1.getRed(); int var4 = var1.getGreen(); int var5 = var1.getBlue(); int var6 = var2.getRed(); int var7 = var2.getGreen(); int var8 = var2.getBlue(); float var9 = (float)(var3 - var6) / (float)this.m_fadebgframes; float var10 = (float)(var4 - var7) / (float)this.m_fadebgframes; float var11 = (float)(var5 - var8) / (float)this.m_fadebgframes; for(int var12 = this.m_fadebgframes; var12 > 0; --var12) { var3 = var6 + (int)((float)var12 * var9); var4 = var7 + (int)((float)var12 * var10); var5 = var8 + (int)((float)var12 * var11); this.g_off.setColor(new Color(var3, var4, var5)); int var13 = this.m_cur_b_thick[this.field_2]; this.g_off.fillRect(var13, var13, this.field_1.width - var13 * 2, this.field_1.height - var13 * 2); this.paintIt(); try { Thread.sleep((long)this.m_fadebgdelay); } catch (InterruptedException var14) { } } } }