gnu.java.awt.peer.gtk

Class GdkTextLayout

Implemented Interfaces:
ClasspathTextLayoutPeer

public class GdkTextLayout
extends Object
implements ClasspathTextLayoutPeer

This is an implementation of the text layout peer interface which delegates all the hard work to pango.

Nested Class Summary

protected class
GdkTextLayout.CharacterIteratorProxy

Constructor Summary

GdkTextLayout(AttributedString str, FontRenderContext frc)

Method Summary

Object
clone()
void
draw(Graphics2D g2, float x, float y)
boolean
equals(ClasspathTextLayoutPeer tl)
protected void
finalize()
float
getAdvance()
float
getAscent()
byte
getBaseline()
float[]
getBaselineOffsets()
Shape
getBlackBoxBounds(int firstEndpoint, int secondEndpoint)
Rectangle2D
getBounds()
float[]
getCaretInfo(TextHitInfo hit, Rectangle2D bounds)
Shape
getCaretShape(TextHitInfo hit, Rectangle2D bounds)
Shape[]
getCaretShapes(int offset, Rectangle2D bounds, TextLayout.CaretPolicy policy)
int
getCharacterCount()
byte
getCharacterLevel(int index)
float
getDescent()
TextLayout
getJustifiedLayout(float justificationWidth)
float
getLeading()
Shape
getLogicalHighlightShape(int firstEndpoint, int secondEndpoint, Rectangle2D bounds)
int[]
getLogicalRangesForVisualSelection(TextHitInfo firstEndpoint, TextHitInfo secondEndpoint)
TextHitInfo
getNextLeftHit(int offset, TextLayout.CaretPolicy policy)
TextHitInfo
getNextRightHit(int offset, TextLayout.CaretPolicy policy)
Shape
getOutline(AffineTransform tx)
TextHitInfo
getStrongCaret(TextHitInfo hit1, TextHitInfo hit2)
float
getVisibleAdvance()
Shape
getVisualHighlightShape(TextHitInfo firstEndpoint, TextHitInfo secondEndpoint, Rectangle2D bounds)
TextHitInfo
getVisualOtherHit(TextHitInfo hit)
void
handleJustify(float justificationWidth)
int
hashCode()
TextHitInfo
hitTestChar(float x, float y, Rectangle2D bounds)
boolean
isLeftToRight()
boolean
isVertical()
String
toString()

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

GdkTextLayout

public GdkTextLayout(AttributedString str,
                     FontRenderContext frc)

Method Details

clone

public Object clone()
Specified by:
clone in interface ClasspathTextLayoutPeer
Overrides:
clone in interface Object

draw

public void draw(Graphics2D g2,
                 float x,
                 float y)
Specified by:
draw in interface ClasspathTextLayoutPeer

equals

public boolean equals(ClasspathTextLayoutPeer tl)
Specified by:
equals in interface ClasspathTextLayoutPeer

finalize

protected void finalize()
Overrides:
finalize in interface Object

getAdvance

public float getAdvance()
Specified by:
getAdvance in interface ClasspathTextLayoutPeer

getAscent

public float getAscent()
Specified by:
getAscent in interface ClasspathTextLayoutPeer

getBaseline

public byte getBaseline()
Specified by:
getBaseline in interface ClasspathTextLayoutPeer

getBaselineOffsets

public float[] getBaselineOffsets()
Specified by:
getBaselineOffsets in interface ClasspathTextLayoutPeer

getBlackBoxBounds

public Shape getBlackBoxBounds(int firstEndpoint,
                               int secondEndpoint)
Specified by:
getBlackBoxBounds in interface ClasspathTextLayoutPeer

getBounds

public Rectangle2D getBounds()
Specified by:
getBounds in interface ClasspathTextLayoutPeer

getCaretInfo

public float[] getCaretInfo(TextHitInfo hit,
                            Rectangle2D bounds)
