home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / FREI / ANI10.EXE / runtime / ANIStatus.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-08-19  |  4.3 KB  |  308 lines

  1. import java.awt.Graphics;
  2. import java.awt.Image;
  3. import java.awt.MediaTracker;
  4. import java.net.URL;
  5.  
  6. public final class ANIStatus implements Runnable {
  7.    public static final int ST_IMAGES = 6;
  8.    public static final int IMG_AUDIO = 0;
  9.    public static final int IMG_AUDIOOFF = 1;
  10.    public static final int IMG_DOCOFF = 2;
  11.    public static final int IMG_DOC = 3;
  12.    public static final int IMG_LOADINGOFF = 4;
  13.    public static final int IMG_LOADING = 5;
  14.    // $FF: renamed from: ├ç ANI
  15.    private ANI field_0;
  16.    // $FF: renamed from: ├â java.lang.Thread
  17.    private Thread field_1;
  18.    // $FF: renamed from: ├½ ANIStatusCanvas
  19.    private ANIStatusCanvas field_2;
  20.    // $FF: renamed from: ├║ ANIAgentCanvas
  21.    private ANIAgentCanvas field_3;
  22.    // $FF: renamed from: ├╡ java.awt.MediaTracker
  23.    private MediaTracker field_4;
  24.    // $FF: renamed from: ├╗ java.awt.Image
  25.    private Image field_5;
  26.    // $FF: renamed from: ├╢ boolean
  27.    private boolean field_6;
  28.    // $FF: renamed from: ├╝ boolean
  29.    private boolean field_7 = true;
  30.    public Image[] stImgs;
  31.    public boolean fAudio = true;
  32.    public boolean fLoading;
  33.    public boolean fDoc;
  34.    public boolean fLoadingOn;
  35.    // $FF: renamed from: ├╜ long
  36.    private long field_8;
  37.    public boolean fDocOn;
  38.    // $FF: renamed from: ├╛ long
  39.    private long field_9;
  40.    // $FF: renamed from: ├┐ int
  41.    private int field_10;
  42.    // $FF: renamed from: ─Ç int
  43.    private int field_11;
  44.    // $FF: renamed from: ─ü java.awt.Image
  45.    private Image field_12;
  46.  
  47.    public void stop() {
  48.       if (this.field_1 != null) {
  49.          this.field_1.stop();
  50.          this.field_1 = null;
  51.       }
  52.  
  53.    }
  54.  
  55.    public ANIStatus(ANI var1, ANIStatusCanvas var2, ANIAgentCanvas var3) {
  56.       this.field_0 = var1;
  57.       this.field_2 = var2;
  58.       this.field_3 = var3;
  59.       this.stImgs = new Image[6];
  60.       this.field_4 = new MediaTracker(this.field_0);
  61.  
  62.       try {
  63.          URL var4 = new URL(this.field_0.getCodeBase(), "ANIStati.gif");
  64.          this.field_5 = this.field_0.getImage(var4);
  65.          this.field_4.addImage(this.field_5, 1);
  66.          if (this.field_0.helpImage != null) {
  67.             this.field_12 = this.field_0.getImage(ANIScript.getURL("HelpImage", this.field_0.helpImage, this.field_0.getDocumentBase()));
  68.             this.field_4.addImage(this.field_12, 2);
  69.          }
  70.  
  71.          this.field_6 = true;
  72.       } catch (Exception var5) {
  73.       }
  74.    }
  75.  
  76.    // $FF: renamed from: ├║ () void
  77.    private final void method_0() {
  78.       int var1 = 200;
  79.       this.field_3.fStatusPaint = true;
  80.       this.field_3.fUpdate = true;
  81.       this.field_3.repaint();
  82.  
  83.       while(this.field_3.fUpdate) {
  84.          --var1;
  85.          if (var1 <= 0) {
  86.             break;
  87.          }
  88.  
  89.          this.method_1(1);
  90.       }
  91.  
  92.       this.field_3.fUpdate = false;
  93.    }
  94.  
  95.    public void setAudioFlag(boolean var1) {
  96.       if (var1 != this.fAudio) {
  97.          this.fAudio = var1;
  98.          this.field_7 = true;
  99.       }
  100.  
  101.    }
  102.  
  103.    // $FF: renamed from: ├¬ (int) void
  104.    private final void method_1(int var1) {
  105.       try {
  106.          Thread.sleep((long)var1);
  107.       } catch (InterruptedException var2) {
  108.       }
  109.    }
  110.  
  111.    public void setLoadingFlag(boolean var1) {
  112.       if (var1 != this.fLoading) {
  113.          this.fLoading = var1;
  114.          this.fLoadingOn = var1;
  115.          if (this.fLoading) {
  116.             this.field_8 = System.currentTimeMillis() + 1000L;
  117.          }
  118.  
  119.          ++this.field_11;
  120.          this.field_7 = true;
  121.       }
  122.  
  123.    }
  124.  
  125.    public void setLinkingFlag(boolean var1) {
  126.       if (var1 != this.fDoc) {
  127.          if (this.field_3.fOS != var1) {
  128.             ++this.field_11;
  129.          }
  130.  
  131.          this.fDoc = var1;
  132.          this.fDocOn = var1;
  133.          this.field_3.fOS = var1;
  134.          if (this.fDoc) {
  135.             this.field_9 = System.currentTimeMillis() + 1000L;
  136.             this.field_10 = 3;
  137.          }
  138.  
  139.          this.field_7 = true;
  140.       }
  141.  
  142.    }
  143.  
  144.    public void start() {
  145.       if (this.field_1 == null) {
  146.          this.field_1 = new Thread(this);
  147.          this.field_1.start();
  148.       }
  149.  
  150.    }
  151.  
  152.    // $FF: renamed from: ├▒ () void
  153.    private final void method_2() {
  154.       int var1 = 200;
  155.       this.field_2.fUpdate = true;
  156.       this.field_2.repaint();
  157.  
  158.       while(this.field_2.fUpdate) {
  159.          --var1;
  160.          if (var1 <= 0) {
  161.             break;
  162.          }
  163.  
  164.          this.method_1(1);
  165.       }
  166.  
  167.       this.field_2.fUpdate = false;
  168.       this.field_7 = false;
  169.    }
  170.  
  171.    public void run() {
  172.       while(this.field_1 != null) {
  173.          if (this.field_6) {
  174.             boolean var1 = this.field_4.checkID(1, true);
  175.             if (!var1) {
  176.                this.field_6 = true;
  177.             } else {
  178.                this.field_6 = false;
  179.                if (!this.field_4.isErrorID(1)) {
  180.                   this.field_0.waitForImage(this.field_5);
  181.                   int var5 = 0;
  182.  
  183.                   do {
  184.                      this.stImgs[var5] = this.field_0.ANICreateImage(16, 16);
  185.                      Graphics var4 = this.stImgs[var5].getGraphics();
  186.                      this.field_0.ANIDrawImage(var4, this.field_5, -var5 * 16, 0, this.field_2);
  187.                      ++var5;
  188.                   } while(var5 < 6);
  189.  
  190.                   this.field_3.imgLS = this.field_0.ANICreateImage(62, 23);
  191.                   Graphics var7 = this.field_3.imgLS.getGraphics();
  192.                   this.field_0.ANIDrawImage(var7, this.field_5, 0, -16, this.field_2);
  193.                   this.field_3.imgOS = this.field_0.ANICreateImage(55, 14);
  194.                   var7 = this.field_3.imgOS.getGraphics();
  195.                   this.field_0.ANIDrawImage(var7, this.field_5, 0, -39, this.field_2);
  196.                   this.field_7 = true;
  197.                }
  198.             }
  199.  
  200.             if (this.field_0.helpImage != null) {
  201.                var1 = this.field_4.checkID(2, true);
  202.                if (var1) {
  203.                   if (!this.field_4.isErrorID(2)) {
  204.                      this.field_0.waitForImage(this.field_12);
  205.                      this.field_0.wHelpImg = this.field_12.getWidth(this.field_0);
  206.                      this.field_0.hHelpImg = this.field_12.getHeight(this.field_0);
  207.                      this.field_0.helpImg = this.field_12;
  208.                   }
  209.                } else {
  210.                   this.field_6 = true;
  211.                }
  212.             }
  213.          }
  214.  
  215.          long var2 = System.currentTimeMillis();
  216.          if (this.fLoading && var2 > this.field_8) {
  217.             if (this.fLoadingOn) {
  218.                this.field_8 = var2 + 500L;
  219.             } else {
  220.                this.field_8 = var2 + 1000L;
  221.             }
  222.  
  223.             this.fLoadingOn = !this.fLoadingOn;
  224.             this.field_7 = true;
  225.          }
  226.  
  227.          if (this.fDoc && var2 > this.field_9) {
  228.             if (this.fDocOn) {
  229.                this.field_9 = var2 + 500L;
  230.             } else {
  231.                this.field_9 = var2 + 1000L;
  232.                if ((this.field_10 += -1) < 0) {
  233.                   this.fDoc = false;
  234.                   this.fDocOn = true;
  235.                   ++this.field_11;
  236.                }
  237.             }
  238.  
  239.             this.fDocOn = !this.fDocOn;
  240.             this.field_7 = true;
  241.          }
  242.  
  243.          if (this.field_7) {
  244.             this.method_2();
  245.          }
  246.  
  247.          if (this.field_11 != 0 && !this.field_6) {
  248.             if (this.fLoading && !this.field_3.fLS && this.field_0.agent.fScriptLoaded) {
  249.                this.field_3.fLS = true;
  250.             }
  251.  
  252.             if (!this.field_3.fLS && !this.field_3.fOS) {
  253.                this.method_1(250);
  254.             } else {
  255.                boolean var9 = false;
  256.                if (this.field_3.fLS) {
  257.                   if (this.fLoading && this.field_3.xLS > this.field_3.wOld - 62) {
  258.                      this.field_3.xLS = Math.max(this.field_3.xLS - 3, this.field_3.wOld - 62);
  259.                      var9 = true;
  260.                   }
  261.  
  262.                   if (!this.fLoading && this.field_3.xLS < this.field_3.wOld) {
  263.                      this.field_3.xLS = Math.min(this.field_3.xLS + 3, this.field_3.wOld);
  264.                      var9 = true;
  265.                   }
  266.  
  267.                   if (!var9) {
  268.                      this.field_11 += -1;
  269.                      if (!this.fLoading) {
  270.                         this.field_3.fLS = false;
  271.                      }
  272.                   }
  273.                }
  274.  
  275.                if (this.field_3.fOS) {
  276.                   var9 = false;
  277.                   if (this.fDoc && this.field_3.xOS > this.field_3.wOld - 55) {
  278.                      this.field_3.xOS = Math.max(this.field_3.xOS - 3, this.field_3.wOld - 55);
  279.                      var9 = true;
  280.                   }
  281.  
  282.                   if (!this.fDoc && this.field_3.xOS < this.field_3.wOld) {
  283.                      this.field_3.xOS = Math.min(this.field_3.xOS + 3, this.field_3.wOld);
  284.                      var9 = true;
  285.                   }
  286.  
  287.                   if (!var9) {
  288.                      this.field_11 += -1;
  289.                      if (!this.fDoc) {
  290.                         this.field_3.fOS = false;
  291.                      }
  292.                   }
  293.                }
  294.  
  295.                this.method_0();
  296.             }
  297.          } else {
  298.             if (this.fLoading) {
  299.                this.method_0();
  300.             }
  301.  
  302.             this.method_1(250);
  303.          }
  304.       }
  305.  
  306.    }
  307. }
  308.