home *** CD-ROM | disk | FTP | other *** search
/ Your Web Site Creator / Your Web Site Creator.iso / WebSite / data1.cab / Program_Executable_Files / Classes / BLCANVA2.CLA (.txt) < prev    next >
Encoding:
Java Class File  |  1999-01-13  |  3.9 KB  |  150 lines

  1. import java.applet.Applet;
  2. import java.awt.Canvas;
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Dimension;
  6. import java.awt.Font;
  7. import java.awt.FontMetrics;
  8. import java.awt.Graphics;
  9. import java.awt.Image;
  10. import java.awt.image.ImageObserver;
  11.  
  12. class BlinkCanvas2 extends Canvas implements Runnable {
  13.    String message;
  14.    Font font;
  15.    Color color;
  16.    Image theImage;
  17.    Thread theThread;
  18.    int timeOn;
  19.    int timeOff;
  20.    Image osImage;
  21.    Graphics osg;
  22.    // $FF: renamed from: fm java.awt.FontMetrics
  23.    FontMetrics field_0;
  24.    // $FF: renamed from: x int
  25.    int field_1;
  26.    // $FF: renamed from: y int
  27.    int field_2;
  28.    // $FF: renamed from: w int
  29.    int field_3;
  30.    // $FF: renamed from: h int
  31.    int field_4;
  32.    int imageWidth;
  33.    int imageHeight;
  34.    Color bkColor;
  35.    Image bkImage;
  36.    boolean shown = true;
  37.  
  38.    public BlinkCanvas2(Applet var1, int var2) {
  39.       this.GetParameters(var1, var2);
  40.    }
  41.  
  42.    void GetParameters(Applet var1, int var2) {
  43.       this.message = var1.getParameter("blinkText" + var2);
  44.       if (this.message != null) {
  45.          String var3 = var1.getParameter("blinkColor" + var2);
  46.          this.color = AppletParam2.GetColor(var3, Color.black);
  47.          var3 = var1.getParameter("blinkFont" + var2);
  48.          this.font = AppletParam2.GetJavaFont(var3);
  49.       }
  50.  
  51.       String var5 = var1.getParameter("blinkOnTime" + var2);
  52.       this.timeOn = AppletParam2.GetInt(var5, 1000);
  53.       var5 = var1.getParameter("blinkOffTime" + var2);
  54.       this.timeOff = AppletParam2.GetInt(var5, 300);
  55.       var5 = var1.getParameter("blinkBkColor" + var2);
  56.       this.bkColor = AppletParam2.GetColor(var5, Color.white);
  57.       if (this.bkColor != null) {
  58.          ((Component)this).setBackground(this.bkColor);
  59.       }
  60.  
  61.       var5 = var1.getParameter("blinkImage" + var2);
  62.       this.theImage = AppletParam2.GetImage(var1, var5);
  63.       var5 = var1.getParameter("blinkBkImage" + var2);
  64.       this.bkImage = var1.getImage(var1.getCodeBase(), var5);
  65.    }
  66.  
  67.    public void Start() {
  68.       this.theThread = new Thread(this);
  69.       this.theThread.start();
  70.    }
  71.  
  72.    public void Stop() {
  73.       this.theThread.stop();
  74.       this.theThread = null;
  75.    }
  76.  
  77.    public void update(Graphics var1) {
  78.       if (this.osImage == null) {
  79.          this.osImage = ((Component)this).createImage(((Component)this).size().width, ((Component)this).size().height);
  80.          this.osg = this.osImage.getGraphics();
  81.       }
  82.  
  83.       this.osg.setColor(((Component)this).getBackground());
  84.       this.osg.fillRect(0, 0, ((Component)this).size().width, ((Component)this).size().height);
  85.       if (this.bkImage != null) {
  86.          int var2 = this.bkImage.getWidth(this);
  87.          int var3 = this.bkImage.getHeight(this);
  88.          int var4 = ((Component)this).size().width / var2;
  89.          int var5 = ((Component)this).size().height / var3;
  90.          ++var4;
  91.          ++var5;
  92.  
  93.          for(int var6 = 0; var6 < var5; ++var6) {
  94.             for(int var7 = 0; var7 < var4; ++var7) {
  95.                this.osg.drawImage(this.bkImage, var7 * var2, var6 * var3, this);
  96.             }
  97.          }
  98.       }
  99.  
  100.       this.osg.setColor(this.color);
  101.       this.osg.setFont(this.font);
  102.       if (this.shown) {
  103.          if (this.message != null) {
  104.             this.field_0 = this.osg.getFontMetrics();
  105.             this.field_3 = this.field_0.stringWidth(this.message);
  106.             this.field_4 = this.field_0.getHeight();
  107.             this.field_1 = (((Component)this).size().width - this.field_3) / 2;
  108.             this.field_2 = ((Component)this).size().height / 2 + this.field_4 / 4;
  109.             this.osg.drawString(this.message, this.field_1, this.field_2);
  110.          } else if (this.theImage != null) {
  111.             this.imageWidth = this.theImage.getWidth(this);
  112.             this.imageHeight = this.theImage.getHeight(this);
  113.             this.field_1 = (((Component)this).size().width - this.imageWidth) / 2;
  114.             this.field_2 = (((Component)this).size().height - this.imageHeight) / 2;
  115.             this.osg.drawImage(this.theImage, this.field_1, this.field_2, (ImageObserver)null);
  116.          }
  117.       }
  118.  
  119.       var1.drawImage(this.osImage, 0, 0, (ImageObserver)null);
  120.    }
  121.  
  122.    public void run() {
  123.       while(true) {
  124.          try {
  125.             if (this.theThread.isAlive()) {
  126.                ((Component)this).repaint();
  127.                int var1 = this.shown ? this.timeOn : this.timeOff;
  128.                Thread.sleep((long)var1);
  129.                this.shown = !this.shown;
  130.             }
  131.          } catch (InterruptedException var2) {
  132.          }
  133.       }
  134.    }
  135.  
  136.    public synchronized void reshape(int var1, int var2, int var3, int var4) {
  137.       super.reshape(var1, var2, var3, var4);
  138.       this.osImage = null;
  139.       this.osg = null;
  140.    }
  141.  
  142.    public Dimension minimumSize() {
  143.       return new Dimension(10, 10);
  144.    }
  145.  
  146.    public Dimension preferredSize() {
  147.       return new Dimension(10, 10);
  148.    }
  149. }
  150.