JHotDraw 7.1

org.jhotdraw.draw
Class AttributeKeys

java.lang.Object
  extended by org.jhotdraw.draw.AttributeKeys
Direct Known Subclasses:
ODGAttributeKeys, SVGAttributeKeys

public class AttributeKeys
extends java.lang.Object

Defines AttributeKeys used by the Figures in this package as well as some helper methods.

If you are developing an applications that uses a different set or an extended set of attributes, it is best, to create a new AttributeKeys class, and to define all needed AttributeKeys as static variables in there.

Version:
1.4 2007-12-16 Added CANVAS_FILL_COLOR.
1.3 2006-12-09 Streamlined to better support SVG.
1.2 2006-07-09 Stroke dash factor added.
1.1 2006-06-07 Changed all values to double.
1.0 23. 3. 2006 Created.
Author:
Werner Randelshofer

Nested Class Summary
static class AttributeKeys.Orientation
           
static class AttributeKeys.StrokePlacement
           
static class AttributeKeys.StrokeType
           
static class AttributeKeys.Underfill
           
static class AttributeKeys.WindingRule
           
 
Field Summary
static AttributeKey<Liner> BEZIER_PATH_LAYOUTER
          The value of this attribute is a Liner object.
static AttributeKey<java.awt.Color> CANVAS_FILL_COLOR
          Canvas fill color.
static AttributeKey<java.lang.Double> CANVAS_FILL_OPACITY
          Canvas fill color opacity.
static AttributeKey<java.lang.Boolean> CLOSED
          Close BezierFigure.
static AttributeKey<Insets2D.Double> DECORATOR_INSETS
          The value of this attribute is a Insets2D.Double object.
static AttributeKey<LineDecoration> END_DECORATION
           
static AttributeKey<java.awt.Color> FILL_COLOR
          Figure fill color.
static AttributeKey<java.lang.Boolean> FILL_OPEN_PATH
          Fill BezierFigure.
static AttributeKey<AttributeKeys.Underfill> FILL_UNDER_STROKE
          Fill under stroke.
static AttributeKey<java.lang.Boolean> FONT_BOLD
          The value of this attribute is a Boolean object.
static AttributeKey<java.awt.Font> FONT_FACE
          The value of this attribute is a Font object, which is used as a prototype to create the font for the text.
static AttributeKey<java.lang.Boolean> FONT_ITALIC
          The value of this attribute is a Boolean object.
static AttributeKey<java.lang.Double> FONT_SIZE
          The value of this attribute is a double object.
static AttributeKey<java.lang.Boolean> FONT_UNDERLINE
          The value of this attribute is a Boolean object.
static AttributeKey<java.lang.Boolean> IS_STROKE_DASH_FACTOR
          A boolean used to indicate whether STROKE_DASHES and STROKE_DASH_PHASE shall be interpreted as factors of STROKE_WIDTH, or whether they are absolute values.
static AttributeKey<java.lang.Boolean> IS_STROKE_MITER_LIMIT_FACTOR
          A boolean used to indicate whether STROKE_MITER_LIMIT is a factor of STROKE_WIDTH, or whether it represents an absolute value.
static AttributeKey<Insets2D.Double> LAYOUT_INSETS
          The value of this attribute is a Insets2D.Double object.
static AttributeKey<AttributeKeys.Orientation> ORIENTATION
          Specifies the orientation of a Figure.
static AttributeKey<LineDecoration> START_DECORATION
           
static AttributeKey<java.lang.Integer> STROKE_CAP
          Stroke join.
static AttributeKey<java.awt.Color> STROKE_COLOR
          Stroke color.
static AttributeKey<java.lang.Double> STROKE_DASH_PHASE
          A double used to specify the starting phase of the stroke dashes.
static AttributeKey<double[]> STROKE_DASHES
          An array of doubles used to specify the dash pattern in a BasicStroke;