Specified by:
getCaretInfo in interface ClasspathTextLayoutPeer

getCaretShape

public Shape getCaretShape(TextHitInfo hit,
                           Rectangle2D bounds)
Specified by:
getCaretShape in interface ClasspathTextLayoutPeer

getCaretShapes

public Shape[] getCaretShapes(int offset,
                              Rectangle2D bounds,
                              TextLayout.CaretPolicy policy)
Specified by:
getCaretShapes in interface ClasspathTextLayoutPeer

getCharacterCount

public int getCharacterCount()
Specified by:
getCharacterCount in interface ClasspathTextLayoutPeer

getCharacterLevel

public byte getCharacterLevel(int index)
Specified by:
getCharacterLevel in interface ClasspathTextLayoutPeer

getDescent

public float getDescent()
Specified by:
getDescent in interface ClasspathTextLayoutPeer

getJustifiedLayout

public TextLayout getJustifiedLayout(float justificationWidth)
Specified by:
getJustifiedLayout in interface ClasspathTextLayoutPeer

getLeading

public float getLeading()
Specified by:
getLeading in interface ClasspathTextLayoutPeer

getLogicalHighlightShape

public Shape getLogicalHighlightShape(int firstEndpoint,
                                      int secondEndpoint,
                                      Rectangle2D bounds)
Specified by:
getLogicalHighlightShape in interface ClasspathTextLayoutPeer

getLogicalRangesForVisualSelection

public int[] getLogicalRangesForVisualSelection(TextHitInfo firstEndpoint,
                                                TextHitInfo secondEndpoint)
Specified by:
getLogicalRangesForVisualSelection in interface ClasspathTextLayoutPeer

getNextLeftHit

public TextHitInfo getNextLeftHit(int offset,
                                  TextLayout.CaretPolicy policy)
Specified by:
getNextLeftHit in interface ClasspathTextLayoutPeer

getNextRightHit

public TextHitInfo getNextRightHit(int offset,
                                   TextLayout.CaretPolicy policy)
Specified by:
getNextRightHit in interface ClasspathTextLayoutPeer

getOutline

public Shape getOutline(AffineTransform tx)
Specified by:
getOutline in interface ClasspathTextLayoutPeer

getStrongCaret

public TextHitInfo getStrongCaret(TextHitInfo hit1,
                                  TextHitInfo hit2)
Specified by:
getStrongCaret in interface ClasspathTextLayoutPeer

getVisibleAdvance

public float getVisibleAdvance()
Specified by:
getVisibleAdvance in interface ClasspathTextLayoutPeer

getVisualHighlightShape

public Shape getVisualHighlightShape(TextHitInfo firstEndpoint,
                                     TextHitInfo secondEndpoint,
                                     Rectangle2D bounds)
Specified by:
getVisualHighlightShape in interface ClasspathTextLayoutPeer

getVisualOtherHit

public TextHitInfo getVisualOtherHit(TextHitInfo hit)
Specified by:
getVisualOtherHit in interface ClasspathTextLayoutPeer

handleJustify

public void handleJustify(float justificationWidth)
Specified by:
handleJustify in interface ClasspathTextLayoutPeer

hashCode

public int hashCode()
Specified by:
hashCode in interface ClasspathTextLayoutPeer
Overrides:
hashCode in interface Object

hitTestChar

public TextHitInfo hitTestChar(float x,
                               float y,
                               Rectangle2D bounds)
Specified by:
hitTestChar in interface ClasspathTextLayoutPeer

isLeftToRight

public boolean isLeftToRight()
Specified by:
isLeftToRight in interface ClasspathTextLayoutPeer

isVertical

public boolean isVertical()
Specified by:
isVertical in interface ClasspathTextLayoutPeer

toString

public String toString()
Specified by:
toString in interface ClasspathTextLayoutPeer
Overrides:
toString in interface Object

GdkTextLayout.java Copyright (C) 2003, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.