com.tensegrity.graphics.awt
Class AWTTextOperations

java.lang.Object
  extended bycom.tensegrity.graphics.awt.AWTTextOperations
All Implemented Interfaces:
TextOperations

public class AWTTextOperations
extends java.lang.Object
implements TextOperations

The AWTTextOperations class is the implementation of the TextOperations interface for the sun swing toolkit.

Version:
$Id: AWTTextOperations.java,v 1.33 2005/10/12 11:34:00 BurkhardWick Exp $
Author:
MichaelKegel

Field Summary
 
Fields inherited from interface com.tensegrity.graphics.TextOperations
HORIZONTAL_ALIGNMENT_INDEX, LINETYPE_STRIKETHROUGH, LINETYPE_UNDERLINE, VERTICAL_ALIGNMENT_INDEX
 
Constructor Summary
AWTTextOperations()
          Constructor for AWTTextOperations.
 
Method Summary
 BoundingBox computeBoundingBox(java.lang.Object[] fontdata, BoundingBox bbox, Transform2D xform, java.lang.String text, int[] alignments, double textScaleX, double textScaleY)
           
 BoundingBox computeBoundingBox(java.lang.Object[] fontdata, BoundingBox bbox, Transform2D xform, java.lang.String text, int[] alignments, double textScaleX, double textScaleY, boolean multiline)
           
 double computeHeight(FontFormat font, Transform2D xform, java.lang.String text)
          Computes the height of the text given by text when using the FontFormat given by font and the transformation given by xform.
 double computeHeight(FontFormat font, Transform2D xform, java.lang.String text, boolean multiline)
          Computes the height of the text given by text when using the FontFormat given by font and the transformation given by xform.
 double computeHeight(java.lang.Object[] fontdata, Transform2D xform, java.lang.String text)
          Computes the height of the text given by text when using the FontFormat rendering data given by fontdata and the transformation given by xform.
 double computeHeight(java.lang.Object[] fontdata, Transform2D xform, java.lang.String text, boolean multiline)
          Computes the height of the text given by text when using the FontFormat rendering data given by fontdata and the transformation given by xform.
 Coordinate[] computeLineCoordinates(FontFormat font, Transform2D xform, java.lang.String text, int lineType)
          Computes the start and end coordinates of a line decorating a text given by text when using the FontFormat given by font and the transformation given by xform.
 Coordinate[] computeLineCoordinates(java.awt.Font awtFont, Transform2D xform, java.lang.String text, int lineType)
          Computes the start and end coordinates of a line decorating a text given by text when using the FontFormat given by font and the transformation given by xform.
 Coordinate[] computeLineCoordinates(java.lang.Object[] fontData, Transform2D xform, java.lang.String text, int lineType)
          Computes the start and end coordinates of a line decorating a text given by text when using the FontFormat given by font and the transformation given by xform.
 Coordinate computeOrigin(java.lang.Object[] fontdata, BoundingBox bbox, Transform2D xform, java.lang.String text, int[] alignments, double[] lineScales)
          Computes the origin for the text given by text within the BoundingBox given by bbox with respect to the alignments given by alignments, the FontFormat rendering data given by fontdata and the transformation given by xform.
 Coordinate computeOrigin(java.lang.Object[] fontdata, BoundingBox bbox, Transform2D xform, java.lang.String text, int[] alignments, double[] lineScales, boolean multiline)
          Computes the origin for the text given by text within the BoundingBox given by bbox with respect to the alignments given by alignments, the FontFormat rendering data given by fontdata and the transformation given by xform.
 Coordinate computeOrigin(java.lang.Object[] fontdata, BoundingBox bbox, Transform2D xform, java.lang.String text, int[] alignments, double textScaleX, double textScaleY)
          Computes the origin for the text given by text within the BoundingBox given by bbox with respect to the alignments given by alignments, the FontFormat rendering data given by fontdata, the transformation given by xform and the text scalings in x and y direction given by textScaleX and textScaleY.
 Coordinate computeOrigin(java.lang.Object[] fontdata, BoundingBox bbox, Transform2D xform, java.lang.String text, int[] alignments, double textScaleX, double textScaleY, boolean multiline)
          Computes the origin for the text given by text within the BoundingBox given by bbox with respect to the alignments given by alignments, the FontFormat rendering data given by fontdata, the transformation given by xform and the text scalings in x and y direction given by textScaleX and textScaleY.
 double computeWidth(FontFormat font, Transform2D xform, java.lang.String text)
          Computes the width of the text given by text when using the FontFormat given by font and the transformation given by xform.
 double computeWidth(java.lang.Object[] fontdata, Transform2D xform, java.lang.String text)
          Computes the width of the text given by text when using the FontFormat rendering data given by fontdata and the transformation given by xform.
 java.lang.String cutToWidth(FontFormat font, Transform2D xform, java.lang.String text, int width)
          Cuts the text given by text to the given width with respect to the FontFormat given by font and the transformation given by xform.
 java.lang.String cutToWidth(FontFormat font, Transform2D xform, java.lang.String text, int width, double textScaleX, double textScaleY)
          Cuts the text given by text to the given width with respect to the FontFormat given by font, the transformation given by xform and the text scalings in x and y direction given by textScaleX and textScaleY.
 java.lang.String cutToWidth(FontFormat font, Transform2D xform, java.lang.String text, int width, double textScaleX, double textScaleY, boolean keepFirstCharacter)
          Cuts the text given by text to the given width with respect to the FontFormat given by font, the transformation given by xform and the text scalings in x and y direction given by textScaleX and textScaleY.
 java.lang.String cutToWidth(java.lang.Object[] fontdata, Transform2D xform, java.lang.String text, int width)
          Cuts the text given by text to the given width with respect to the FontFormat redering data given by fontdata and the transformation given by xform.
 java.lang.String cutToWidth(java.lang.Object[] fontdata, Transform2D xform, java.lang.String text, int width, double textScaleX, double textScaleY)
          Cuts the text given by text to the given width with respect to the FontFormat redering data given by fontdata, the transformation given by xform and the text scalings in x and y direction given by textScaleX and textScaleY.
 java.lang.String cutToWidth(java.lang.Object[] fontdata, Transform2D xform, java.lang.String text, int width, double textScaleX, double textScaleY, boolean keepFirstCharacter)
          Cuts the text given by text to the given width with respect to the FontFormat redering data given by fontdata, the transformation given by xform and the text scalings in x and y direction given by textScaleX and textScaleY.
 void disableAntiAliasing()
          Disables the anti aliasing for calculations on text.
 void disableFractionalMetrics()
          Disables the anti aliasing for calculations on text.
 void enableAntiAliasing()
          Enables the anti aliasing for calculations on text.
 void enableFractionalMetrics()
          Enables fractional metrics for calculations on text.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AWTTextOperations