static AttributeKey<java.lang.Double> STROKE_INNER_WIDTH_FACTOR
          Deprecated. This is not flexible enough. Lets replace this with a STROKE_STRIPES_ARRAY and a IS_STROKE_STRIPES_FACTOR.
static AttributeKey<java.lang.Integer> STROKE_JOIN
          Stroke join.
static AttributeKey<java.lang.Double> STROKE_MITER_LIMIT
          Stroke miter limit factor.
static AttributeKey<AttributeKeys.StrokePlacement> STROKE_PLACEMENT
          Stroke placement.
static AttributeKey<AttributeKeys.StrokeType> STROKE_TYPE
          Stroke type.
static AttributeKey<java.lang.Double> STROKE_WIDTH
          Stroke width.
static java.util.Map<java.lang.String,AttributeKey> supportedAttributeMap
           
static java.util.Set<AttributeKey> supportedAttributes
          A set with all attributes defined by this class.
static AttributeKey<java.lang.String> TEXT
          The value of this attribute is a String object, which is used to display the text of the figure.
static AttributeKey<java.awt.Color> TEXT_COLOR
          Text color.
static AttributeKey<java.awt.Color> TEXT_SHADOW_COLOR
          Text shadow color.
static AttributeKey<Dimension2DDouble> TEXT_SHADOW_OFFSET
          Text shadow offset.
static AttributeKey<java.awt.geom.AffineTransform> TRANSFORM
          Specifies the transform of a Figure.
static AttributeKey<AttributeKeys.WindingRule> WINDING_RULE
          Fill under stroke.
 
Constructor Summary
AttributeKeys()
           
 
Method Summary
static java.awt.Font getFont(Figure f)
           
static int getFontStyle(Figure f)
           
static double getPerpendicularDrawGrowth(Figure f)
          Returns the distance, that a Rectangle needs to grow (or shrink) to draw (aka stroke) its shape as specified by the FILL_UNDER_STROKE and STROKE_POSITION attributes of a figure.
static double getPerpendicularFillGrowth(Figure f)
          Returns the distance, that a Rectangle needs to grow (or shrink) to fill its shape as specified by the FILL_UNDER_STROKE and STROKE_POSITION attributes of a figure.
static double getPerpendicularHitGrowth(Figure f)
          Returns the distance, that a Rectangle needs to grow (or shrink) to make hit detections on a shape as specified by the FILL_UNDER_STROKE and STROKE_POSITION attributes of a figure.
static java.awt.Stroke getStroke(Figure f)
           
static double getStrokeTotalMiterLimit(Figure f)
          Convenience method for computing the total stroke miter limit from the STROKE_MITER_LIMIT, and IS_STROKE_MITER_LIMIT factor.
static double getStrokeTotalWidth(Figure f)
          Convenience method for computing the total stroke width from the STROKE_WIDTH, STROKE_INNER_WIDTH and STROKE_TYPE attributes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CANVAS_FILL_COLOR

public static final AttributeKey<java.awt.Color> CANVAS_FILL_COLOR
Canvas fill color. The value of this attribute is a Color object. This attribute is used by a Drawing object to specify the color of the canvas. The default value is white.


CANVAS_FILL_OPACITY

public static final AttributeKey<java.lang.Double> CANVAS_FILL_OPACITY
Canvas fill color opacity. The value of this attribute is a Double object. This is a value between 0 and 1 whereas 0 is translucent and 1 is fully opaque.


FILL_COLOR

public static final AttributeKey<java.awt.Color> FILL_COLOR
Figure fill color. The value of this attribute is a Color object.


CLOSED

public static final AttributeKey<java.lang.Boolean> CLOSED
Close BezierFigure. The value of this attribute is a Boolean object.


FILL_OPEN_PATH

public static final AttributeKey<java.lang.Boolean> FILL_OPEN_PATH
Fill BezierFigure. The value of this attribute is a Boolean object.


