diff options
Diffstat (limited to 'awt/org/apache/harmony/awt/gl/font/TextRunSegment.java')
-rw-r--r-- | awt/org/apache/harmony/awt/gl/font/TextRunSegment.java | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/awt/org/apache/harmony/awt/gl/font/TextRunSegment.java b/awt/org/apache/harmony/awt/gl/font/TextRunSegment.java deleted file mode 100644 index 1cd2c05..0000000 --- a/awt/org/apache/harmony/awt/gl/font/TextRunSegment.java +++ /dev/null @@ -1,165 +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.Graphics2D; -import java.awt.Shape; -import java.awt.font.TextHitInfo; -import java.awt.geom.Rectangle2D; - -/** - * Abstract class which represents the segment of the text with constant attributes - * running in one direction (i.e. constant level). - */ -public abstract class TextRunSegment implements Cloneable { - float x; // Calculated x location of this segment on the screen - float y; // Calculated y location of this segment on the screen - - BasicMetrics metrics; // Metrics of this text run segment - TextDecorator.Decoration decoration; // Underline, srikethrough, etc. - Rectangle2D logicalBounds = null; // Logical bounding box for the segment - Rectangle2D visualBounds = null; // Visual bounding box for the segment - - /** - * Returns start index of the segment - * @return start index - */ - abstract int getStart(); - - /** - * Returns end index of the segment - * @return end index - */ - abstract int getEnd(); - - /** - * Returns the number of characters in the segment - * @return number of characters - */ - abstract int getLength(); - - /** - * Renders this text run segment - * @param g2d - graphics to render to - * @param xOffset - X offset from the graphics origin to the - * origin of the text layout - * @param yOffset - Y offset from the graphics origin to the - * origin of the text layout - */ - abstract void draw(Graphics2D g2d, float xOffset, float yOffset); - - /** - * Creates black box bounds shape for the specified range - * @param start - range sart - * @param limit - range end - * @return black box bounds shape - */ - abstract Shape getCharsBlackBoxBounds(int start, int limit); - - /** - * Returns the outline shape - * @return outline - */ - abstract Shape getOutline(); - - /** - * Returns visual bounds of this segment - * @return visual bounds - */ - abstract Rectangle2D getVisualBounds(); - - /** - * Returns logical bounds of this segment - * @return logical bounds - */ - abstract Rectangle2D getLogicalBounds(); - - /** - * Calculates advance of the segment - * @return advance - */ - abstract float getAdvance(); - - /** - * Calculates advance delta between two characters - * @param start - 1st position - * @param end - 2nd position - * @return advance increment between specified positions - */ - abstract float getAdvanceDelta(int start, int end); - - /** - * Calculates index of the character which advance is equal to - * the given. If the given advance is greater then the segment - * advance it returns the position after the last character. - * @param advance - given advance - * @param start - character, from which to start measuring advance - * @return character index - */ - abstract int getCharIndexFromAdvance(float advance, int start); - - /** - * Checks if the character doesn't contribute to the text advance - * @param index - character index - * @return true if the character has zero advance - */ - abstract boolean charHasZeroAdvance(int index); - - /** - * Calculates position of the character on the screen - * @param index - character index - * @return X coordinate of the character position - */ - abstract float getCharPosition(int index); - - /** - * Returns the advance of the individual character - * @param index - character index - * @return character advance - */ - abstract float getCharAdvance(int index); - - /** - * Creates text hit info from the hit position - * @param x - X coordinate relative to the origin of the layout - * @param y - Y coordinate relative to the origin of the layout - * @return hit info - */ - abstract TextHitInfo hitTest(float x, float y); - - /** - * Collects justification information into JustificationInfo object - * @param jInfo - JustificationInfo object - */ - abstract void updateJustificationInfo(TextRunBreaker.JustificationInfo jInfo); - - /** - * Performs justification of the segment. - * Updates positions of individual characters. - * @param jInfos - justification information, gathered by the previous passes - * @return amount of growth or shrink of the segment - */ - abstract float doJustification(TextRunBreaker.JustificationInfo jInfos[]); - - @Override - public abstract Object clone(); -} |