public AWTTextOperations()
Constructor for AWTTextOperations.

Method Detail

enableAntiAliasing

public void enableAntiAliasing()
Description copied from interface: TextOperations
Enables the anti aliasing for calculations on text. This is necessary in order to calculate the correct sizes for text since they vary for antialiased and non antialiased text renderings.
NOTICE: This setting must be in consistence with the setting of the used Renderer.

Specified by:
enableAntiAliasing in interface TextOperations

disableAntiAliasing

public void disableAntiAliasing()
Description copied from interface: TextOperations
Disables the anti aliasing for calculations on text. This is necessary in order to calculate the correct sizes for text since they vary for antialiased and non antialiased text renderings.
NOTICE: This setting must be in consistence with the setting of the used Renderer.

Specified by:
disableAntiAliasing in interface TextOperations

enableFractionalMetrics

public void enableFractionalMetrics()
Description copied from interface: TextOperations
Enables fractional metrics for calculations on text. This is necessary in order to calculate the correct sizes for text since they vary for text calculated with or without fractional metrics.
NOTICE: This setting must be in consistence with the setting of the used Renderer.

Specified by:
enableFractionalMetrics in interface TextOperations

disableFractionalMetrics

public void disableFractionalMetrics()
Description copied from interface: TextOperations
Disables the anti aliasing for calculations on text. This is necessary in order to calculate the correct sizes for text since they vary for text calculated with or without fractional metrics.
NOTICE: This setting must be in consistence with the setting of the used Renderer.

Specified by:
disableFractionalMetrics in interface TextOperations

computeWidth

public double computeWidth(FontFormat font,
                           Transform2D xform,
                           java.lang.String text)
Description copied from interface: TextOperations
Computes the width of the text given by text when using the FontFormat given by font and the transformation given by xform.

Specified by:
computeWidth in interface TextOperations
Parameters:
font - the FontFormat to use for the calculation
xform - the transformation to use for the calculation
text - the text to calculate the width for
Returns:
int the calculated width

computeWidth

