[kaffe] CVS kaffe (robilad): Resynced with GNU classpath: fontMetrics cleanup

Kaffe CVS cvs-commits at kaffe.org
Tue Apr 19 10:05:42 PDT 2005


PatchSet 5715 
Date: 2005/04/19 16:53:34
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
Resynced with GNU classpath: fontMetrics cleanup

2005-04-19  Dalibor Topic  <robilad at kaffe.org>

        Resynced with GNU Classpath.

        2005-04-12  Michael Koch  <konqueror at gmx.de>

        * java/awt/FontMetrics.java: Reformatted.
        (getFontRenderContext): Handle case when java.awt.Graphics context is
        given.

Members: 
	ChangeLog:1.3882->1.3883 
	libraries/javalib/java/awt/FontMetrics.java:1.15->1.16 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.3882 kaffe/ChangeLog:1.3883
--- kaffe/ChangeLog:1.3882	Tue Apr 19 16:52:04 2005
+++ kaffe/ChangeLog	Tue Apr 19 16:53:34 2005
@@ -4,6 +4,16 @@
 
 	2005-04-12  Michael Koch  <konqueror at gmx.de>
 
+        * java/awt/FontMetrics.java: Reformatted.
+        (getFontRenderContext): Handle case when java.awt.Graphics context is
+        given.
+
+2005-04-19  Dalibor Topic  <robilad at kaffe.org>
+
+        Resynced with GNU Classpath.
+
+	2005-04-12  Michael Koch  <konqueror at gmx.de>
+
         * java/awt/FontMetrics.java
         (getStringBounds): New methods.
 
Index: kaffe/libraries/javalib/java/awt/FontMetrics.java
diff -u kaffe/libraries/javalib/java/awt/FontMetrics.java:1.15 kaffe/libraries/javalib/java/awt/FontMetrics.java:1.16
--- kaffe/libraries/javalib/java/awt/FontMetrics.java:1.15	Tue Apr 19 16:52:07 2005
+++ kaffe/libraries/javalib/java/awt/FontMetrics.java	Tue Apr 19 16:53:38 2005
@@ -50,7 +50,7 @@
   * This class returns information about the display characteristics of
   * a font.  It is abstract, and concrete subclasses should implement at
   * least the following methods:
-  * <p>
+  *
   * <ul>
   * <li>getAscent()</li>
   * <li>getDescent()</li>
