home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1998 October / DPPCPRO1098.ISO / Hotdog / files / snagpack.exe / CREDITS.CLASS (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-21  |  5.3 KB  |  259 lines

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Dimension;
  5. import java.awt.Event;
  6. import java.awt.FontMetrics;
  7. import java.awt.Graphics;
  8. import java.awt.Image;
  9. import java.util.Vector;
  10.  
  11. public class credits extends Applet implements Runnable {
  12.    private Thread engineThread;
  13.    private Graphics offGraphics;
  14.    private Image offImage;
  15.    private boolean userPause;
  16.    private boolean readyToPaint;
  17.    private myFont font;
  18.    private int speed;
  19.    // $FF: renamed from: x int
  20.    private int field_0;
  21.    private int stepy = 1;
  22.    // $FF: renamed from: y int
  23.    private int field_1;
  24.    private int y_cur;
  25.    private int y2nd;
  26.    private int y2nd_cur;
  27.    private boolean firstTime = true;
  28.    private int sleepTime;
  29.    private int fred = 255;
  30.    private int fblue;
  31.    private int fgreen;
  32.    private int bred;
  33.    private int bblue;
  34.    private int bgreen;
  35.    private Vector lines = new Vector();
  36.    private int elemN;
  37.    private int n_lines;
  38.    private boolean debug;
  39.    private String attr = new String();
  40.    private boolean matched;
  41.    private boolean unreg = true;
  42.    private boolean center;
  43.  
  44.    public void stop() {
  45.       if (this.engineThread != null && this.engineThread.isAlive()) {
  46.          this.engineThread.stop();
  47.       }
  48.  
  49.       this.engineThread = null;
  50.    }
  51.  
  52.    private synchronized void prePaint(Graphics var1) {
  53.       var1.setColor(new Color(this.bred, this.bgreen, this.bblue));
  54.       var1.fillRect(0, 0, ((Component)this).size().width, ((Component)this).size().height);
  55.       var1.setFont(this.font);
  56.       FontMetrics var2 = var1.getFontMetrics();
  57.       int var3 = var2.getHeight();
  58.       int var4 = var3 * this.n_lines;
  59.       this.dbg("TotalFontHeight " + var4);
  60.       this.dbg("y_cur " + this.y_cur);
  61.       if (this.y_cur + var4 >= 0 && !this.firstTime) {
  62.          this.field_1 = this.y_cur;
  63.       } else {
  64.          this.field_1 = this.y_cur = ((Component)this).size().height + var3;
  65.          this.firstTime = false;
  66.       }
  67.  
  68.       var1.setColor(new Color(this.fred, this.fgreen, this.fblue));
  69.       this.xy_draw(var1, this.field_0, this.field_1, var3, var2);
  70.       this.y_cur -= this.stepy;
  71.    }
  72.  
  73.    public void paint(Graphics var1) {
  74.       if (this.engineThread != null) {
  75.          if (this.offGraphics != null) {
  76.             this.prePaint(this.offGraphics);
  77.             var1.drawImage(this.offImage, 0, 0, this);
  78.          } else {
  79.             this.prePaint(var1);
  80.          }
  81.       }
  82.  
  83.    }
  84.  
  85.    private void dbg(String var1) {
  86.       if (this.debug) {
  87.          System.out.println(var1);
  88.       }
  89.  
  90.    }
  91.  
  92.    public void update(Graphics var1) {
  93.       if (this.readyToPaint) {
  94.          this.paint(var1);
  95.       }
  96.  
  97.    }
  98.  
  99.    private synchronized Dimension xy_draw(Graphics var1, int var2, int var3, int var4, FontMetrics var5) {
  100.       for(int var6 = 0; var6 < this.n_lines && var3 <= ((Component)this).size().height + var4; var3 += var4) {
  101.          if (var3 > 0) {
  102.             if (this.center) {
  103.                var2 = ((Component)this).size().width / 2 - var5.stringWidth((String)this.lines.elementAt(var6)) / 2;
  104.             }
  105.  
  106.             var1.drawString((String)this.lines.elementAt(var6), var2, var3);
  107.          }
  108.  
  109.          ++var6;
  110.       }
  111.  
  112.       return new Dimension(var2, var3);
  113.    }
  114.  
  115.    public void start() {
  116.       if (this.engineThread == null) {
  117.          this.engineThread = new Thread(this);
  118.       }
  119.  
  120.       this.engineThread.start();
  121.    }
  122.  
  123.    public String getAppletInfo() {
  124.       return "Swami - movie.class v1.0 Copyright Sausage SoftWare 1996";
  125.    }
  126.  
  127.    public void run() {
  128.       Thread.currentThread().setPriority(1);
  129.       this.readyToPaint = true;
  130.  
  131.       while(true) {
  132.          if (this.unreg) {
  133.             ((Applet)this).getAppletContext().showStatus("Unregistered version. Copyright (c) Sausage Software 1996");
  134.          }
  135.  
  136.          ((Component)this).repaint();
  137.  
  138.          try {
  139.             Thread.sleep((long)this.sleepTime);
  140.          } catch (Exception var1) {
  141.          }
  142.       }
  143.    }
  144.  
  145.    public void init() {
  146.       String var1 = ((Applet)this).getParameter("font");
  147.       Object var2 = null;
  148.       String var19 = myFont.getFontName(var1);
  149.       this.dbg(var19);
  150.       int var3 = 12;
  151.       int var4 = 0;
  152.       var1 = ((Applet)this).getParameter("fontsize");
  153.       if (var1 != null) {
  154.          var3 = Integer.parseInt(var1);
  155.       }
  156.  
  157.       var1 = ((Applet)this).getParameter("style");
  158.       var4 = myFont.getFontStyle(var1);
  159.       this.font = new myFont(var19, var4, var3);
  160.       int var5 = 1;
  161.  
  162.       while(true) {
  163.          var1 = ((Applet)this).getParameter("line" + var5);
  164.          if (var1 == null) {
  165.             if (var5 == 1) {
  166.                this.lines.addElement("No text specified");
  167.                ++this.n_lines;
  168.             }
  169.  
  170.             String var6 = ((Applet)this).getParameter("reguser");
  171.             if (var6 == null) {
  172.                ver.NotRegistered();
  173.             }
  174.  
  175.             if (var6.toLowerCase().equals("unregistered")) {
  176.                this.unreg = true;
  177.             } else {
  178.                this.unreg = false;
  179.             }
  180.  
  181.             String var7 = ((Applet)this).getParameter("serialid");
  182.             if (var7 == null) {
  183.                ver.NotRegistered();
  184.             }
  185.  
  186.             ver var8 = new ver(var6, var7);
  187.             this.matched = var8.verifyUser(this.attr);
  188.             if (!this.matched) {
  189.                ver.NotRegistered();
  190.             }
  191.  
  192.             var1 = ((Applet)this).getParameter("vertical");
  193.             this.stepy = var1 == null ? 1 : Integer.valueOf(var1);
  194.             var1 = ((Applet)this).getParameter("speed");
  195.             if (var1 != null) {
  196.                this.sleepTime = Integer.parseInt(var1);
  197.             }
  198.  
  199.             var1 = ((Applet)this).getParameter("color");
  200.             if (var1 != null) {
  201.                createColor var9 = new createColor(var1, ",");
  202.                var9.getColor();
  203.                this.fred = var9.getRed();
  204.                this.fgreen = var9.getGreen();
  205.                this.fblue = var9.getBlue();
  206.             }
  207.  
  208.             var1 = ((Applet)this).getParameter("background");
  209.             if (var1 != null) {
  210.                createColor var21 = new createColor(var1, ",");
  211.                var21.getColor();
  212.                this.bred = var21.getRed();
  213.                this.bgreen = var21.getGreen();
  214.                this.bblue = var21.getBlue();
  215.             }
  216.  
  217.             var1 = ((Applet)this).getParameter("center");
  218.             this.center = "true".equals(var1);
  219.  
  220.             try {
  221.                this.offImage = ((Component)this).createImage(((Component)this).size().width, ((Component)this).size().height);
  222.                this.offGraphics = this.offImage.getGraphics();
  223.             } catch (Exception var10) {
  224.                this.offGraphics = null;
  225.             }
  226.  
  227.             return;
  228.          }
  229.  
  230.          if ("^&*".equals(var1)) {
  231.             this.lines.addElement(" ");
  232.          } else {
  233.             this.lines.addElement(var1);
  234.          }
  235.  
  236.          ++var5;
  237.          ++this.n_lines;
  238.          this.attr = this.attr.concat(var1);
  239.       }
  240.    }
  241.  
  242.    public boolean handleEvent(Event var1) {
  243.       if (var1.id == 501) {
  244.          if (this.userPause) {
  245.             this.engineThread.resume();
  246.          } else {
  247.             this.engineThread.suspend();
  248.          }
  249.  
  250.          this.userPause = !this.userPause;
  251.       } else if (var1.id == 201) {
  252.          this.stop();
  253.          System.exit(0);
  254.       }
  255.  
  256.       return true;
  257.    }
  258. }
  259.