home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1996 October / PCO_10.ISO / filesbbs / liquid.arj / SCROLL_1.CL_ / SCROLL_1.CL (.txt)
Encoding:
Java Class File  |  1996-06-04  |  3.8 KB  |  159 lines

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Event;
  5. import java.awt.Font;
  6. import java.awt.FontMetrics;
  7. import java.awt.Graphics;
  8. import java.awt.Image;
  9. import java.awt.image.ImageObserver;
  10.  
  11. public class Scroll_1 extends Applet implements Runnable {
  12.    String input_text;
  13.    int xpos = 400;
  14.    int realLength;
  15.    int realHeight;
  16.    int width = 400;
  17.    int height = 40;
  18.    int velocity = 5;
  19.    int fontstyle;
  20.    boolean suspended = false;
  21.    String[] fonts = new String[]{"Helvetic", "TimesRoman", "Courier", "Dialog", "DialogInput", "ZapfDingBats"};
  22.    Font font;
  23.    Color color;
  24.    Color forecolour;
  25.    Color backcolour;
  26.    Thread killme;
  27.    // $FF: renamed from: im java.awt.Image
  28.    Image field_0;
  29.    Graphics osGraphics;
  30.  
  31.    public void init() {
  32.       String var1 = ((Applet)this).getParameter("text");
  33.       this.input_text = var1 == null ? "No text" : var1;
  34.       var1 = ((Applet)this).getParameter("copyright");
  35.       if (var1 == null) {
  36.          this.input_text = "Liquid Fx Applet must be Registered liquidfx@ozemail.com.au";
  37.       } else if (var1.compareTo("LiquidFx") > 0) {
  38.          this.input_text = "Liquid Fx Applet must be Registered liquidfx@ozemail.com.au";
  39.       }
  40.  
  41.       var1 = ((Applet)this).getParameter("width");
  42.       this.width = var1 != null ? Integer.parseInt(var1) : 400;
  43.       var1 = ((Applet)this).getParameter("height");
  44.       this.height = var1 != null ? Integer.parseInt(var1) : 40;
  45.       var1 = ((Applet)this).getParameter("fontsize");
  46.       int var2 = var1 != null ? Integer.parseInt(var1) : 24;
  47.       var1 = ((Applet)this).getParameter("fontstyle");
  48.       int var3 = var1 != null ? Integer.parseInt(var1) : 1;
  49.       this.fontstyle = 0;
  50.       if ((var3 & 1) > 0) {
  51.          this.fontstyle += 0;
  52.       }
  53.  
  54.       if ((var3 & 2) > 0) {
  55.          ++this.fontstyle;
  56.       }
  57.  
  58.       if ((var3 & 4) > 0) {
  59.          this.fontstyle += 2;
  60.       }
  61.  
  62.       var1 = ((Applet)this).getParameter("font");
  63.       int var4 = var1 != null ? Integer.parseInt(var1) : 0;
  64.       if (var4 < 0 || var4 > 5) {
  65.          var4 = 0;
  66.       }
  67.  
  68.       this.font = new Font(this.fonts[var4], this.fontstyle, var2);
  69.       var1 = ((Applet)this).getParameter("velocity");
  70.       this.velocity = var1 != null ? Integer.parseInt(var1) : 5;
  71.       var1 = ((Applet)this).getParameter("forecolour");
  72.       int var5 = var1 != null ? Integer.parseInt(var1) : 255;
  73.       int var6 = var5 & 255;
  74.       int var7 = (var5 & '\uff00') >> 8;
  75.       int var8 = (var5 & 16711680) >>> 16;
  76.       this.forecolour = new Color(var6, var7, var8);
  77.       var1 = ((Applet)this).getParameter("backcolour");
  78.       var5 = var1 != null ? Integer.parseInt(var1) : 255;
  79.       var6 = var5 & 255;
  80.       var7 = (var5 & '\uff00') >> 8;
  81.       var8 = (var5 & 16711680) >>> 16;
  82.       this.backcolour = new Color(var6, var7, var8);
  83.       this.field_0 = ((Component)this).createImage(((Component)this).size().width, ((Component)this).size().height);
  84.       this.osGraphics = this.field_0.getGraphics();
  85.    }
  86.  
  87.    public void paint(Graphics var1) {
  88.       this.paintText(this.osGraphics);
  89.       var1.drawImage(this.field_0, 0, 0, (ImageObserver)null);
  90.    }
  91.  
  92.    public void paintText(Graphics var1) {
  93.       var1.setColor(this.backcolour);
  94.       var1.fillRect(0, 0, this.width, this.height);
  95.       var1.clipRect(0, 0, this.width, this.height);
  96.       var1.setFont(this.font);
  97.       var1.setColor(this.forecolour);
  98.       FontMetrics var2 = var1.getFontMetrics();
  99.       this.realLength = var2.stringWidth(this.input_text);
  100.       this.realHeight = var2.getHeight();
  101.       var1.drawString(this.input_text, this.xpos, (this.height + this.realHeight) / 2);
  102.    }
  103.  
  104.    public void start() {
  105.       if (this.killme == null) {
  106.          this.killme = new Thread(this);
  107.          this.killme.start();
  108.       }
  109.  
  110.    }
  111.  
  112.    public void setcoord() {
  113.       this.xpos -= this.velocity;
  114.       if (this.xpos < -this.realLength) {
  115.          this.xpos = this.width;
  116.       }
  117.  
  118.    }
  119.  
  120.    public void run() {
  121.       while(this.killme != null) {
  122.          try {
  123.             Thread.sleep(10L);
  124.          } catch (InterruptedException var1) {
  125.          }
  126.  
  127.          this.setcoord();
  128.          ((Component)this).repaint();
  129.       }
  130.  
  131.    }
  132.  
  133.    public void update(Graphics var1) {
  134.       this.paint(var1);
  135.    }
  136.  
  137.    public boolean handleEvent(Event var1) {
  138.       if (var1.id == 501) {
  139.          if (this.suspended) {
  140.             this.killme.resume();
  141.          } else {
  142.             this.killme.suspend();
  143.          }
  144.  
  145.          this.suspended = !this.suspended;
  146.       }
  147.  
  148.       return true;
  149.    }
  150.  
  151.    public void stop() {
  152.       if (this.killme != null) {
  153.          this.killme.stop();
  154.       }
  155.  
  156.       this.killme = null;
  157.    }
  158. }
  159.