home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Event;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.MediaTracker;
- import java.awt.image.CropImageFilter;
- import java.awt.image.FilteredImageSource;
- import java.awt.image.ImageObserver;
- import java.awt.image.MemoryImageSource;
- import java.awt.image.PixelGrabber;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.StringTokenizer;
- import java.util.Vector;
-
- public class ActiveMap extends Applet {
- boolean correctHost = false;
- String realHost = "software.sensenet.com";
- String thisHost = "";
- int cStandard;
- int cExclusive = 1;
- int cStayon = 2;
- int cStayactive = 3;
- int style;
- private Color bgcolor;
- private Image normal;
- private int linkTotal;
- private Vector links;
- private Image bufferimage;
- private Graphics bufferscreen;
-
- public Image getImage(URL var1) {
- Image var2 = super.getImage(var1);
- if (var2 == null) {
- return null;
- } else {
- MediaTracker var3 = new MediaTracker(this);
- var3.addImage(var2, 0);
-
- try {
- var3.waitForID(0);
- } catch (InterruptedException var10) {
- }
-
- int var4 = var2.getWidth(this);
- int var5 = var2.getHeight(this);
- int[] var6 = new int[var4 * var5];
- PixelGrabber var7 = new PixelGrabber(var2, 0, 0, var4, var5, var6, 0, var4);
-
- try {
- var7.grabPixels();
- } catch (Exception var9) {
- }
-
- MemoryImageSource var8 = new MemoryImageSource(var4, var5, var6, 0, var4);
- return ((Component)this).createImage(var8);
- }
- }
-
- public Image getImage(URL var1, String var2) {
- try {
- return this.getImage(new URL(var1, var2));
- } catch (MalformedURLException var3) {
- return null;
- }
- }
-
- public void init() {
- this.thisHost = ((Applet)this).getCodeBase().getHost();
- if (this.thisHost.length() == 0) {
- this.thisHost = "localhost";
- this.correctHost = true;
- } else if (this.realHost.equals(this.thisHost)) {
- this.correctHost = true;
- } else if (this.realHost.equals("www." + this.thisHost)) {
- this.correctHost = true;
- } else if (this.realHost.equals("www." + this.thisHost + ".com")) {
- this.correctHost = true;
- }
-
- this.dbg("-");
- this.dbg("ActiveMap v1.0");
- this.dbg("Copyright (c) 1996 Sensenet, Inc.");
- this.dbg("Authorized for \"" + this.realHost + "\"");
- this.dbg("Running on \"" + this.thisHost + "\"");
- Image var1 = null;
- Image var2 = null;
- String var3 = "-";
- String var4 = ((Applet)this).getParameter("style");
- if (var4 == null) {
- this.style = this.cStandard;
- } else if (var4.equals("exclusive")) {
- this.style = this.cExclusive;
- } else if (var4.equals("stayon")) {
- this.style = this.cStayon;
- } else if (var4.equals("stayactive")) {
- this.style = this.cStayactive;
- }
-
- try {
- String var5 = ((Applet)this).getParameter("frame");
- if (var5 != null) {
- var3 = var5;
- }
-
- String var6 = ((Applet)this).getParameter("background");
- if (var6 == null) {
- var6 = "";
- }
-
- StringTokenizer var7 = new StringTokenizer(var6, "|");
- if (var7.hasMoreTokens()) {
- String var8 = var7.nextToken();
- if (var8.indexOf(46) != -1) {
- this.normal = this.getImage(new URL(((Applet)this).getDocumentBase(), var8));
- } else {
- this.bgcolor = GetColor(var8);
- }
- }
-
- if (var7.hasMoreTokens()) {
- String var36 = var7.nextToken();
- if (var36.indexOf(46) != -1) {
- this.normal = this.getImage(new URL(((Applet)this).getDocumentBase(), var36));
- } else {
- this.bgcolor = GetColor(var36);
- }
- }
-
- String var37 = ((Applet)this).getParameter("active_image");
- if (var37 != null) {
- var1 = this.getImage(new URL(((Applet)this).getDocumentBase(), var37));
- }
-
- String var9 = ((Applet)this).getParameter("on_image");
- if (var9 != null) {
- var2 = this.getImage(new URL(((Applet)this).getDocumentBase(), var9));
- }
-
- ((Applet)this).showStatus("Loading images...");
- MediaTracker var10 = new MediaTracker(this);
- if (this.normal != null) {
- var10.addImage(this.normal, 0);
- }
-
- if (var1 != null) {
- var10.addImage(var1, 0);
- }
-
- if (var2 != null) {
- var10.addImage(var2, 0);
- }
-
- var10.waitForAll();
- ((Component)this).repaint();
- } catch (Exception var28) {
- this.dbg("init1: " + ((Throwable)var28).toString());
- }
-
- try {
- while(true) {
- int var30 = 0;
- int var32 = 0;
- int var34 = 0;
- int var38 = 0;
- URL var39 = null;
- String var40 = var3;
- String var11 = "-";
- int var12 = 0;
- int var13 = 0;
- String var14 = "";
- String var15 = "#000000";
- int var16 = 0;
- int var17 = 0;
- Image var18 = null;
- String var19 = ((Applet)this).getParameter("link" + (this.linkTotal + 1));
- if (var19 == null) {
- break;
- }
-
- StringTokenizer var20 = new StringTokenizer(var19, "|");
- if (var20.hasMoreTokens()) {
- StringTokenizer var21 = new StringTokenizer(var20.nextToken(), ",");
- if (var21.hasMoreTokens()) {
- var30 = Integer.parseInt(var21.nextToken());
- }
-
- if (var21.hasMoreTokens()) {
- var32 = Integer.parseInt(var21.nextToken());
- }
-
- if (var21.hasMoreTokens()) {
- var34 = Integer.parseInt(var21.nextToken()) - var30;
- }
-
- if (var21.hasMoreTokens()) {
- var38 = Integer.parseInt(var21.nextToken()) - var32;
- }
- }
-
- if (var20.hasMoreTokens()) {
- var39 = new URL(((Applet)this).getDocumentBase(), var20.nextToken());
- }
-
- if (var20.hasMoreTokens()) {
- var40 = var20.nextToken();
- }
-
- if (var20.hasMoreTokens()) {
- var11 = var20.nextToken();
- }
-
- CropImageFilter var45 = new CropImageFilter(var30, var32, var34, var38);
- Image var22 = var1 == null ? null : ((Component)this).createImage(new FilteredImageSource(var1.getSource(), var45));
- Image var23 = var2 == null ? null : ((Component)this).createImage(new FilteredImageSource(var2.getSource(), var45));
- ActiveMapLink var24 = new ActiveMapLink(this, var30, var32, var34, var38);
- var24.SetImages(var22, var23);
- var24.SetInfo(var39, var40, var11);
- var19 = ((Applet)this).getParameter("text" + (this.linkTotal + 1));
- if (var19 != null) {
- var20 = new StringTokenizer(var19, "|");
- if (var20.hasMoreTokens()) {
- StringTokenizer var25 = new StringTokenizer(var20.nextToken(), ",");
- if (var25.hasMoreTokens()) {
- var12 = Integer.parseInt(var25.nextToken());
- }
-
- if (var25.hasMoreTokens()) {
- var13 = Integer.parseInt(var25.nextToken());
- }
- }
-
- if (var20.hasMoreTokens()) {
- var14 = var20.nextToken();
- }
-
- if (var20.hasMoreTokens()) {
- var15 = var20.nextToken();
- }
-
- var24.SetText(var12, var13, var14, GetColor(var15));
- }
-
- var19 = ((Applet)this).getParameter("image" + (this.linkTotal + 1));
- if (var19 != null) {
- var20 = new StringTokenizer(var19, "|");
- if (var20.hasMoreTokens()) {
- StringTokenizer var46 = new StringTokenizer(var20.nextToken(), ",");
- if (var46.hasMoreTokens()) {
- var16 = Integer.parseInt(var46.nextToken());
- }
-
- if (var46.hasMoreTokens()) {
- var17 = Integer.parseInt(var46.nextToken());
- }
- }
-
- if (var20.hasMoreTokens()) {
- URL var47 = new URL(((Applet)this).getDocumentBase(), var20.nextToken());
- var18 = this.getImage(var47);
- }
-
- ((Applet)this).showStatus("Loading images...");
- MediaTracker var48 = new MediaTracker(this);
- if (var18 != null) {
- var48.addImage(var18, 0);
- }
-
- var48.waitForAll();
- var24.SetImage(var16, var17, var18);
- ((Component)this).repaint();
- }
-
- this.links.addElement(var24);
- ++this.linkTotal;
- }
- } catch (Exception var29) {
- this.dbg("init2 : " + ((Throwable)var29).toString());
- }
-
- String var31 = ((Applet)this).getParameter("ison");
- if (var31 != null) {
- try {
- int var33 = Integer.parseInt(var31) - 1;
- ActiveMapLink var35 = (ActiveMapLink)this.links.elementAt(var33);
- if (var35 != null) {
- var35.SetOn();
- }
- } catch (Exception var27) {
- this.dbg("init3 : " + ((Throwable)var27).toString());
- }
- }
-
- try {
- if (this.bufferimage == null) {
- this.bufferimage = ((Component)this).createImage(((Component)this).size().width, ((Component)this).size().height);
- this.bufferscreen = this.bufferimage.getGraphics();
- }
- } catch (Exception var26) {
- this.bufferscreen = null;
- }
-
- ((Component)this).repaint();
- }
-
- public void paint(Graphics var1) {
- if (!this.correctHost) {
- var1.setColor(Color.black);
- var1.fillRect(0, 0, ((Component)this).size().width, ((Component)this).size().height);
- var1.setColor(Color.white);
- var1.drawString("Registered to " + this.realHost, 20, 20);
- var1.drawString("Running on " + this.thisHost, 20, 36);
- } else {
- var1.setColor(this.bgcolor);
- var1.fillRect(0, 0, ((Component)this).size().width, ((Component)this).size().height);
- if (this.normal != null) {
- var1.drawImage(this.normal, 0, 0, this);
- }
-
- for(int var2 = 0; var2 < this.linkTotal; ++var2) {
- ((ActiveMapLink)this.links.elementAt(var2)).Draw(var1);
- }
-
- }
- }
-
- public void update(Graphics var1) {
- if (this.bufferscreen != null) {
- this.paint(this.bufferscreen);
- var1.drawImage(this.bufferimage, 0, 0, (ImageObserver)null);
- } else {
- this.paint(var1);
- }
- }
-
- public boolean mouseExit(Event var1, int var2, int var3) {
- if (!this.correctHost) {
- return true;
- } else {
- for(int var4 = 0; var4 < this.linkTotal; ++var4) {
- ((ActiveMapLink)this.links.elementAt(var4)).DoMouseExit();
- }
-
- ((Component)this).repaint();
- ((Applet)this).showStatus("");
- return true;
- }
- }
-
- public boolean mouseDown(Event var1, int var2, int var3) {
- if (!this.correctHost) {
- return true;
- } else {
- for(int var4 = 0; var4 < this.linkTotal; ++var4) {
- ActiveMapLink var5 = (ActiveMapLink)this.links.elementAt(var4);
- if (var5.MouseHit(var2, var3)) {
- var5.DoMouseDown();
- } else {
- var5.DoMouseUp();
- }
- }
-
- ((Component)this).repaint();
- return true;
- }
- }
-
- public boolean mouseMove(Event var1, int var2, int var3) {
- if (!this.correctHost) {
- return false;
- } else {
- for(int var4 = 0; var4 < this.linkTotal; ++var4) {
- ActiveMapLink var5 = (ActiveMapLink)this.links.elementAt(var4);
- if (var5.MouseHit(var2, var3)) {
- var5.DoMouseEnter();
- } else {
- var5.DoMouseExit();
- }
- }
-
- ((Component)this).repaint();
- return false;
- }
- }
-
- public static Color GetColor(String var0) {
- if (var0 == null) {
- return Color.black;
- } else {
- if (var0.startsWith("#")) {
- var0 = var0.substring(1);
- }
-
- try {
- return new Color(Integer.parseInt(var0, 16));
- } catch (NumberFormatException var1) {
- return Color.black;
- }
- }
- }
-
- void dbg(String var1) {
- System.out.println(var1);
- }
-
- public ActiveMap() {
- this.style = this.cStandard;
- this.bgcolor = Color.black;
- this.links = new Vector(8, 2);
- }
- }
-