public double computeWidth(java.lang.Object[] fontdata,
                           Transform2D xform,
                           java.lang.String text)
Description copied from interface: TextOperations
Computes the width of the text given by text when using the FontFormat rendering data given by fontdata and the transformation given by xform.

Specified by:
computeWidth in interface TextOperations
Parameters:
fontdata - the FontFormat rendering data to use for the calculation
xform - the transformation to use for the calculation
text - the text to calculate the width for
Returns:
int the calculated width

computeHeight

public double computeHeight(FontFormat font,
                            Transform2D xform,
                            java.lang.String text)
Description copied from interface: TextOperations
Computes the height of the text given by text when using the FontFormat given by font and the transformation given by xform.

Specified by:
computeHeight in interface TextOperations
Parameters:
font - the FontFormat to use for the calculation
xform - the transformation to use for the calculation
text - the text to calculate the height for
Returns:
int the calculated height

computeHeight

public double computeHeight(FontFormat font,
                            Transform2D xform,
                            java.lang.String text,
                            boolean multiline)
Description copied from interface: TextOperations
Computes the height of the text given by text when using the FontFormat given by font and the transformation given by xform.

Specified by:
computeHeight in interface TextOperations
Parameters:
font - the FontFormat to use for the calculation
xform - the transformation to use for the calculation
text - the text to calculate the height for
multiline - if true, the line spacing will be included in the height
Returns:
int the calculated height

computeHeight

public double computeHeight(java.lang.Object[] fontdata,
                            Transform2D xform,
                            java.lang.String text)
Description copied from interface: TextOperations
Computes the height of the text given by text when using the FontFormat rendering data given by fontdata and the transformation given by xform.

Specified by:
computeHeight in interface TextOperations
Parameters:
fontdata - the FontFormat rendering data to use for the calculation
xform - the transformation to use for the calculation
text - the text to calculate the height for
Returns:
int the calculated height

computeHeight

public double computeHeight(java.lang.Object[] fontdata,
                            Transform2D xform,
                            java.lang.String text,
                            boolean multiline)
Description copied from interface: TextOperations
Computes the height of the text given by text when using the FontFormat rendering data given by fontdata and the transformation given by xform.

Specified by:
computeHeight in interface TextOperations
Parameters:
fontdata - the FontFormat rendering data to use for the calculation
xform - the transformation to use for the calculation
text - the text to calculate the height for
multiline - if true, the line spacing will be included in the height
Returns:
int the calculated height

computeOrigin

public Coordinate computeOrigin(java.lang.Object[] fontdata,
                                BoundingBox bbox,
                                Transform2D xform,
                                java.lang.String text,
                                int[] alignments,
                                double[] lineScales)
Description copied from interface: TextOperations
Computes the origin for the text given by text within the BoundingBox given by bbox with respect to the alignments given by alignments, the FontFormat rendering data given by fontdata and the transformation given by xform.

Specified by:
computeOrigin in interface TextOperations
Parameters:
fontdata - the FontFormat rendering data to use for the calculation
bbox - the BoundingBox to calculate the origin within
xform - the transformation to use for the calculation
text - the text to calculate the origin for
alignments - the alignments for the text
lineScales -
Returns:
Coordinate the calculated origin

computeOrigin

public Coordinate computeOrigin(java.lang.Object[] fontdata,
                                BoundingBox bbox,
                                Transform2D xform,
                                java.lang.String text,
                                int[] alignments,
                                double[] lineScales,
                                boolean multiline)
Description copied from interface: TextOperations
Computes the origin for the text given by text within the BoundingBox given by bbox with respect to the alignments given by alignments, the FontFormat rendering data given by fontdata and the transformation given by xform.

Specified by:
computeOrigin in interface TextOperations
Parameters:
fontdata - the FontFormat rendering data to use for the calculation
bbox - the BoundingBox to calculate the origin within
xform - the transformation to use for the calculation
text - the text to calculate the origin for
alignments - the alignments for the text
lineScales -
multiline - if true, the line spacing will be included in the height
Returns:
Coordinate the calculated origin

computeOrigin

public Coordinate computeOrigin(java.lang.Object[] fontdata,
                                BoundingBox bbox,
                                Transform2D xform,
                                java.lang.String text,
                                int[] alignments,
                                double textScaleX,
                                double textScaleY)