@@ -64,422 +64,355 @@
   */
 public abstract class FontMetrics implements java.io.Serializable
 {
+  // Serialization constant.
+  private static final long serialVersionUID = 1681126225205050147L;
 
-/*
- * Static Variables
- */
-
-// Serialization constant
-private static final long serialVersionUID = 1681126225205050147L;
-
-/*************************************************************************/
-
-/*
- * Instance Variables
- */
-
-/**
-  * This is the font for which metrics will be returned.
-  */
-protected Font font;
-
-/*************************************************************************/
-
-/*
- * Constructors
- */
-
-/**
-  * Initializes a new instance of <code>FontMetrics</code> for the
-  * specified font.
-  *
-  * @param font The font to return metric information for.
-  */
-protected
-FontMetrics(Font font)
-{
-  this.font = font;
-}
-
-/*************************************************************************/
-
-/*
- * Instance Methods
- */
-
-/**
-  * Returns the font that this object is creating metric information fo.
-  *
-  * @return The font for this object.
-  */
-public Font
-getFont()
-{
-  return(font);
-}
-
-/*************************************************************************/
-
-/**
-  * Returns the leading, or spacing between lines, for this font.
-  *
-  * @return The font leading.
-  */
-public int
-getLeading()
-{
-  return(0);
-}
-
-/*************************************************************************/
-
-/**
-  * Returns the ascent of the font, which is the distance from the base
-  * to the top of the majority of characters in the set.  Some characters
-  * can exceed this value however.
-  *
-  * @return The font ascent.
-  */
-public int
-getAscent()
-{
-  return(1);
-}
-
-/*************************************************************************/
-
-/**
-  * Returns the descent of the font, which is the distance from the base
-  * to the bottom of the majority of characters in the set.  Some characters
-  * can exceed this value however.
-  *
-  * @return The font descent.
-  */
-public int
-getDescent()
-{
-  return(1);
-}
-
-/*************************************************************************/
-
-/**
-  * Returns the height of a line in this font.  This will be the sum
-  * of the leading, the ascent, and the descent.
-  *
-  * @return The height of the font.
-  */
-public int
-getHeight()
-{
-  return(getAscent() + getDescent() + getLeading());
-}
-
-/*************************************************************************/
-
-/**
-  * Returns the maximum ascent value.  This is the maximum distance any
-  * character in the font rised above the baseline.
-  *
-  * @return The maximum ascent for this font.
-  */
-public int
-getMaxAscent()
-{
-  return(getAscent());
-}
-
-/*************************************************************************/
+  /**
+   * This is the font for which metrics will be returned.
+   */
+  protected Font font;
+
+  /**
+   * Initializes a new instance of <code>FontMetrics</code> for the
+   * specified font.
+   *
+   * @param font The font to return metric information for.
+   */
+  protected FontMetrics(Font font)
+  {
+    this.font = font;
+  }
 
-/**
-  * Returns the maximum descent value.  This is the maximum distance any
-  * character in the font extends below the baseline.
-  *
-  * @return The maximum descent for this font.
-  */
-public int
-getMaxDescent()
-{
-  return getMaxDecent ();
-}
+  /**
+   * Returns the font that this object is creating metric information fo.
+   *
+   * @return The font for this object.
+   */
+  public Font getFont()
+  {
+    return font;
+  }
 
-/*************************************************************************/
+  /**
+   * Returns the leading, or spacing between lines, for this font.
+   *
+   * @return The font leading.
+   */
+  public int getLeading()
+  {
+    return 0;
+  }
 
-/**
-  * Returns the maximum descent value.  This is the maximum distance any
-  * character in the font extends below the baseline.
-  *
-  * @return The maximum descent for this font.
-  *
-  * @deprecated This method is deprecated in favor of
-  * <code>getMaxDescent()</code>.
-  */
-public int
-getMaxDecent()
-{
-  return getDescent ();
-}
+  /**
+   * Returns the ascent of the font, which is the distance from the base
+   * to the top of the majority of characters in the set.  Some characters
+   * can exceed this value however.
+   *
+   * @return The font ascent.
+   */
+  public int getAscent()
+  {
+    return 1;
+  }
 
-/*************************************************************************/
+  /**
+   * Returns the descent of the font, which is the distance from the base
+   * to the bottom of the majority of characters in the set.  Some characters
+   * can exceed this value however.
+   *
+   * @return The font descent.
+   */
+  public int getDescent()
+  {
+    return 1;
+  }
 
-/**
-  * Returns the width of the widest character in the font.
-  *
-  * @return The width of the widest character in the font.
-  */
-public int
-getMaxAdvance()
-{
-  return(-1);
-}
+  /**
+   * Returns the height of a line in this font.  This will be the sum
+   * of the leading, the ascent, and the descent.
+   *
+   * @return The height of the font.
+   */
+  public int getHeight()
+  {
+    return getAscent() + getDescent() + getLeading();
+  }
 
-/*************************************************************************/
+  /**
+   * Returns the maximum ascent value.  This is the maximum distance any
+   * character in the font rised above the baseline.
+   *
+   * @return The maximum ascent for this font.
+   */
+  public int getMaxAscent()
+  {
+    return getAscent();
+  }
 
-/**
-  * Returns the width of the specified character.
-  *
-  * @param ch The character to return the width of.
-  *
-  * @return The width of the specified character.
-  */
-public int
-charWidth(int ch)
-{
-  return(charWidth((char)ch));
-}
+  /**
+   * Returns the maximum descent value.  This is the maximum distance any
+   * character in the font extends below the baseline.
+   *
+   * @return The maximum descent for this font.
+   */
+  public int getMaxDescent()
+  {
+    return getMaxDecent();
+  }
 
-/*************************************************************************/
+  /**
+   * Returns the maximum descent value.  This is the maximum distance any
+   * character in the font extends below the baseline.
+   *
+   * @return The maximum descent for this font.
+   *
+   * @deprecated This method is deprecated in favor of
+   * <code>getMaxDescent()</code>.
+   */
+  public int getMaxDecent()
+  {
+    return getDescent();
+  }
 
-/**
-  * Returns the width of the specified character.
-  *
-  * @param ch The character to return the width of.
-  *
-  * @return The width of the specified character.
-  */
-public int
-charWidth(char ch)
-{
-  return(1);
-}
+  /**
+   * Returns the width of the widest character in the font.
+   *
+   * @return The width of the widest character in the font.
+   */
+  public int getMaxAdvance()
+  {
+    return -1;
+  }
 
-/*************************************************************************/
+  /**
+   * Returns the width of the specified character.
+   *
+   * @param ch The character to return the width of.
+   *
+   * @return The width of the specified character.
+   */
+  public int charWidth(int ch)
+  {
+    return charWidth((char) ch);
+  }
 
-/**
-  * Returns the total width of the specified string
-  *
-  * @param str The string to return the width of.
-  *
-  * @return The width of the string.
-  */
-public int
-stringWidth(String str)
-{
-  char[] buf = new char[str.length()];
-  str.getChars(0, str.length(), buf, 0);
+  /**
+   * Returns the width of the specified character.
+   *
+   * @param ch The character to return the width of.
+   *
+   * @return The width of the specified character.
+   */
+  public int charWidth(char ch)
+  {
+    return 1;
+  }
 
-  return(charsWidth(buf, 0, buf.length));
-}
+  /**
+   * Returns the total width of the specified string
+   *
+   * @param str The string to return the width of.
+   *
+   * @return The width of the string.
+   */
+  public int stringWidth(String str)
+  {
+    char[] buf = new char[str.length()];
+    str.getChars(0, str.length(), buf, 0);
 
-/*************************************************************************/
+    return charsWidth(buf, 0, buf.length);
+  }
 
-/**
-  * Returns the total width of the specified character array.
-  *
-  * @param buf The character array containing the data.
-  * @param offset The offset into the array to start calculating from.
-  * @param len The total number of bytes to process.
-  *
-  * @return The width of the requested characters.
-  */
-public int
-charsWidth(char buf[], int offset, int len)
-{
-  int total_width = 0;
-  for (int i = offset; i < len; i++)
-    total_width += charWidth(buf[i]);
-  return(total_width);
-}
+  /**
+   * Returns the total width of the specified character array.
+   *
+   * @param buf The character array containing the data.
+   * @param offset The offset into the array to start calculating from.
+   * @param len The total number of bytes to process.
+   *
+   * @return The width of the requested characters.
+   */
+  public int charsWidth(char[] buf, int offset, int len)
+  {
+    int total_width = 0;
+    for (int i = offset; i < len; i++)
+      total_width += charWidth(buf[i]);
+    return total_width;
+  }
 
-/*************************************************************************/
+  /**
+   * Returns the total width of the specified byte array.
+   *
+   * @param buf The byte array containing the data.
+   * @param offset The offset into the array to start calculating from.
+   * @param len The total number of bytes to process.
+   *
+   * @return The width of the requested characters.
+   */
+  public int bytesWidth(byte[] buf, int offset, int len)
+  {
+    int total_width = 0;
+    for (int i = offset; i < len; i++)
+      total_width = charWidth((char) buf[i]);
 
-/**
-  * Returns the total width of the specified byte array.
-  *
-  * @param buf The byte array containing the data.
-  * @param offset The offset into the array to start calculating from.
-  * @param len The total number of bytes to process.
-  *
-  * @return The width of the requested characters.
-  */
-public int
-bytesWidth(byte buf[], int offset, int len)
-{
-  int total_width = 0;
-  for (int i = offset; i < len; i++)
-    total_width = charWidth((char)buf[i]);
+    return total_width;
+  }
 
-  return(total_width);
-}
+  /**
+   * Returns the widths of the first 256 characters in the font.
+   *
+   * @return The widths of the first 256 characters in the font.
+   */
+  public int[] getWidths()
+  {
+    int[] result = new int[256];
+    for (char i = 0; i < 256; i++)
+      result[i] = charWidth(i);
+    return result;
+  }
 
-/*************************************************************************/
+  /**
+   * Returns a string representation of this object.
+   *
+   * @return A string representation of this object.
+   */
+  public String toString()
+  {
+    return (this.getClass() + "[font=" + font + ",ascent=" + getAscent()
+            + ",descent=" + getDescent() + ",height=" + getHeight() + "]");
+  }
 
-/**
-  * Returns the widths of the first 256 characters in the font.
-  *
-  * @return The widths of the first 256 characters in the font.
-  */
-public int[]
-getWidths()
-{
-  int [] result = new int[256];
-  for(char i = 0; i < 256; i++)
+  // Generic FontRenderContext used when getLineMetrics is called with a
+  // plain Graphics object.
+  private static final FontRenderContext gRC = new FontRenderContext(null,
+                                                                     false,
+                                                                     false);
+
+  /**
+   * Returns a {@link LineMetrics} object constructed with the
+   * specified text and the {@link FontRenderContext} of the Graphics
+   * object when it is an instance of Graphics2D or a generic
+   * FontRenderContext with a null transform, not anti-aliased and not
+   * using fractional metrics.
+   *
+   * @param text The string to calculate metrics from.
+   * @param g The Graphics object that will be used.
+   *
+   * @return A new {@link LineMetrics} object.
+   */
+  public LineMetrics getLineMetrics(String text, Graphics g)
   {
-    result[i]= charWidth(i);
+    return getLineMetrics(text, 0, text.length(), g);
   }
-  return(result);
-}
 
-/*************************************************************************/
+  /**
+   * Returns a {@link LineMetrics} object constructed with the
+   * specified text and the {@link FontRenderContext} of the Graphics
+   * object when it is an instance of Graphics2D or a generic
+   * FontRenderContext with a null transform, not anti-aliased and not
+   * using fractional metrics.
+   *
+   * @param text The string to calculate metrics from.
+   * @param begin Index of first character in <code>text</code> to measure.
+   * @param limit Index of last character in <code>text</code> to measure.
+   * @param g The Graphics object that will be used.
+   *
+   * @return A new {@link LineMetrics} object.
+   *
+   * @throws IndexOutOfBoundsException if the range [begin, limit] is
+   * invalid in <code>text</code>.
+   */
+  public LineMetrics getLineMetrics(String text, int begin, int limit,
+                                    Graphics g)
+  {
+    FontRenderContext rc;
+    if (g instanceof Graphics2D)
+      rc = ((Graphics2D) g).getFontRenderContext();
+    else
+      rc = gRC;
+    return font.getLineMetrics(text, begin, limit, rc);
+  }
 
-/**
-  * Returns a string representation of this object.
-  *
-  * @return A string representation of this object.
-  */
-public String
-toString()
-{
-  return (this.getClass() + "[font=" + font + ",ascent=" + getAscent() 
-	  + ",descent=" + getDescent() + ",height=" + getHeight() + "]");
-}
-
-
-// Generic FontRenderContext used when getLineMetrics is called with a
-// plain Graphics object.
-private static final FontRenderContext gRC = new FontRenderContext(null,
-								   false,
-								   false);
-
-/**
-  * Returns a {@link LineMetrics} object constructed with the
-  * specified text and the {@link FontRenderContext} of the Graphics
-  * object when it is an instance of Graphics2D or a generic
-  * FontRenderContext with a null transform, not anti-aliased and not
-  * using fractional metrics.
-  *
-  * @param text The string to calculate metrics from.
-  * @param g The Graphics object that will be used.
-  *
-  * @return A new {@link LineMetrics} object.
-  */
-public LineMetrics getLineMetrics(String text, Graphics g)
-{
-  return getLineMetrics(text, 0, text.length(), g);
-}
+  /**
+   * Returns a {@link LineMetrics} object constructed with the
+   * specified text and the {@link FontRenderContext} of the Graphics
+   * object when it is an instance of Graphics2D or a generic
+   * FontRenderContext with a null transform, not anti-aliased and not
+   * using fractional metrics.
+   *
+   * @param chars The string to calculate metrics from.
+   * @param begin Index of first character in <code>text</code> to measure.
+   * @param limit Index of last character in <code>text</code> to measure.
+   * @param g The Graphics object that will be used.
+   *
+   * @return A new {@link LineMetrics} object.
+   *
+   * @throws IndexOutOfBoundsException if the range [begin, limit] is
+   * invalid in <code>text</code>.
+   */
+  public LineMetrics getLineMetrics(char[] chars, int begin, int limit,
+                                    Graphics g)
+  {
+    FontRenderContext rc;
+    if (g instanceof Graphics2D)
+      rc = ((Graphics2D) g).getFontRenderContext();
+    else
+      rc = gRC;
+    return font.getLineMetrics(chars, begin, limit, rc);
+  }
 
-/**
- * Returns a {@link LineMetrics} object constructed with the
- * specified text and the {@link FontRenderContext} of the Graphics
- * object when it is an instance of Graphics2D or a generic
- * FontRenderContext with a null transform, not anti-aliased and not
- * using fractional metrics.
- *
- * @param text The string to calculate metrics from.
- * @param begin Index of first character in <code>text</code> to measure.
- * @param limit Index of last character in <code>text</code> to measure.
- * @param g The Graphics object that will be used.
- *
- * @return A new {@link LineMetrics} object.
- *
- * @throws IndexOutOfBoundsException if the range [begin, limit] is
- * invalid in <code>text</code>.
- */
-public LineMetrics getLineMetrics(String text, int begin, 
-				  int limit, Graphics g)
-{
-  FontRenderContext rc;
-  if (g instanceof Graphics2D)
-    rc = ((Graphics2D) g).getFontRenderContext();
-  else
-    rc = gRC;
-  return font.getLineMetrics(text, begin, limit, rc);
-}
-
-/**
- * Returns a {@link LineMetrics} object constructed with the
- * specified text and the {@link FontRenderContext} of the Graphics
- * object when it is an instance of Graphics2D or a generic
- * FontRenderContext with a null transform, not anti-aliased and not
- * using fractional metrics.
- *
- * @param chars The string to calculate metrics from.
- * @param begin Index of first character in <code>text</code> to measure.
- * @param limit Index of last character in <code>text</code> to measure.
- * @param g The Graphics object that will be used.
- *
- * @return A new {@link LineMetrics} object.
- *
- * @throws IndexOutOfBoundsException if the range [begin, limit] is
- * invalid in <code>text</code>.
- */
-public LineMetrics getLineMetrics(char[] chars, int begin, 
-				  int limit, Graphics g)
-{
-  FontRenderContext rc;
-  if (g instanceof Graphics2D)
-    rc = ((Graphics2D) g).getFontRenderContext();
-  else
-    rc = gRC;
-  return font.getLineMetrics(chars, begin, limit, rc);
-}
-
-/**
- * Returns a {@link LineMetrics} object constructed with the
- * specified text and the {@link FontRenderContext} of the Graphics
- * object when it is an instance of Graphics2D or a generic
- * FontRenderContext with a null transform, not anti-aliased and not
- * using fractional metrics.
- *
- * @param ci An iterator over the string to calculate metrics from.
- * @param begin Index of first character in <code>text</code> to measure.
- * @param limit Index of last character in <code>text</code> to measure.
- * @param g The Graphics object that will be used.
- *
- * @return A new {@link LineMetrics} object.
- *
- * @throws IndexOutOfBoundsException if the range [begin, limit] is
- * invalid in <code>text</code>.
- */
-public LineMetrics getLineMetrics(CharacterIterator ci, int begin, 
-				  int limit, Graphics g)
-{
-  FontRenderContext rc;
-  if (g instanceof Graphics2D)
-    rc = ((Graphics2D) g).getFontRenderContext();
-  else
-    rc = gRC;
-  return font.getLineMetrics(ci, begin, limit, rc);
-}
+  /**
+   * Returns a {@link LineMetrics} object constructed with the
+   * specified text and the {@link FontRenderContext} of the Graphics
+   * object when it is an instance of Graphics2D or a generic
+   * FontRenderContext with a null transform, not anti-aliased and not
+   * using fractional metrics.
+   *
+   * @param ci An iterator over the string to calculate metrics from.
+   * @param begin Index of first character in <code>text</code> to measure.
+   * @param limit Index of last character in <code>text</code> to measure.
+   * @param g The Graphics object that will be used.
+   *
+   * @return A new {@link LineMetrics} object.
+   *
+   * @throws IndexOutOfBoundsException if the range [begin, limit] is
+   * invalid in <code>text</code>.
+   */
+  public LineMetrics getLineMetrics(CharacterIterator ci, int begin,
+                                    int limit, Graphics g)
+  {
+    FontRenderContext rc;
+    if (g instanceof Graphics2D)
+      rc = ((Graphics2D) g).getFontRenderContext();
+    else
+      rc = gRC;
+    return font.getLineMetrics(ci, begin, limit, rc);
+  }
 
   public Rectangle2D getStringBounds(String str, Graphics context)
   {
     return font.getStringBounds(str, getFontRenderContext(context));
   }
 
-  public Rectangle2D getStringBounds(String str, int beginIndex, int limit, Graphics context)
+  public Rectangle2D getStringBounds(String str, int beginIndex, int limit,
+                                     Graphics context)
   {
-    return font.getStringBounds(str, beginIndex, limit, getFontRenderContext(context));
+    return font.getStringBounds(str, beginIndex, limit,
+                                getFontRenderContext(context));
   }
 
-  public Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit, Graphics context)
+  public Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit,
+                                     Graphics context)
   {
-    return font.getStringBounds(chars, beginIndex, limit, getFontRenderContext(context));
+    return font.getStringBounds(chars, beginIndex, limit,
+                                getFontRenderContext(context));
   }
 
-  public Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit, Graphics context)
+  public Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex,
+                                     int limit, Graphics context)
   {
-    return font.getStringBounds(ci, beginIndex, limit, getFontRenderContext(context));
+    return font.getStringBounds(ci, beginIndex, limit,
+                                getFontRenderContext(context));
   }
 
   private FontRenderContext getFontRenderContext(Graphics context)
@@ -487,6 +420,6 @@
     if (context instanceof Graphics2D)
       return ((Graphics2D) context).getFontRenderContext();
 
-    throw new UnsupportedOperationException("not implemented for Graphics contexts");
+    return gRC;
   }
 }




More information about the kaffe mailing list