home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / BlazingBoard / BlazingBoard.jar / LoaderForm.class (.txt) < prev    next >
Encoding:
Java Class File  |  2002-01-29  |  5.0 KB  |  158 lines

  1. import javax.microedition.lcdui.Canvas;
  2. import javax.microedition.lcdui.Command;
  3. import javax.microedition.lcdui.CommandListener;
  4. import javax.microedition.lcdui.Displayable;
  5. import javax.microedition.lcdui.Font;
  6. import javax.microedition.lcdui.Form;
  7. import javax.microedition.lcdui.Graphics;
  8. import javax.microedition.lcdui.Image;
  9.  
  10. final class LoaderForm extends Canvas implements Runnable, CommandListener {
  11.    Font font = Font.getFont(32, 0, 16);
  12.    boolean suspend = true;
  13.    Image Splash;
  14.    Image Intro;
  15.    final String[] ImN = new String[]{"/splash.png", "/twist.png", "/fall.png", "/stand.png", "/board.png", "/flame.png", "/background.png", "/intro.png"};
  16.    int res = 0;
  17.    int index = 0;
  18.  
  19.    public LoaderForm() {
  20.       Thread var1 = new Thread(this);
  21.       var1.setPriority(1);
  22.       var1.start();
  23.    }
  24.  
  25.    public void run() {
  26.       int var1 = 0;
  27.       int var2 = 0;
  28.       Image[] var3 = BlazingBoards.AllImage;
  29.       ((Displayable)this).addCommand(BlazingBoards.allCommand[7]);
  30.       ((Displayable)this).setCommandListener(this);
  31.       int var4 = 10;
  32.       BlazingBoards.d.setCurrent(this);
  33.  
  34.       while(this.res == 0) {
  35.          try {
  36.             if (BlazingBoards.app == null) {
  37.                return;
  38.             }
  39.  
  40.             if (this.suspend) {
  41.                Thread.sleep(300L);
  42.             } else {
  43.                if (this.index <= 9) {
  44.                   System.out.println("Load Thread index " + this.index);
  45.                   if (this.index == 9) {
  46.                      BlazingBoards.engine = new Engine();
  47.                   } else if (this.index == 8) {
  48.                      BlazingBoards.app.LoadForm();
  49.                   } else {
  50.                      Image var5 = com.siemens.mp.ui.Image.createImageWithoutScaling(this.ImN[var1]);
  51.                      ++var1;
  52.                      if (var1 == this.ImN.length) {
  53.                         this.Intro = var5;
  54.                      } else if (var1 == 1) {
  55.                         this.Splash = var5;
  56.                      } else {
  57.                         System.out.println("Set to Masiv " + var2);
  58.                         var3[var2++] = var5;
  59.                      }
  60.                   }
  61.  
  62.                   System.gc();
  63.                   System.out.println("free Memory" + Runtime.getRuntime().freeMemory());
  64.                   ((Canvas)this).repaint();
  65.                } else if (this.index == 10) {
  66.                   System.gc();
  67.                   ((Displayable)this).removeCommand(BlazingBoards.allCommand[7]);
  68.                   ((Displayable)this).addCommand(BlazingBoards.allCommand[3]);
  69.                   ((Canvas)this).repaint();
  70.                } else if (this.index < 23) {
  71.                   Thread.sleep(300L);
  72.                } else {
  73.                   this.res = 1;
  74.                }
  75.  
  76.                ++this.index;
  77.             }
  78.          } catch (Exception var7) {
  79.             System.gc();
  80.             System.out.println("Loader Exception " + var7);
  81.             --var4;
  82.             if (var4 == 0) {
  83.                Form var6 = new Form("Error");
  84.                var6.append("Cannot open resource!");
  85.                ((Displayable)var6).addCommand(BlazingBoards.allCommand[7]);
  86.                ((Displayable)var6).setCommandListener(BlazingBoards.app);
  87.                BlazingBoards.d.setCurrent(var6);
  88.                return;
  89.             }
  90.          }
  91.       }
  92.  
  93.       if (this.res == 1) {
  94.          BlazingBoards.d.setCurrent(BlazingBoards.engine);
  95.       } else if (this.res == 2) {
  96.          BlazingBoards.app.destroyApp(false);
  97.       }
  98.  
  99.    }
  100.  
  101.    public void showNotify() {
  102.       System.out.println("loader show " + ((Displayable)this).isShown());
  103.       this.suspend = false;
  104.    }
  105.  
  106.    public void hideNotify() {
  107.       System.out.println("loader hide " + ((Displayable)this).isShown());
  108.       this.suspend = true;
  109.    }
  110.  
  111.    public void commandAction(Command var1, Displayable var2) {
  112.       if (var1 == BlazingBoards.allCommand[7]) {
  113.          this.res = 2;
  114.       } else if (var1 == BlazingBoards.allCommand[3]) {
  115.          this.res = 1;
  116.       }
  117.  
  118.    }
  119.  
  120.    public void paint(Graphics var1) {
  121.       if (this.index > 9) {
  122.          var1.setColor(16777215);
  123.          var1.fillRect(0, 0, 101, 80);
  124.          var1.drawImage(this.Intro, 51, 40, 3);
  125.       } else {
  126.          var1.setColor(16777215);
  127.          var1.fillRect(0, 0, 101, 80);
  128.          var1.setFont(this.font);
  129.          if (this.Splash != null) {
  130.             var1.drawImage(this.Splash, 51, 3, 17);
  131.          }
  132.  
  133.          var1.setColor(0);
  134.          var1.drawString("Loading ...", 51, 39, 17);
  135.          var1.drawRect(0, 59, 100, 20);
  136.          int var8 = 99 * this.index / 9;
  137.          if (var8 <= 0) {
  138.             var8 = 1;
  139.          }
  140.  
  141.          String var9 = 99 * this.index / 9 + " %";
  142.          int var10 = (101 - this.font.stringWidth(var9)) / 2 + 3;
  143.          var1.setGrayScale(0);
  144.          var1.fillRect(1, 60, var8, 19);
  145.          var1.setGrayScale(0);
  146.  
  147.          for(int var11 = 0; var11 < 2; ++var11) {
  148.             var1.drawString(var9, var10, 61, 20);
  149.             if (var11 == 0) {
  150.                var1.setGrayScale(255);
  151.                var1.setClip(1, 60, var8, 18);
  152.             }
  153.          }
  154.       }
  155.  
  156.    }
  157. }
  158.