Description copied from interface: TextOperations
Computes the origin for the text given by text within the BoundingBox given by bbox with respect to the alignments given by alignments, the FontFormat rendering data given by fontdata, the transformation given by xform and the text scalings in x and y direction given by textScaleX and textScaleY.

Specified by:
computeOrigin in interface TextOperations
Parameters:
fontdata - the FontFormat rendering data to use for the calculation
bbox - the BoundingBox to calculate the origin within
xform - the transformation to use for the calculation
text - the text to calculate the origin for
alignments - the alignments for the text
textScaleX - the current scale for the text in x direction (view zoom)
textScaleY - the current scale for the text in y direction (view zoom)
Returns:
Coordinate the calculated origin

computeOrigin

public Coordinate computeOrigin(java.lang.Object[] fontdata,
                                BoundingBox bbox,
                                Transform2D xform,
                                java.lang.String text,
                                int[] alignments,
                                double textScaleX,
                                double textScaleY,
                                boolean multiline)
Description copied from interface: TextOperations
Computes the origin for the text given by text within the BoundingBox given by bbox with respect to the alignments given by alignments, the FontFormat rendering data given by fontdata, the transformation given by xform and the text scalings in x and y direction given by textScaleX and textScaleY.

Specified by:
computeOrigin in interface TextOperations
Parameters:
fontdata - the FontFormat rendering data to use for the calculation
bbox - the BoundingBox to calculate the origin within
xform - the transformation to use for the calculation
text - the text to calculate the origin for
alignments - the alignments for the text
textScaleX - the current scale for the text in x direction (view zoom)
textScaleY - the current scale for the text in y direction (view zoom)
multiline - if true, the line spacing will be included in the height
Returns:
Coordinate the calculated origin

computeBoundingBox

public BoundingBox computeBoundingBox(java.lang.Object[] fontdata,
                                      BoundingBox bbox,
                                      Transform2D xform,
                                      java.lang.String text,
                                      int[] alignments,
                                      double textScaleX,
                                      double textScaleY)
Specified by:
computeBoundingBox in interface TextOperations

computeBoundingBox

public BoundingBox computeBoundingBox(java.lang.Object[] fontdata,
                                      BoundingBox bbox,
                                      Transform2D xform,
                                      java.lang.String text,
                                      int[] alignments,
                                      double textScaleX,
                                      double textScaleY,
                                      boolean multiline)
Specified by:
computeBoundingBox in interface TextOperations

cutToWidth

public java.lang.String cutToWidth(FontFormat font,
                                   Transform2D xform,
                                   java.lang.String text,
                                   int width)
Description copied from interface: TextOperations
Cuts the text given by text to the given width with respect to the FontFormat given by font and the transformation given by xform.

Specified by:
cutToWidth in interface TextOperations
Parameters:
font - the FontFormat to use for the calculation
xform - the transformation to use for the calculation
text - the text to cut
width - the maximum width for the remaining text
Returns:
String the cutted text

cutToWidth

public java.lang.String cutToWidth(FontFormat font,
                                   Transform2D xform,
                                   java.lang.String text,
                                   int width,
                                   double textScaleX,
                                   double textScaleY)
Description copied from interface: TextOperations
Cuts the text given by text to the given width with respect to the FontFormat given by font, the transformation given by xform and the text scalings in x and y direction given by textScaleX and textScaleY.

Specified by:
cutToWidth in interface TextOperations
Parameters:
font - the FontFormat to use for the calculation
xform - the transformation to use for the calculation
text - the text to cut
width - the maximum width for the remaining text
textScaleX - the current scale for the text in x direction (view zoom)
textScaleY - the current scale for the text in y direction (view zoom)
Returns:
String the cutted text

cutToWidth

public java.lang.String cutToWidth(FontFormat font,
                                   Transform2D xform,
                                   java.lang.String text,
                                   int width,
                                   double textScaleX,
                                   double textScaleY,
                                   boolean keepFirstCharacter)
Description copied from interface: TextOperations
Cuts the text given by text to the given width with respect to the FontFormat given by font, the transformation given by xform and the text scalings in x and y direction given by textScaleX and textScaleY.

Specified by:
cutToWidth in interface TextOperations
Parameters:
font - the FontFormat to use for the calculation
xform - the transformation to use for the calculation
text - the text to cut
width - the maximum width for the remaining text
textScaleX - the current scale for the text in x direction (view zoom)
textScaleY - the current scale for the text in y direction (view zoom)
keepFirstCharacter - true, to keep the first character of the line, even if it doesn't fit into the width
Returns:
String the cutted text

