diff options
Diffstat (limited to 'awt/org/apache/harmony/awt/gl/font/BasicMetrics.java')
-rw-r--r-- | awt/org/apache/harmony/awt/gl/font/BasicMetrics.java | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/awt/org/apache/harmony/awt/gl/font/BasicMetrics.java b/awt/org/apache/harmony/awt/gl/font/BasicMetrics.java deleted file mode 100644 index c0fb390..0000000 --- a/awt/org/apache/harmony/awt/gl/font/BasicMetrics.java +++ /dev/null @@ -1,134 +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 Oleg V. Khaschansky - * @version $Revision$ - * - */ - -package org.apache.harmony.awt.gl.font; - -import java.awt.font.LineMetrics; -import java.awt.font.GraphicAttribute; -import java.awt.*; - -/** - * Date: May 14, 2005 - * Time: 7:44:13 PM - * - * This class incapsulates text metrics specific for the text layout or - * for the separate text segment. Text segment is a text run with the constant direction - * and attributes like font, decorations, etc. BasicMetrics is also used to store - * calculated text metrics like advance, ascent or descent. this class is very similar to - * LineMetrics, but provides some additional info, constructors and is more transparent. - */ -public class BasicMetrics { - int baseLineIndex; - - float ascent; // Ascent of the font - float descent; // Descent of the font - float leading; // External leading - float advance; - - float italicAngle; - float superScriptOffset; - - float underlineOffset; - float underlineThickness; - - float strikethroughOffset; - float strikethroughThickness; - - /** - * Constructs BasicMetrics from LineMetrics and font - * @param lm - * @param font - */ - BasicMetrics(LineMetrics lm, Font font) { - ascent = lm.getAscent(); - descent = lm.getDescent(); - leading = lm.getLeading(); - - underlineOffset = lm.getUnderlineOffset(); - underlineThickness = lm.getUnderlineThickness(); - - strikethroughOffset = lm.getStrikethroughOffset(); - strikethroughThickness = lm.getStrikethroughThickness(); - - baseLineIndex = lm.getBaselineIndex(); - - italicAngle = font.getItalicAngle(); - superScriptOffset = (float) font.getTransform().getTranslateY(); - } - - /** - * Constructs BasicMetrics from GraphicAttribute. - * It gets ascent and descent from the graphic attribute and - * computes reasonable defaults for other metrics. - * @param ga - graphic attribute - */ - BasicMetrics(GraphicAttribute ga) { - ascent = ga.getAscent(); - descent = ga.getDescent(); - leading = 2; - - baseLineIndex = ga.getAlignment(); - - italicAngle = 0; - superScriptOffset = 0; - - underlineOffset = Math.max(descent/2, 1); - - // Just suggested, should be cap_stem_width or something like that - underlineThickness = Math.max(ascent/13, 1); - - strikethroughOffset = -ascent/2; // Something like middle of the line - strikethroughThickness = underlineThickness; - } - - /** - * Copies metrics from the TextMetricsCalculator object. - * @param tmc - TextMetricsCalculator object - */ - BasicMetrics(TextMetricsCalculator tmc) { - ascent = tmc.ascent; - descent = tmc.descent; - leading = tmc.leading; - advance = tmc.advance; - baseLineIndex = tmc.baselineIndex; - } - - public float getAscent() { - return ascent; - } - - public float getDescent() { - return descent; - } - - public float getLeading() { - return leading; - } - - public float getAdvance() { - return advance; - } - - public int getBaseLineIndex() { - return baseLineIndex; - } -} |