WINDING_RULE

public static final AttributeKey<AttributeKeys.WindingRule> WINDING_RULE
Fill under stroke. The value of this attribute is a Boolean object.


FILL_UNDER_STROKE

public static final AttributeKey<AttributeKeys.Underfill> FILL_UNDER_STROKE
Fill under stroke. The value of this attribute is a Boolean object.


STROKE_COLOR

public static final AttributeKey<java.awt.Color> STROKE_COLOR
Stroke color. The value of this attribute is a Color object.


STROKE_WIDTH

public static final AttributeKey<java.lang.Double> STROKE_WIDTH
Stroke width. A double used to construct a BasicStroke or the outline of a DoubleStroke.


STROKE_INNER_WIDTH_FACTOR

public static final AttributeKey<java.lang.Double> STROKE_INNER_WIDTH_FACTOR
Deprecated. This is not flexible enough. Lets replace this with a STROKE_STRIPES_ARRAY and a IS_STROKE_STRIPES_FACTOR.
Factor for the stroke inner width. This is a double. The default value is 2.


STROKE_JOIN

public static final AttributeKey<java.lang.Integer> STROKE_JOIN
Stroke join. One of the BasicStroke.JOIN_... values used to construct a BasicStroke.


STROKE_CAP

public static final AttributeKey<java.lang.Integer> STROKE_CAP
Stroke join. One of the BasicStroke.CAP_... values used to construct a BasicStroke.


STROKE_MITER_LIMIT

public static final AttributeKey<java.lang.Double> STROKE_MITER_LIMIT
Stroke miter limit factor. A double multiplied by total stroke width, used to construct the miter limit of a BasicStroke.


IS_STROKE_MITER_LIMIT_FACTOR

public static final AttributeKey<java.lang.Boolean> IS_STROKE_MITER_LIMIT_FACTOR
A boolean used to indicate whether STROKE_MITER_LIMIT is a factor of STROKE_WIDTH, or whether it represents an absolute value.


STROKE_DASHES

public static final AttributeKey<double[]> STROKE_DASHES
An array of doubles used to specify the dash pattern in a BasicStroke;


STROKE_DASH_PHASE

public static final AttributeKey<java.lang.Double> STROKE_DASH_PHASE
A double used to specify the starting phase of the stroke dashes.


IS_STROKE_DASH_FACTOR

public static final AttributeKey<java.lang.Boolean> IS_STROKE_DASH_FACTOR
A boolean used to indicate whether STROKE_DASHES and STROKE_DASH_PHASE shall be interpreted as factors of STROKE_WIDTH, or whether they are absolute values.


STROKE_TYPE

public static final AttributeKey<AttributeKeys.StrokeType> STROKE_TYPE
Stroke type. The value of this attribute is either VALUE_STROKE_TYPE_BASIC or VALUE_STROKE_TYPE_DOUBLE. FIXME - Type should be an enumeration.


STROKE_PLACEMENT

public static final AttributeKey<AttributeKeys.StrokePlacement> STROKE_PLACEMENT
Stroke placement. The value is either StrokePlacement.CENTER, StrokePlacement.INSIDE or StrokePlacement.OUTSIDE. This only has effect for closed paths. On open paths, the stroke is always centered on the path.

The default value is StrokePlacement.CENTER.


TEXT

public static final AttributeKey<java.lang.String> TEXT
The value of this attribute is a String object, which is used to display the text of the figure.


TEXT_COLOR

public static final AttributeKey<java.awt.Color> TEXT_COLOR
Text color. The value of this attribute is a Color object.


TEXT_SHADOW_COLOR

public static final AttributeKey<java.awt.Color> TEXT_SHADOW_COLOR
Text shadow color. The value of this attribute is a Color object.


TEXT_SHADOW_OFFSET

public static final AttributeKey<Dimension2DDouble> TEXT_SHADOW_OFFSET
Text shadow offset. The value of this attribute is a Dimension2DDouble object.