cutToWidth

public java.lang.String cutToWidth(java.lang.Object[] fontdata,
                                   Transform2D xform,
                                   java.lang.String text,
                                   int width)
Description copied from interface: TextOperations
Cuts the text given by text to the given width with respect to the FontFormat redering data given by fontdata and the transformation given by xform.

Specified by:
cutToWidth in interface TextOperations
Parameters:
fontdata - the FontFormat to use for the calculation
xform - the transformation to use for the calculation
text - the text to cut
width - the maximum width for the remaining text
Returns:
String the cutted text

cutToWidth

public java.lang.String cutToWidth(java.lang.Object[] fontdata,
                                   Transform2D xform,
                                   java.lang.String text,
                                   int width,
                                   double textScaleX,
                                   double textScaleY)
Description copied from interface: TextOperations
Cuts the text given by text to the given width with respect to the FontFormat redering data given by fontdata, the transformation given by xform and the text scalings in x and y direction given by textScaleX and textScaleY.

Specified by:
cutToWidth in interface TextOperations
Parameters:
fontdata - the FontFormat to use for the calculation
xform - the transformation to use for the calculation
text - the text to cut
width - the maximum width for the remaining text
textScaleX - the current scale for the text in x direction (view zoom)
textScaleY - the current scale for the text in y direction (view zoom)
Returns:
String the cutted text

cutToWidth

public java.lang.String cutToWidth(java.lang.Object[] fontdata,
                                   Transform2D xform,
                                   java.lang.String text,
                                   int width,
                                   double textScaleX,
                                   double textScaleY,
                                   boolean keepFirstCharacter)
Description copied from interface: TextOperations
Cuts the text given by text to the given width with respect to the FontFormat redering data given by fontdata, the transformation given by xform and the text scalings in x and y direction given by textScaleX and textScaleY.

Specified by:
cutToWidth in interface TextOperations
Parameters:
fontdata - the FontFormat to use for the calculation
xform - the transformation to use for the calculation
text - the text to cut
width - the maximum width for the remaining text
textScaleX - the current scale for the text in x direction (view zoom)
textScaleY - the current scale for the text in y direction (view zoom)
keepFirstCharacter - true, to keep the first character of the line, even if it doesn't fit into the width
Returns:
String the cutted text

computeLineCoordinates

public Coordinate[] computeLineCoordinates(FontFormat font,
                                           Transform2D xform,
                                           java.lang.String text,
                                           int lineType)
Description copied from interface: TextOperations
Computes the start and end coordinates of a line decorating a text given by text when using the FontFormat given by font and the transformation given by xform.

Specified by:
computeLineCoordinates in interface TextOperations
Parameters:
font - the FontFormat to use for the calculation
xform - the transformation to use for the calculation
text - the text to calculate the width for
lineType - The type of line: TextOperations.LINETYPE_UNDERLINE: Line under the text TextOperations.LINETYPE_STRIKETHROUGH: Line through the text
Returns:
int the calculated width

computeLineCoordinates

public Coordinate[] computeLineCoordinates(java.lang.Object[] fontData,
                                           Transform2D xform,
                                           java.lang.String text,
                                           int lineType)
Description copied from interface: TextOperations
Computes the start and end coordinates of a line decorating a text given by text when using the FontFormat given by font and the transformation given by xform.

Specified by:
computeLineCoordinates in interface TextOperations
Parameters:
fontData - the font format data to use for the calculation
xform - the transformation to use for the calculation
text - the text to calculate the width for
lineType - The type of line: TextOperations.LINETYPE_UNDERLINE: Line under the text TextOperations.LINETYPE_STRIKETHROUGH: Line through the text
Returns:
int the calculated width

computeLineCoordinates

public Coordinate[] computeLineCoordinates(java.awt.Font awtFont,
                                           Transform2D xform,
                                           java.lang.String text,
                                           int lineType)
Computes the start and end coordinates of a line decorating a text given by text when using the FontFormat given by font and the transformation given by xform.

Parameters:
awtFont - the AWT Font to use for the calculation
xform - the transformation to use for the calculation
text - the text to calculate the width for
lineType - The type of line: TextOperations.LINETYPE_UNDERLINE: Line under the text TextOperations.LINETYPE_STRIKETHROUGH: Line through the text
Returns:
int the calculated width


Copyright © 2005 Tensegrity Software GmbH. All Rights Reserved. Date of creation: 09.06.2006.