summaryrefslogtreecommitdiffstats
path: root/awt/java/awt/FontMetrics.java
diff options
context:
space:
mode:
Diffstat (limited to 'awt/java/awt/FontMetrics.java')
-rw-r--r--awt/java/awt/FontMetrics.java466
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;
- }
-}