FONT_FACE

public static final AttributeKey<java.awt.Font> FONT_FACE
The value of this attribute is a Font object, which is used as a prototype to create the font for the text.


FONT_SIZE

public static final AttributeKey<java.lang.Double> FONT_SIZE
The value of this attribute is a double object.


FONT_BOLD

public static final AttributeKey<java.lang.Boolean> FONT_BOLD
The value of this attribute is a Boolean object.


FONT_ITALIC

public static final AttributeKey<java.lang.Boolean> FONT_ITALIC
The value of this attribute is a Boolean object.


FONT_UNDERLINE

public static final AttributeKey<java.lang.Boolean> FONT_UNDERLINE
The value of this attribute is a Boolean object.


BEZIER_PATH_LAYOUTER

public static final AttributeKey<Liner> BEZIER_PATH_LAYOUTER
The value of this attribute is a Liner object.


END_DECORATION

public static final AttributeKey<LineDecoration> END_DECORATION

START_DECORATION

public static final AttributeKey<LineDecoration> START_DECORATION

DECORATOR_INSETS

public static final AttributeKey<Insets2D.Double> DECORATOR_INSETS
The value of this attribute is a Insets2D.Double object.


LAYOUT_INSETS

public static final AttributeKey<Insets2D.Double> LAYOUT_INSETS
The value of this attribute is a Insets2D.Double object.


TRANSFORM

public static final AttributeKey<java.awt.geom.AffineTransform> TRANSFORM
Specifies the transform of a Figure.


ORIENTATION

public static final AttributeKey<AttributeKeys.Orientation> ORIENTATION
Specifies the orientation of a Figure.


supportedAttributes

public static final java.util.Set<AttributeKey> supportedAttributes
A set with all attributes defined by this class.


supportedAttributeMap

public static final java.util.Map<java.lang.String,AttributeKey> supportedAttributeMap
Constructor Detail

AttributeKeys

public AttributeKeys()
Method Detail

getStrokeTotalWidth

public static double getStrokeTotalWidth(Figure f)
Convenience method for computing the total stroke width from the STROKE_WIDTH, STROKE_INNER_WIDTH and STROKE_TYPE attributes.


getStrokeTotalMiterLimit

public static double getStrokeTotalMiterLimit(Figure f)
Convenience method for computing the total stroke miter limit from the STROKE_MITER_LIMIT, and IS_STROKE_MITER_LIMIT factor.


getStroke

public static java.awt.Stroke getStroke(Figure f)

getFont

public static java.awt.Font getFont(Figure f)

getFontStyle

public static int getFontStyle(Figure f)

getPerpendicularFillGrowth

public static double getPerpendicularFillGrowth(Figure f)
Returns the distance, that a Rectangle needs to grow (or shrink) to fill its shape as specified by the FILL_UNDER_STROKE and STROKE_POSITION attributes of a figure. The value returned is the number of units that need to be grown (or shrunk) perpendicular to a stroke on an outline of the shape.


getPerpendicularDrawGrowth

public static double getPerpendicularDrawGrowth(Figure f)
Returns the distance, that a Rectangle needs to grow (or shrink) to draw (aka stroke) its shape as specified by the FILL_UNDER_STROKE and STROKE_POSITION attributes of a figure. The value returned is the number of units that need to be grown (or shrunk) perpendicular to a stroke on an outline of the shape.


getPerpendicularHitGrowth

public static double getPerpendicularHitGrowth(Figure f)
Returns the distance, that a Rectangle needs to grow (or shrink) to make hit detections on a shape as specified by the FILL_UNDER_STROKE and STROKE_POSITION attributes of a figure. The value returned is the number of units that need to be grown (or shrunk) perpendicular to a stroke on an outline of the shape.


Copyright 1996-2007 (c) JHotDraw.org.
Some rights reserved.