|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectprefuse.render.AbstractShapeRenderer
ca.utoronto.cs.prefuseextensions.render.RotationLabelRenderer
public class RotationLabelRenderer
CMC Modified copy of LabelRenderer v 2.2 Renderer that draws a label, which consists of a text string, an image, or both. Label is drawn rotated by the amount given in the "rotation" field (in degrees).
When created using the default constructor, the renderer attempts
to use text from the "label" field. To use a different field, use the
appropriate constructor or use the setTextField(String)
method.
To perform custom String selection, subclass this Renderer and override the
getText(VisualItem)
method. When the text field is
null
, no text label will be shown. Labels can span multiple
lines of text, determined by the presence of newline characters ('\n')
within the text string.
By default, no image is shown. To show an image, the image field needs
to be set, either using the appropriate constructor or the
setImageField(String)
method. The value of the image field should
be a text string indicating the location of the image file to use. The
string should be either a URL, a file located on the current classpath,
or a file on the local filesystem. If found, the image will be managed
internally by an ImageFactory
instance, which maintains a
cache of loaded images.
The position of the image relative to text can be set using the
setImagePosition(int)
method. Images can be placed to the
left, right, above, or below the text. The horizontal and vertical
alignments of either the text or the image can be set explicitly
using the appropriate methods of this class (e.g.,
setHorizontalTextAlignment(int)
). By default, both the
text and images are centered along both the horizontal and
vertical directions.
Field Summary |
---|
Fields inherited from class prefuse.render.AbstractShapeRenderer |
---|
RENDER_TYPE_DRAW, RENDER_TYPE_DRAW_AND_FILL, RENDER_TYPE_FILL, RENDER_TYPE_NONE |
Fields inherited from interface prefuse.render.Renderer |
---|
DEFAULT_GRAPHICS |
Constructor Summary | |
---|---|
RotationLabelRenderer()
Create a new LabelRenderer. |
|
RotationLabelRenderer(java.lang.String textField)
Create a new LabelRenderer. |
|
RotationLabelRenderer(java.lang.String textField,
java.lang.String imageField)
Create a new LabelRenderer. |
Method Summary | |
---|---|
int |
getHorizontalAlignment()
Get the horizontal alignment of this node with respect to its x, y coordinates. |
int |
getHorizontalImageAlignment()
Get the horizontal image alignment within the layout. |
int |
getHorizontalPadding()
Returns the amount of padding in pixels between the content and the border of this item along the horizontal dimension. |
int |
getHorizontalTextAlignment()
Get the horizontal text alignment within the layout. |
prefuse.render.ImageFactory |
getImageFactory()
Returns the image factory used by this renderer. |
java.lang.String |
getImageField()
Get the data field for image locations. |
int |
getImagePosition()
Get the image position, determining where the image is placed with respect to the text. |
int |
getImageTextPadding()
Get the padding, in pixels, between an image and text. |
java.lang.String |
getTextField()
Get the field name to use for text labels. |
int |
getVerticalAlignment()
Get the vertical alignment of this node with respect to its x, y coordinates. |
int |
getVerticalImageAlignment()
Get the vertical image alignment within the layout. |
int |
getVerticalPadding()
Returns the amount of padding in pixels between the content and the border of this item along the vertical dimension. |
int |
getVerticalTextAlignment()
Get the vertical text alignment within the layout. |
void |
render(java.awt.Graphics2D g,
prefuse.visual.VisualItem item)
|
void |
setHorizontalAlignment(int align)
Set the horizontal alignment of this node with respect to its x, y coordinates. |
void |
setHorizontalImageAlignment(int halign)
Set the horizontal image alignment within the layout. |
void |
setHorizontalPadding(int xpad)
Sets the amount of padding in pixels between the content and the border of this item along the horizontal dimension. |
void |
setHorizontalTextAlignment(int halign)
Set the horizontal text alignment within the layout. |
void |
setImageFactory(prefuse.render.ImageFactory ifact)
Sets the image factory used by this renderer. |
void |
setImageField(java.lang.String imageField)
Set the data field for image locations. |
void |
setImagePosition(int pos)
Set the image position, determining where the image is placed with respect to the text. |
void |
setImageTextPadding(int pad)
Set the padding, in pixels, between an image and text. |
void |
setMaxImageDimensions(int width,
int height)
Sets the maximum image dimensions, used to control scaling of loaded images. |
void |
setMaxTextWidth(int maxWidth)
Sets the maximum width that should be allowed of the text label. |
void |
setRoundedCorner(int arcWidth,
int arcHeight)
Rounds the corners of the bounding rectangle in which the text string is rendered. |
void |
setTextField(java.lang.String textField)
Set the field name to use for text labels. |
void |
setVerticalAlignment(int align)
Set the vertical alignment of this node with respect to its x, y coordinates. |
void |
setVerticalImageAlignment(int valign)
Set the vertical image alignment within the layout. |
void |
setVerticalPadding(int ypad)
Sets the amount of padding in pixels between the content and the border of this item along the vertical dimension. |
void |
setVerticalTextAlignment(int valign)
Set the vertical text alignment within the layout. |
Methods inherited from class prefuse.render.AbstractShapeRenderer |
---|
getRenderType, getShape, locatePoint, setBounds, setManageBounds, setRenderType |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RotationLabelRenderer()
public RotationLabelRenderer(java.lang.String textField)
textField
- the data field for the text label.public RotationLabelRenderer(java.lang.String textField, java.lang.String imageField)
textField
- the data field for the text labelimageField
- the data field for the image location. This value
in the data field should be a URL, a file within the current classpath,
a file on the filesystem, or null for no image. If the
imageField
parameter is null, no images at all will be
drawn.Method Detail |
---|
public void setRoundedCorner(int arcWidth, int arcHeight)
arcWidth
- the width of the curved cornerarcHeight
- the height of the curved cornerpublic java.lang.String getTextField()
public void setTextField(java.lang.String textField)
textField
- the data field for text labels, or null for no textpublic void setMaxTextWidth(int maxWidth)
maxWidth
- the maximum width of the text or -1 for no limitpublic java.lang.String getImageField()
public void setImageField(java.lang.String imageField)
imageField
parameter is null, no images at all will be
drawn.
imageField
- the data field for image locations, or null for
no imagespublic void setMaxImageDimensions(int width, int height)
width
- the maximum width of images (-1 for no limit)height
- the maximum height of images (-1 for no limit)public void render(java.awt.Graphics2D g, prefuse.visual.VisualItem item)
render
in interface prefuse.render.Renderer
render
in class prefuse.render.AbstractShapeRenderer
Renderer.render(java.awt.Graphics2D, prefuse.visual.VisualItem)
public prefuse.render.ImageFactory getImageFactory()
public void setImageFactory(prefuse.render.ImageFactory ifact)
ifact
- the image factorypublic int getHorizontalTextAlignment()
Constants.LEFT
, Constants.RIGHT
, or
Constants.CENTER
. The default is centered text.
public void setHorizontalTextAlignment(int halign)
Constants.LEFT
, Constants.RIGHT
, or
Constants.CENTER
. The default is centered text.
halign
- the desired horizontal text alignmentpublic int getVerticalTextAlignment()
Constants.TOP
, Constants.BOTTOM
, or
Constants.CENTER
. The default is centered text.
public void setVerticalTextAlignment(int valign)
Constants.TOP
, Constants.BOTTOM
, or
Constants.CENTER
. The default is centered text.
valign
- the desired vertical text alignmentpublic int getHorizontalImageAlignment()
Constants.LEFT
, Constants.RIGHT
, or
Constants.CENTER
. The default is a centered image.
public void setHorizontalImageAlignment(int halign)
Constants.LEFT
, Constants.RIGHT
, or
Constants.CENTER
. The default is a centered image.
halign
- the desired horizontal image alignmentpublic int getVerticalImageAlignment()
Constants.TOP
, Constants.BOTTOM
, or
Constants.CENTER
. The default is a centered image.
public void setVerticalImageAlignment(int valign)
Constants.TOP
, Constants.BOTTOM
, or
Constants.CENTER
. The default is a centered image.
valign
- the desired vertical image alignmentpublic int getImagePosition()
Constants.LEFT
,
Constants.RIGHT
, Constants.TOP
, or
Constants.BOTTOM
. The default is left.
public void setImagePosition(int pos)
Constants.LEFT
,
Constants.RIGHT
, Constants.TOP
, or
Constants.BOTTOM
. The default is left.
pos
- the desired image positionpublic int getHorizontalAlignment()
Constants.LEFT
, Constants.RIGHT
, or
Constants.CENTER
.public int getVerticalAlignment()
Constants.TOP
, Constants.BOTTOM
, or
Constants.CENTER
.public void setHorizontalAlignment(int align)
align
- the horizontal alignment, one of
Constants.LEFT
, Constants.RIGHT
, or
Constants.CENTER
.public void setVerticalAlignment(int align)
align
- the vertical alignment, one of
Constants.TOP
, Constants.BOTTOM
, or
Constants.CENTER
.public int getHorizontalPadding()
public void setHorizontalPadding(int xpad)
xpad
- the horizontal padding to setpublic int getVerticalPadding()
public void setVerticalPadding(int ypad)
ypad
- the vertical paddingpublic int getImageTextPadding()
public void setImageTextPadding(int pad)
pad
- the padding to use between an image and text
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |