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

  1. import java.awt.Color;
  2.  
  3. public class textmess {
  4.    private boolean[][] stringOnOff;
  5.    private Color[] letterColor;
  6.    private int colorLen;
  7.    private boolean color;
  8.    private int stringWidth;
  9.    private int stringHeight;
  10.    private int stringLength;
  11.    private static letters letterStruct;
  12.    private boolean dbg;
  13.  
  14.    public int getStringHeight() {
  15.       return this.stringHeight;
  16.    }
  17.  
  18.    public boolean getBool(int var1, int var2) {
  19.       if (var1 >= this.stringHeight || var2 >= this.stringWidth) {
  20.          System.out.println("getBool error, x: " + var1 + " stringHeight: " + this.stringHeight + " y:" + var2 + " stringWidth:" + this.stringWidth);
  21.       }
  22.  
  23.       return this.stringOnOff != null ? this.stringOnOff[var1][var2] : false;
  24.    }
  25.  
  26.    public int getStringLength() {
  27.       return this.stringLength;
  28.    }
  29.  
  30.    public Color letterColor(int var1) {
  31.       return this.letterColor[var1];
  32.    }
  33.  
  34.    private void debug(String var1) {
  35.       if (this.dbg) {
  36.          if (var1 != null) {
  37.             System.out.println(var1);
  38.          } else {
  39.             System.out.println("NULL");
  40.          }
  41.       }
  42.  
  43.    }
  44.  
  45.    public textmess(letters var1) {
  46.       letterStruct = var1;
  47.    }
  48.  
  49.    public void setText(cmddata var1) throws ArrayIndexOutOfBoundsException {
  50.       String var2 = var1.getText();
  51.       String var3 = var1.getPicture();
  52.       boolean var4 = true;
  53.       int var5 = 0;
  54.       this.stringLength = 0;
  55.       this.debug(var2);
  56.       this.debug(var3);
  57.       if (var2 != null || var3 != null) {
  58.          letter var6 = null;
  59.          if (var3 != null) {
  60.             var6 = letterStruct.searchLetters(var3);
  61.             if (var6 == null) {
  62.                throw new ArrayIndexOutOfBoundsException("Picture " + var3 + " not found in font file.");
  63.             }
  64.  
  65.             this.stringLength = var6.width();
  66.          } else {
  67.             for(int var7 = 0; var7 < var2.length(); ++var7) {
  68.                var6 = letterStruct.searchLetters(var2.charAt(var7));
  69.                if (var6 != null) {
  70.                   var4 = false;
  71.                   this.stringLength += var6.width() + 1;
  72.                } else {
  73.                   var4 = true;
  74.                   System.out.println("Character '" + var2.charAt(var7) + "' not found in font file.");
  75.                }
  76.             }
  77.  
  78.             --this.stringLength;
  79.          }
  80.  
  81.          this.stringLength += var1.getFrontGap() + var1.getEndGap();
  82.          this.debug(this.stringLength + " led length");
  83.          this.stringOnOff = new boolean[funcnum.MAXBITS][this.stringLength];
  84.          this.stringWidth = this.stringLength;
  85.          this.stringHeight = funcnum.MAXBITS;
  86.          this.letterColor = new Color[this.stringLength];
  87.          var5 = var1.getFrontGap();
  88.          int var17 = var5;
  89.          if (var3 == null) {
  90.             for(int var18 = 0; var18 < var2.length(); ++var18) {
  91.                var6 = letterStruct.searchLetters(var2.charAt(var18));
  92.                if (var6 != null) {
  93.                   for(int var20 = 0; var20 < var6.width(); ++var20) {
  94.                      int var19 = var17 + var20;
  95.  
  96.                      for(int var11 = 0; var11 < var6.height(); var11 += 4) {
  97.                         this.stringOnOff[var11][var19] = var6.getValue(var11, var20);
  98.                         this.stringOnOff[var11 + 1][var19] = var6.getValue(var11 + 1, var20);
  99.                         this.stringOnOff[var11 + 2][var19] = var6.getValue(var11 + 2, var20);
  100.                         this.stringOnOff[var11 + 3][var19] = var6.getValue(var11 + 3, var20);
  101.                      }
  102.  
  103.                      this.letterColor[var17 + var20] = var1.getColor();
  104.                   }
  105.  
  106.                   var17 += var6.width();
  107.                   if (var18 < var2.length() - 1) {
  108.                      for(int var21 = 0; var21 < var6.height(); var21 += 4) {
  109.                         this.stringOnOff[var21][var17] = false;
  110.                         this.stringOnOff[var21 + 1][var17] = false;
  111.                         this.stringOnOff[var21 + 2][var17] = false;
  112.                         this.stringOnOff[var21 + 3][var17] = false;
  113.                      }
  114.                   }
  115.  
  116.                   ++var17;
  117.                }
  118.             }
  119.          } else {
  120.             this.debug("pic width: " + var6.width() + " height: " + var6.height());
  121.             this.debug("widthCount: " + var5);
  122.             this.debug(var6.toString());
  123.  
  124.             for(int var9 = 0; var9 < var6.width(); ++var9) {
  125.                int var8 = var17 + var9;
  126.  
  127.                for(int var10 = 0; var10 < var6.height(); var10 += 4) {
  128.                   this.debug(var10 + " " + var9);
  129.                   this.stringOnOff[var10][var8] = var6.getValue(var10, var9);
  130.                   this.stringOnOff[var10 + 1][var8] = var6.getValue(var10 + 1, var9);
  131.                   this.stringOnOff[var10 + 2][var8] = var6.getValue(var10 + 2, var9);
  132.                   this.stringOnOff[var10 + 3][var8] = var6.getValue(var10 + 3, var9);
  133.                }
  134.  
  135.                this.letterColor[var17 + var9] = var1.getColor();
  136.             }
  137.          }
  138.  
  139.          this.stringHeight = var1.getFrontGap() + var1.getEndGap() + funcnum.MAXBITS;
  140.       }
  141.  
  142.    }
  143. }
  144.