home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / awt / FontMetrics.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  4.5 KB  |  168 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.    private static final FontRenderContext DEFAULT_FRC;
  12.    protected Font font;
  13.    private static final long serialVersionUID = 1681126225205050147L;
  14.  
  15.    protected FontMetrics(Font var1) {
  16.       this.font = var1;
  17.    }
  18.  
  19.    public Font getFont() {
  20.       return this.font;
  21.    }
  22.  
  23.    public FontRenderContext getFontRenderContext() {
  24.       return DEFAULT_FRC;
  25.    }
  26.  
  27.    public int getLeading() {
  28.       return 0;
  29.    }
  30.  
  31.    public int getAscent() {
  32.       return this.font.getSize();
  33.    }
  34.  
  35.    public int getDescent() {
  36.       return 0;
  37.    }
  38.  
  39.    public int getHeight() {
  40.       return this.getLeading() + this.getAscent() + this.getDescent();
  41.    }
  42.  
  43.    public int getMaxAscent() {
  44.       return this.getAscent();
  45.    }
  46.  
  47.    public int getMaxDescent() {
  48.       return this.getDescent();
  49.    }
  50.  
  51.    /** @deprecated */
  52.    @Deprecated
  53.    public int getMaxDecent() {
  54.       return this.getMaxDescent();
  55.    }
  56.  
  57.    public int getMaxAdvance() {
  58.       return -1;
  59.    }
  60.  
  61.    public int charWidth(int var1) {
  62.       if (!Character.isValidCodePoint(var1)) {
  63.          var1 = 65535;
  64.       }
  65.  
  66.       if (var1 < 256) {
  67.          return this.getWidths()[var1];
  68.       } else {
  69.          char[] var2 = new char[2];
  70.          int var3 = Character.toChars(var1, var2, 0);
  71.          return this.charsWidth(var2, 0, var3);
  72.       }
  73.    }
  74.  
  75.    public int charWidth(char var1) {
  76.       if (var1 < 256) {
  77.          return this.getWidths()[var1];
  78.       } else {
  79.          char[] var2 = new char[]{var1};
  80.          return this.charsWidth(var2, 0, 1);
  81.       }
  82.    }
  83.  
  84.    public int stringWidth(String var1) {
  85.       int var2 = var1.length();
  86.       char[] var3 = new char[var2];
  87.       var1.getChars(0, var2, var3, 0);
  88.       return this.charsWidth(var3, 0, var2);
  89.    }
  90.  
  91.    public int charsWidth(char[] var1, int var2, int var3) {
  92.       return this.stringWidth(new String(var1, var2, var3));
  93.    }
  94.  
  95.    public int bytesWidth(byte[] var1, int var2, int var3) {
  96.       return this.stringWidth(new String(var1, 0, var2, var3));
  97.    }
  98.  
  99.    public int[] getWidths() {
  100.       int[] var1 = new int[256];
  101.  
  102.       for(char var2 = 0; var2 < 256; ++var2) {
  103.          var1[var2] = this.charWidth(var2);
  104.       }
  105.  
  106.       return var1;
  107.    }
  108.  
  109.    public boolean hasUniformLineMetrics() {
  110.       return this.font.hasUniformLineMetrics();
  111.    }
  112.  
  113.    public LineMetrics getLineMetrics(String var1, Graphics var2) {
  114.       return this.font.getLineMetrics(var1, this.myFRC(var2));
  115.    }
  116.  
  117.    public LineMetrics getLineMetrics(String var1, int var2, int var3, Graphics var4) {
  118.       return this.font.getLineMetrics(var1, var2, var3, this.myFRC(var4));
  119.    }
  120.  
  121.    public LineMetrics getLineMetrics(char[] var1, int var2, int var3, Graphics var4) {
  122.       return this.font.getLineMetrics(var1, var2, var3, this.myFRC(var4));
  123.    }
  124.  
  125.    public LineMetrics getLineMetrics(CharacterIterator var1, int var2, int var3, Graphics var4) {
  126.       return this.font.getLineMetrics(var1, var2, var3, this.myFRC(var4));
  127.    }
  128.  
  129.    public Rectangle2D getStringBounds(String var1, Graphics var2) {
  130.       return this.font.getStringBounds(var1, this.myFRC(var2));
  131.    }
  132.  
  133.    public Rectangle2D getStringBounds(String var1, int var2, int var3, Graphics var4) {
  134.       return this.font.getStringBounds(var1, var2, var3, this.myFRC(var4));
  135.    }
  136.  
  137.    public Rectangle2D getStringBounds(char[] var1, int var2, int var3, Graphics var4) {
  138.       return this.font.getStringBounds(var1, var2, var3, this.myFRC(var4));
  139.    }
  140.  
  141.    public Rectangle2D getStringBounds(CharacterIterator var1, int var2, int var3, Graphics var4) {
  142.       return this.font.getStringBounds(var1, var2, var3, this.myFRC(var4));
  143.    }
  144.  
  145.    public Rectangle2D getMaxCharBounds(Graphics var1) {
  146.       return this.font.getMaxCharBounds(this.myFRC(var1));
  147.    }
  148.  
  149.    private FontRenderContext myFRC(Graphics var1) {
  150.       return var1 instanceof Graphics2D ? ((Graphics2D)var1).getFontRenderContext() : DEFAULT_FRC;
  151.    }
  152.  
  153.    public String toString() {
  154.       return this.getClass().getName() + "[font=" + this.getFont() + "ascent=" + this.getAscent() + ", descent=" + this.getDescent() + ", height=" + this.getHeight() + "]";
  155.    }
  156.  
  157.    private static native void initIDs();
  158.  
  159.    static {
  160.       Toolkit.loadLibraries();
  161.       if (!GraphicsEnvironment.isHeadless()) {
  162.          initIDs();
  163.       }
  164.  
  165.       DEFAULT_FRC = new FontRenderContext((AffineTransform)null, false, false);
  166.    }
  167. }
  168.