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