diff options
Diffstat (limited to 'awt/java/awt/FontMetrics.java')
-rw-r--r-- | awt/java/awt/FontMetrics.java | 466 |
1 files changed, 0 insertions, 466 deletions
diff --git a/awt/java/awt/FontMetrics.java b/awt/java/awt/FontMetrics.java deleted file mode 100644 index 9082626..0000000 --- a/awt/java/awt/FontMetrics.java +++ /dev/null @@ -1,466 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/** - * @author Ilya S. Okomin - * @version $Revision$ - */ - -package java.awt; - -import java.awt.font.FontRenderContext; -import java.awt.font.LineMetrics; -import java.awt.geom.Rectangle2D; -import java.io.Serializable; -import java.text.CharacterIterator; - -import org.apache.harmony.awt.internal.nls.Messages; - -/** - * The FontMetrics class contains information about the rendering of a - * particular font on a particular screen. - * <p> - * Each character in the Font has three values that help define where to place - * it: an ascent, a descent, and an advance. The ascent is the distance the - * character extends above the baseline. The descent is the distance the - * character extends below the baseline. The advance width defines the position - * at which the next character should be placed. - * <p> - * An array of characters or a string has an ascent, a descent, and an advance - * width too. The ascent or descent of the array is specified by the maximum - * ascent or descent of the characters in the array. The advance width is the - * sum of the advance widths of each of the characters in the character array. - * </p> - * - * @since Android 1.0 - */ -public abstract class FontMetrics implements Serializable { - - /** - * The Constant serialVersionUID. - */ - private static final long serialVersionUID = 1681126225205050147L; - - /** - * The font from which the FontMetrics is created. - */ - protected Font font; - - /** - * Instantiates a new font metrics from the specified Font. - * - * @param fnt - * the Font. - */ - protected FontMetrics(Font fnt) { - this.font = fnt; - } - - /** - * Returns the String representation of this FontMetrics. - * - * @return the string. - */ - @Override - public String toString() { - return this.getClass().getName() + "[font=" + this.getFont() + //$NON-NLS-1$ - "ascent=" + this.getAscent() + //$NON-NLS-1$ - ", descent=" + this.getDescent() + //$NON-NLS-1$ - ", height=" + this.getHeight() + "]"; //$NON-NLS-1$ //$NON-NLS-2$ - } - - /** - * Gets the font associated with this FontMetrics. - * - * @return the font associated with this FontMetrics. - */ - public Font getFont() { - return font; - } - - /** - * Gets the height of the text line in this Font. - * - * @return the height of the text line in this Font. - */ - public int getHeight() { - return this.getAscent() + this.getDescent() + this.getLeading(); - } - - /** - * Gets the font ascent of the Font associated with this FontMetrics. The - * font ascent is the distance from the font's baseline to the top of most - * alphanumeric characters. - * - * @return the ascent of the Font associated with this FontMetrics. - */ - public int getAscent() { - return 0; - } - - /** - * Gets the font descent of the Font associated with this FontMetrics. The - * font descent is the distance from the font's baseline to the bottom of - * most alphanumeric characters with descenders. - * - * @return the descent of the Font associated with this FontMetrics. - */ - public int getDescent() { - return 0; - } - - /** - * Gets the leading of the Font associated with this FontMetrics. - * - * @return the leading of the Font associated with this FontMetrics. - */ - public int getLeading() { - return 0; - } - - /** - * Gets the LineMetrics object for the specified CharacterIterator in the - * specified Graphics. - * - * @param ci - * the CharacterIterator. - * @param beginIndex - * the offset. - * @param limit - * the number of characters to be used. - * @param context - * the Graphics. - * @return the LineMetrics object for the specified CharacterIterator in the - * specified Graphics. - */ - public LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex, int limit, - Graphics context) { - return font.getLineMetrics(ci, beginIndex, limit, this.getFRCFromGraphics(context)); - } - - /** - * Gets the LineMetrics object for the specified String in the specified - * Graphics. - * - * @param str - * the String. - * @param context - * the Graphics. - * @return the LineMetrics object for the specified String in the specified - * Graphics. - */ - public LineMetrics getLineMetrics(String str, Graphics context) { - return font.getLineMetrics(str, this.getFRCFromGraphics(context)); - } - - /** - * Gets the LineMetrics object for the specified character array in the - * specified Graphics. - * - * @param chars - * the character array. - * @param beginIndex - * the offset of array. - * @param limit - * the number of characters to be used. - * @param context - * the Graphics. - * @return the LineMetrics object for the specified character array in the - * specified Graphics. - */ - public LineMetrics getLineMetrics(char[] chars, int beginIndex, int limit, Graphics context) { - return font.getLineMetrics(chars, beginIndex, limit, this.getFRCFromGraphics(context)); - } - - /** - * Gets the LineMetrics object for the specified String in the specified - * Graphics. - * - * @param str - * the String. - * @param beginIndex - * the offset. - * @param limit - * the number of characters to be used. - * @param context - * the Graphics. - * @return the LineMetrics object for the specified String in the specified - * Graphics. - */ - public LineMetrics getLineMetrics(String str, int beginIndex, int limit, Graphics context) { - return font.getLineMetrics(str, beginIndex, limit, this.getFRCFromGraphics(context)); - } - - /** - * Returns the character's maximum bounds in the specified Graphics context. - * - * @param context - * the Graphics context. - * @return the character's maximum bounds in the specified Graphics context. - */ - public Rectangle2D getMaxCharBounds(Graphics context) { - return this.font.getMaxCharBounds(this.getFRCFromGraphics(context)); - } - - /** - * Gets the bounds of the specified CharacterIterator in the specified - * Graphics context. - * - * @param ci - * the CharacterIterator. - * @param beginIndex - * the begin offset of the array. - * @param limit - * the number of characters. - * @param context - * the Graphics. - * @return the bounds of the specified CharacterIterator in the specified - * Graphics context. - */ - public Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit, - Graphics context) { - return font.getStringBounds(ci, beginIndex, limit, this.getFRCFromGraphics(context)); - } - - /** - * Gets the bounds of the specified String in the specified Graphics - * context. - * - * @param str - * the String. - * @param beginIndex - * the begin offset of the array. - * @param limit - * the number of characters. - * @param context - * the Graphics. - * @return the bounds of the specified String in the specified Graphics - * context. - */ - public Rectangle2D getStringBounds(String str, int beginIndex, int limit, Graphics context) { - return font.getStringBounds(str, beginIndex, limit, this.getFRCFromGraphics(context)); - } - - /** - * Gets the bounds of the specified characters array in the specified - * Graphics context. - * - * @param chars - * the characters array. - * @param beginIndex - * the begin offset of the array. - * @param limit - * the number of characters. - * @param context - * the Graphics. - * @return the bounds of the specified characters array in the specified - * Graphics context. - */ - public Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit, Graphics context) { - return font.getStringBounds(chars, beginIndex, limit, this.getFRCFromGraphics(context)); - } - - /** - * Gets the bounds of the specified String in the specified Graphics - * context. - * - * @param str - * the String. - * @param context - * the Graphics. - * @return the bounds of the specified String in the specified Graphics - * context. - */ - public Rectangle2D getStringBounds(String str, Graphics context) { - return font.getStringBounds(str, this.getFRCFromGraphics(context)); - } - - /** - * Checks if the Font has uniform line metrics or not. The Font can contain - * characters of other fonts for covering character set. In this case the - * Font isn't uniform. - * - * @return true, if the Font has uniform line metrics, false otherwise. - */ - public boolean hasUniformLineMetrics() { - return this.font.hasUniformLineMetrics(); - } - - /** - * Returns the distance from the leftmost point to the rightmost point on - * the string's baseline showing the specified array of bytes in this Font. - * - * @param data - * the array of bytes to be measured. - * @param off - * the start offset. - * @param len - * the number of bytes to be measured. - * @return the advance width of the array. - */ - public int bytesWidth(byte[] data, int off, int len) { - int width = 0; - if ((off >= data.length) || (off < 0)) { - // awt.13B=offset off is out of range - throw new IllegalArgumentException(Messages.getString("awt.13B")); //$NON-NLS-1$ - } - - if ((off + len > data.length)) { - // awt.13C=number of elemets len is out of range - throw new IllegalArgumentException(Messages.getString("awt.13C")); //$NON-NLS-1$ - } - - for (int i = off; i < off + len; i++) { - width += charWidth(data[i]); - } - - return width; - } - - /** - * Returns the distance from the leftmost point to the rightmost point on - * the string's baseline showing the specified array of characters in this - * Font. - * - * @param data - * the array of characters to be measured. - * @param off - * the start offset. - * @param len - * the number of bytes to be measured. - * @return the advance width of the array. - */ - public int charsWidth(char[] data, int off, int len) { - int width = 0; - if ((off >= data.length) || (off < 0)) { - // awt.13B=offset off is out of range - throw new IllegalArgumentException(Messages.getString("awt.13B")); //$NON-NLS-1$ - } - - if ((off + len > data.length)) { - // awt.13C=number of elemets len is out of range - throw new IllegalArgumentException(Messages.getString("awt.13C")); //$NON-NLS-1$ - } - - for (int i = off; i < off + len; i++) { - width += charWidth(data[i]); - } - - return width; - } - - /** - * Returns the distance from the leftmost point to the rightmost point of - * the specified character in this Font. - * - * @param ch - * the specified Unicode point code of character to be measured. - * @return the advance width of the character. - */ - public int charWidth(int ch) { - return 0; - } - - /** - * Returns the distance from the leftmost point to the rightmost point of - * the specified character in this Font. - * - * @param ch - * the specified character to be measured. - * @return the advance width of the character. - */ - public int charWidth(char ch) { - return 0; - } - - /** - * Gets the maximum advance width of character in this Font. - * - * @return the maximum advance width of character in this Font. - */ - public int getMaxAdvance() { - return 0; - } - - /** - * Gets the maximum font ascent of the Font associated with this - * FontMetrics. - * - * @return the maximum font ascent of the Font associated with this - * FontMetrics. - */ - public int getMaxAscent() { - return 0; - } - - /** - * Gets the maximum font descent of character in this Font. - * - * @return the maximum font descent of character in this Font. - * @deprecated Replaced by getMaxDescent() method. - */ - @Deprecated - public int getMaxDecent() { - return 0; - } - - /** - * Gets the maximum font descent of character in this Font. - * - * @return the maximum font descent of character in this Font. - */ - public int getMaxDescent() { - return 0; - } - - /** - * Gets the advance widths of the characters in the Font. - * - * @return the advance widths of the characters in the Font. - */ - public int[] getWidths() { - return null; - } - - /** - * Returns the advance width for the specified String in this Font. - * - * @param str - * String to be measured. - * @return the the advance width for the specified String in this Font. - */ - public int stringWidth(String str) { - return 0; - } - - /** - * Returns a FontRenderContext instance of the Graphics context specified. - * - * @param context - * the specified Graphics context. - * @return a FontRenderContext of the specified Graphics context. - */ - private FontRenderContext getFRCFromGraphics(Graphics context) { - FontRenderContext frc; - if (context instanceof Graphics2D) { - frc = ((Graphics2D)context).getFontRenderContext(); - } else { - frc = new FontRenderContext(null, false, false); - } - - return frc; - } -} |