public abstract class StyleElement extends java.lang.Object implements StyleKeys
OsmPrimitive
) should be drawn on the map.
Several subclasses of this abstract class implement different drawing features,
like icons for a node or area fill. This class and all its subclasses are immutable
and tend to get shared when multiple objects have the same style (in order to
save memory, see StyleCache.intern()
).Modifier and Type | Class and Description |
---|---|
private static class |
StyleElement.FontDescriptor |
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
defaultFontName |
private static java.lang.Float |
defaultFontSize |
boolean |
defaultSelectedHandling
A flag indicating that the selection color handling should be done automatically
|
private static java.util.Map<StyleElement.FontDescriptor,java.awt.Font> |
FONT_MAP |
protected static int |
ICON_HEIGHT_IDX |
protected static int |
ICON_IMAGE_IDX |
protected static int |
ICON_OFFSET_X_IDX |
protected static int |
ICON_OFFSET_Y_IDX |
protected static int |
ICON_OPACITY_IDX |
protected static int |
ICON_WIDTH_IDX |
boolean |
isModifier
false, if style can serve as main style for the primitive;
true, if it is a highlight or modifier
|
private static java.lang.Object |
lock |
float |
majorZIndex
The major z index of this style element
|
float |
objectZIndex
The object z index
|
float |
zIndex
The z index as set by the user
|
COLOR, DASHES, DASHES_BACKGROUND_COLOR, DASHES_BACKGROUND_OPACITY, DASHES_OFFSET, FILL_COLOR, FILL_EXTENT, FILL_EXTENT_THRESHOLD, FILL_IMAGE, FILL_OPACITY, FONT_FAMILY, FONT_SIZE, FONT_STYLE, FONT_WEIGHT, ICON_HEIGHT, ICON_IMAGE, ICON_OFFSET_X, ICON_OFFSET_Y, ICON_OPACITY, ICON_POSITION, ICON_ROTATION, ICON_WIDTH, LINECAP, LINEJOIN, MAJOR_Z_INDEX, MITERLIMIT, MODIFIER, OBJECT_Z_INDEX, OFFSET, OPACITY, REAL_WIDTH, REPEAT_IMAGE, REPEAT_IMAGE_ALIGN, REPEAT_IMAGE_HEIGHT, REPEAT_IMAGE_OFFSET, REPEAT_IMAGE_OPACITY, REPEAT_IMAGE_PHASE, REPEAT_IMAGE_SPACING, REPEAT_IMAGE_WIDTH, TEXT, TEXT_ANCHOR_HORIZONTAL, TEXT_ANCHOR_VERTICAL, TEXT_COLOR, TEXT_HALO_COLOR, TEXT_HALO_OPACITY, TEXT_HALO_RADIUS, TEXT_OFFSET, TEXT_OFFSET_X, TEXT_OFFSET_Y, TEXT_OPACITY, TEXT_POSITION, WAY_DIRECTION_ARROWS, WIDTH, Z_INDEX
Modifier | Constructor and Description |
---|---|
protected |
StyleElement(Cascade c,
float defaultMajorZindex) |
|
StyleElement(float majorZIndex,
float zIndex,
float objectZIndex,
boolean isModifier,
boolean defaultSelectedHandling)
Construct a new StyleElement
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object o) |
private static java.awt.Font |
getCachedFont(java.lang.String name,
int style,
int size) |
private static java.awt.Font |
getCachedFont(StyleElement.FontDescriptor fd) |
private static java.lang.String |
getDefaultFontName() |
private static java.lang.Float |
getDefaultFontSize() |
protected static java.awt.Font |
getFont(Cascade c,
java.lang.String s) |
protected static java.lang.Float |
getWidth(Cascade c,
java.lang.String key,
java.lang.Float relativeTo)
Get a property value of type Width
|
int |
hashCode() |
boolean |
isProperLineStyle()
Check if this is a style that makes the line visible to the user
|
abstract void |
paintPrimitive(IPrimitive primitive,
MapPaintSettings paintSettings,
StyledMapRenderer painter,
boolean selected,
boolean outermember,
boolean member)
draws a primitive
|
java.lang.String |
toString() |
protected static final int ICON_IMAGE_IDX
protected static final int ICON_WIDTH_IDX
protected static final int ICON_HEIGHT_IDX
protected static final int ICON_OPACITY_IDX
protected static final int ICON_OFFSET_X_IDX
protected static final int ICON_OFFSET_Y_IDX
public float majorZIndex
public float zIndex
public float objectZIndex
public boolean isModifier
public boolean defaultSelectedHandling
private static volatile java.lang.String defaultFontName
private static volatile java.lang.Float defaultFontSize
private static final java.lang.Object lock
private static final java.util.Map<StyleElement.FontDescriptor,java.awt.Font> FONT_MAP
public StyleElement(float majorZIndex, float zIndex, float objectZIndex, boolean isModifier, boolean defaultSelectedHandling)
majorZIndex
- like z-index, but higher priorityzIndex
- order the objects are drawnobjectZIndex
- like z-index, but lower priorityisModifier
- if false, a default line or node symbol is generateddefaultSelectedHandling
- true if default behavior for selected objects
is enabled, false if a style for selected state is given explicitlyprotected StyleElement(Cascade c, float defaultMajorZindex)
public abstract void paintPrimitive(IPrimitive primitive, MapPaintSettings paintSettings, StyledMapRenderer painter, boolean selected, boolean outermember, boolean member)
primitive
- primitive to drawpaintSettings
- paint settingspainter
- painterselected
- true, if primitive is selectedoutermember
- true, if primitive is not selected and outer member of a selected multipolygon relationmember
- true, if primitive is not selected and member of a selected relationpublic boolean isProperLineStyle()
true
for line stylesprotected static java.lang.Float getWidth(Cascade c, java.lang.String key, java.lang.Float relativeTo)
c
- the cascadekey
- property key for the width valuerelativeTo
- reference width. Only needed, when relative width syntax is used, e.g. "+4".private static java.lang.Float getDefaultFontSize()
private static java.lang.String getDefaultFontName()
private static java.awt.Font getCachedFont(StyleElement.FontDescriptor fd)
private static java.awt.Font getCachedFont(java.lang.String name, int style, int size)
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object