home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / awt / FontMetrics.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  4.1 KB  |  147 lines

  1. package java.awt;
  2.  
  3. import java.awt.font.FontRenderContext;
  4. import java.awt.font.LineMetrics;
  5. import java.awt.geom.AffineTransform;
  6. import java.awt.geom.Rectangle2D;
  7. import java.io.Serializable;
  8. import java.text.CharacterIterator;
  9.  
  10. public abstract class FontMetrics implements Serializable {
  11.    protected Font font;
  12.    private static final long serialVersionUID = 1681126225205050147L;
  13.  
  14.    protected FontMetrics(Font var1) {
  15.       this.font = var1;
  16.    }
  17.  
  18.    public Font getFont() {
  19.       return this.font;
  20.    }
  21.  
  22.    public int getLeading() {
  23.       return 0;
  24.    }
  25.  
  26.    public int getAscent() {
  27.       return this.font.getSize();
  28.    }
  29.  
  30.    public int getDescent() {
  31.       return 0;
  32.    }
  33.  
  34.    public int getHeight() {
  35.       return this.getLeading() + this.getAscent() + this.getDescent();
  36.    }
  37.  
  38.    public int getMaxAscent() {
  39.       return this.getAscent();
  40.    }
  41.  
  42.    public int getMaxDescent() {
  43.       return this.getDescent();
  44.    }
  45.  
  46.    public int getMaxDecent() {
  47.       return this.getMaxDescent();
  48.    }
  49.  
  50.    public int getMaxAdvance() {
  51.       return -1;
  52.    }
  53.  
  54.    public int charWidth(int var1) {
  55.       return this.charWidth((char)var1);
  56.    }
  57.  
  58.    public int charWidth(char var1) {
  59.       if (var1 < 256) {
  60.          return this.getWidths()[var1];
  61.       } else {
  62.          char[] var2 = new char[]{var1};
  63.          return this.charsWidth(var2, 0, 1);
  64.       }
  65.    }
  66.  
  67.    public int stringWidth(String var1) {
  68.       int var2 = var1.length();
  69.       char[] var3 = new char[var2];
  70.       var1.getChars(0, var2, var3, 0);
  71.       return this.charsWidth(var3, 0, var2);
  72.    }
  73.  
  74.    public int charsWidth(char[] var1, int var2, int var3) {
  75.       return this.stringWidth(new String(var1, var2, var3));
  76.    }
  77.  
  78.    public int bytesWidth(byte[] var1, int var2, int var3) {
  79.       return this.stringWidth(new String(var1, 0, var2, var3));
  80.    }
  81.  
  82.    public int[] getWidths() {
  83.       int[] var1 = new int[256];
  84.  
  85.       for(char var2 = 0; var2 < 256; ++var2) {
  86.          var1[var2] = this.charWidth(var2);
  87.       }
  88.  
  89.       return var1;
  90.    }
  91.  
  92.    public boolean hasUniformLineMetrics() {
  93.       return this.font.hasUniformLineMetrics();
  94.    }
  95.  
  96.    public LineMetrics getLineMetrics(String var1, Graphics var2) {
  97.       return this.font.getLineMetrics(var1, this.myFRC(var2));
  98.    }
  99.  
  100.    public LineMetrics getLineMetrics(String var1, int var2, int var3, Graphics var4) {
  101.       return this.font.getLineMetrics(var1, var2, var3, this.myFRC(var4));
  102.    }
  103.  
  104.    public LineMetrics getLineMetrics(char[] var1, int var2, int var3, Graphics var4) {
  105.       return this.font.getLineMetrics(var1, var2, var3, this.myFRC(var4));
  106.    }
  107.  
  108.    public LineMetrics getLineMetrics(CharacterIterator var1, int var2, int var3, Graphics var4) {
  109.       return this.font.getLineMetrics(var1, var2, var3, this.myFRC(var4));
  110.    }
  111.  
  112.    public Rectangle2D getStringBounds(String var1, Graphics var2) {
  113.       return this.font.getStringBounds(var1, this.myFRC(var2));
  114.    }
  115.  
  116.    public Rectangle2D getStringBounds(String var1, int var2, int var3, Graphics var4) {
  117.       return this.font.getStringBounds(var1, var2, var3, this.myFRC(var4));
  118.    }
  119.  
  120.    public Rectangle2D getStringBounds(char[] var1, int var2, int var3, Graphics var4) {
  121.       return this.font.getStringBounds(var1, var2, var3, this.myFRC(var4));
  122.    }
  123.  
  124.    public Rectangle2D getStringBounds(CharacterIterator var1, int var2, int var3, Graphics var4) {
  125.       return this.font.getStringBounds(var1, var2, var3, this.myFRC(var4));
  126.    }
  127.  
  128.    public Rectangle2D getMaxCharBounds(Graphics var1) {
  129.       return this.font.getMaxCharBounds(this.myFRC(var1));
  130.    }
  131.  
  132.    private FontRenderContext myFRC(Graphics var1) {
  133.       return var1 instanceof Graphics2D ? ((Graphics2D)var1).getFontRenderContext() : new FontRenderContext((AffineTransform)null, false, false);
  134.    }
  135.  
  136.    public String toString() {
  137.       return this.getClass().getName() + "[font=" + this.getFont() + "ascent=" + this.getAscent() + ", descent=" + this.getDescent() + ", height=" + this.getHeight() + "]";
  138.    }
  139.  
  140.    private static native void initIDs();
  141.  
  142.    static {
  143.       Toolkit.loadLibraries();
  144.       initIDs();
  145.    }
  146. }
  147.