home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1998 October / DPPCPRO1098.ISO / Hotdog / files / snagpack.exe / SPREAD.CLASS (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-21  |  5.1 KB  |  256 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.FontMetrics;
  6. import java.awt.Graphics;
  7. import java.awt.Image;
  8.  
  9. public class spread extends Applet implements Runnable {
  10.    private Thread engineThread;
  11.    private String lbl;
  12.    private char[] label;
  13.    private int stringLen;
  14.    private int count;
  15.    private int loop;
  16.    private myFont font;
  17.    private boolean userPause;
  18.    private boolean start = true;
  19.    private int num_gaps;
  20.    private int widthInc;
  21.    private int incx = 5;
  22.    private int movex;
  23.    private int stepx = 1;
  24.    private int min_x = 5;
  25.    private int min_x_count;
  26.    private int fontsize;
  27.    private int bred;
  28.    private int bgreen;
  29.    private int bblue;
  30.    private int fred;
  31.    private int fgreen;
  32.    private int fblue;
  33.    private int red = 255;
  34.    private int blue;
  35.    private int green;
  36.    private int fade;
  37.    private int jump_char;
  38.    private int char_up = -1;
  39.    private int movey;
  40.    private boolean doneMove;
  41.    private boolean yUp = true;
  42.    private boolean goingUp = true;
  43.    private boolean stayDown;
  44.    private boolean readyToPaint;
  45.    private boolean spreadOut = true;
  46.    // $FF: renamed from: x int
  47.    private int field_0;
  48.    // $FF: renamed from: y int
  49.    private int field_1;
  50.    private int org_y;
  51.    private int sleepTime;
  52.    // $FF: renamed from: fm java.awt.FontMetrics
  53.    private FontMetrics field_2;
  54.    private Image offImage;
  55.    private Graphics offGraphics;
  56.    private boolean matched;
  57.    private boolean unreg = true;
  58.    private boolean debug;
  59.  
  60.    public void stop() {
  61.       if (this.engineThread != null && this.engineThread.isAlive()) {
  62.          this.engineThread.stop();
  63.       }
  64.  
  65.       this.engineThread = null;
  66.    }
  67.  
  68.    private void prePaint(Graphics var1) {
  69.       var1.setColor(new Color(this.bred, this.bgreen, this.bblue));
  70.       var1.fillRect(0, 0, ((Component)this).size().width, ((Component)this).size().height);
  71.       var1.setColor(new Color(this.red, this.green, this.blue));
  72.       var1.setFont(this.font);
  73.       this.field_2 = var1.getFontMetrics();
  74.       if (this.start) {
  75.          this.field_0 = ((Component)this).size().width / 2 - this.field_2.stringWidth(this.lbl) / 2;
  76.          this.movex = this.field_0;
  77.          this.widthInc = 0;
  78.          this.start = false;
  79.          this.incx = 0;
  80.          this.min_x_count = this.min_x;
  81.       }
  82.  
  83.       for(int var2 = 0; var2 < this.stringLen; ++var2) {
  84.          var1.drawChars(this.label, var2, 1, this.movex, this.field_1);
  85.          this.movex += this.field_2.charWidth(this.label[var2]) + this.incx;
  86.       }
  87.  
  88.       if (this.spreadOut) {
  89.          this.incx += this.stepx;
  90.          this.widthInc += this.stepx * this.num_gaps;
  91.          this.movex = this.field_0 - this.widthInc / 2;
  92.          this.min_x_count += -1;
  93.       } else {
  94.          this.incx -= this.stepx;
  95.          this.widthInc -= this.stepx * this.num_gaps;
  96.          this.movex = this.field_0 - this.widthInc / 2;
  97.          ++this.min_x_count;
  98.       }
  99.  
  100.       if (this.min_x_count <= 0) {
  101.          this.spreadOut = false;
  102.       } else if (this.min_x_count >= this.min_x) {
  103.          this.spreadOut = true;
  104.       }
  105.  
  106.    }
  107.  
  108.    public void paint(Graphics var1) {
  109.       if (this.offGraphics != null) {
  110.          this.prePaint(this.offGraphics);
  111.          var1.drawImage(this.offImage, 0, 0, this);
  112.       } else {
  113.          this.prePaint(var1);
  114.       }
  115.  
  116.    }
  117.  
  118.    private void dbg(String var1) {
  119.       if (this.debug) {
  120.          System.out.println(var1);
  121.       }
  122.  
  123.    }
  124.  
  125.    public void update(Graphics var1) {
  126.       if (this.readyToPaint) {
  127.          this.paint(var1);
  128.       }
  129.  
  130.    }
  131.  
  132.    public void start() {
  133.       if (this.engineThread == null) {
  134.          this.engineThread = new Thread(this);
  135.       }
  136.  
  137.       this.engineThread.start();
  138.    }
  139.  
  140.    public String getAppletInfo() {
  141.       return "Swami - spread.class v1.0 Copyright Sausage SoftWare 1996";
  142.    }
  143.  
  144.    public void run() {
  145.       Thread.currentThread().setPriority(1);
  146.       this.readyToPaint = true;
  147.  
  148.       while(true) {
  149.          if (this.unreg) {
  150.             ((Applet)this).getAppletContext().showStatus("Unregistered version. Copyright (c) Sausage Software 1996");
  151.          }
  152.  
  153.          ((Component)this).repaint();
  154.  
  155.          try {
  156.             Thread.sleep((long)this.sleepTime);
  157.          } catch (Exception var1) {
  158.          }
  159.       }
  160.    }
  161.  
  162.    public void init() {
  163.       String var1 = ((Applet)this).getParameter("font");
  164.       Object var2 = null;
  165.       String var17 = myFont.getFontName(var1);
  166.       this.dbg(var17);
  167.       int var3 = 12;
  168.       int var4 = 0;
  169.       var1 = ((Applet)this).getParameter("fontsize");
  170.       if (var1 != null) {
  171.          var3 = Integer.parseInt(var1);
  172.       }
  173.  
  174.       var1 = ((Applet)this).getParameter("style");
  175.       var4 = myFont.getFontStyle(var1);
  176.       this.font = new myFont(var17, var4, var3);
  177.       var1 = ((Applet)this).getParameter("text");
  178.       this.lbl = var1 == null ? "Sausage Software" : var1;
  179.       this.label = this.lbl.toCharArray();
  180.       this.stringLen = this.lbl.length();
  181.       this.num_gaps = this.stringLen - 1;
  182.       String var5 = ((Applet)this).getParameter("reguser");
  183.       if (var5 == null) {
  184.          ver.NotRegistered();
  185.       }
  186.  
  187.       if (var5.toLowerCase().equals("unregistered")) {
  188.          this.unreg = true;
  189.       } else {
  190.          this.unreg = false;
  191.       }
  192.  
  193.       String var6 = ((Applet)this).getParameter("serialid");
  194.       if (var6 == null) {
  195.          ver.NotRegistered();
  196.       }
  197.  
  198.       ver var7 = new ver(var5, var6);
  199.       this.matched = var7.verifyUser(this.lbl);
  200.       if (!this.matched) {
  201.          ver.NotRegistered();
  202.       }
  203.  
  204.       var1 = ((Applet)this).getParameter("spreadDist");
  205.       this.min_x = var1 == null ? 5 : Integer.parseInt(var1);
  206.       this.min_x_count = this.min_x;
  207.       var1 = ((Applet)this).getParameter("color");
  208.       if (var1 != null) {
  209.          createColor var8 = new createColor(var1, ",");
  210.          var8.getColor();
  211.          this.red = var8.getRed();
  212.          this.green = var8.getGreen();
  213.          this.blue = var8.getBlue();
  214.       }
  215.  
  216.       var1 = ((Applet)this).getParameter("background");
  217.       if (var1 != null) {
  218.          createColor var19 = new createColor(var1, ",");
  219.          var19.getColor();
  220.          this.bred = var19.getRed();
  221.          this.bgreen = var19.getGreen();
  222.          this.bblue = var19.getBlue();
  223.       }
  224.  
  225.       var1 = ((Applet)this).getParameter("speed");
  226.       this.sleepTime = var1 == null ? 0 : Integer.parseInt(var1);
  227.  
  228.       try {
  229.          this.offImage = ((Component)this).createImage(((Component)this).size().width, ((Component)this).size().height);
  230.          this.offGraphics = this.offImage.getGraphics();
  231.       } catch (Exception var9) {
  232.          this.offGraphics = null;
  233.       }
  234.  
  235.       this.field_1 = ((Component)this).size().height / 2 + var3 / 2;
  236.       this.movey = this.org_y = this.field_1;
  237.    }
  238.  
  239.    public boolean handleEvent(Event var1) {
  240.       if (var1.id == 501) {
  241.          if (this.userPause) {
  242.             this.engineThread.resume();
  243.          } else {
  244.             this.engineThread.suspend();
  245.          }
  246.  
  247.          this.userPause = !this.userPause;
  248.       } else if (var1.id == 201) {
  249.          this.stop();
  250.          System.exit(0);
  251.       }
  252.  
  253.       return true;
  254.    }
  255. }
  256.