home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 June / CHIPHEFT062001.ISO / browser / nc32lyc / comm.z / java40.jar / java / awt / FontMetrics.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-08-15  |  2.3 KB  |  91 lines

  1. package java.awt;
  2.  
  3. import java.io.Serializable;
  4.  
  5. public abstract class FontMetrics implements Serializable {
  6.    protected Font font;
  7.    private static final long serialVersionUID = 1681126225205050147L;
  8.  
  9.    protected FontMetrics(Font var1) {
  10.       this.font = var1;
  11.    }
  12.  
  13.    public Font getFont() {
  14.       return this.font;
  15.    }
  16.  
  17.    public int getLeading() {
  18.       return 0;
  19.    }
  20.  
  21.    public int getAscent() {
  22.       return this.font.getSize();
  23.    }
  24.  
  25.    public int getDescent() {
  26.       return 0;
  27.    }
  28.  
  29.    public int getHeight() {
  30.       return this.getLeading() + this.getAscent() + this.getDescent();
  31.    }
  32.  
  33.    public int getMaxAscent() {
  34.       return this.getAscent();
  35.    }
  36.  
  37.    public int getMaxDescent() {
  38.       return this.getDescent();
  39.    }
  40.  
  41.    public int getMaxDecent() {
  42.       return this.getMaxDescent();
  43.    }
  44.  
  45.    public int getMaxAdvance() {
  46.       return -1;
  47.    }
  48.  
  49.    public int charWidth(int var1) {
  50.       return this.charWidth((char)var1);
  51.    }
  52.  
  53.    public int charWidth(char var1) {
  54.       if (var1 < 256) {
  55.          return this.getWidths()[var1];
  56.       } else {
  57.          char[] var2 = new char[]{var1};
  58.          return this.charsWidth(var2, 0, 1);
  59.       }
  60.    }
  61.  
  62.    public int stringWidth(String var1) {
  63.       int var2 = var1.length();
  64.       char[] var3 = new char[var2];
  65.       var1.getChars(0, var2, var3, 0);
  66.       return this.charsWidth(var3, 0, var2);
  67.    }
  68.  
  69.    public int charsWidth(char[] var1, int var2, int var3) {
  70.       return this.stringWidth(new String(var1, var2, var3));
  71.    }
  72.  
  73.    public int bytesWidth(byte[] var1, int var2, int var3) {
  74.       return this.stringWidth(new String(var1, 0, var2, var3));
  75.    }
  76.  
  77.    public int[] getWidths() {
  78.       int[] var1 = new int[256];
  79.  
  80.       for(char var2 = 0; var2 < 256; ++var2) {
  81.          var1[var2] = this.charWidth(var2);
  82.       }
  83.  
  84.       return var1;
  85.    }
  86.  
  87.    public String toString() {
  88.       return this.getClass().getName() + "[font=" + this.getFont() + "ascent=" + this.getAscent() + ", descent=" + this.getDescent() + ", height=" + this.getHeight() + "]";
  89.    }
  90. }
  91.