public class ElemStyles extends Object
Modifier and Type | Field and Description |
---|---|
private int |
cacheIdx |
private boolean |
defaultLines |
private int |
defaultLinesIdx |
private boolean |
defaultNodes |
private int |
defaultNodesIdx |
private boolean |
drawMultipolygon |
private List<StyleSource> |
styleSources |
Constructor and Description |
---|
ElemStyles()
Constructs a new
ElemStyles . |
Modifier and Type | Method and Description |
---|---|
(package private) void |
add(StyleSource style)
add a style source; only accessed from MapPaintStyles
|
private static <T> void |
addIfNotNull(List<T> list,
T obj) |
(package private) void |
clear()
remove all style sources; only accessed from MapPaintStyles
|
void |
clearCached() |
private <T> T |
fromCanvas(String key,
T def,
Class<T> c) |
Pair<StyleCache.StyleList,Range> |
generateStyles(OsmPrimitive osm,
double scale,
OsmPrimitive multipolyOuterWay,
boolean pretendWayIsClosed)
Create the list of styles and its valid scale range for one primitive.
|
StyleCache.StyleList |
get(OsmPrimitive osm,
double scale,
NavigatableComponent nc)
Create the list of styles for one primitive.
|
static AreaElemStyle |
getAreaElemStyle(OsmPrimitive p,
boolean pretendWayIsClosed)
Returns the first AreaElemStyle for a given primitive.
|
private Pair<StyleCache.StyleList,Range> |
getImpl(OsmPrimitive osm,
double scale,
NavigatableComponent nc)
Create the list of styles and its valid scale range for one primitive.
|
Pair<StyleCache.StyleList,Range> |
getStyleCacheWithRange(OsmPrimitive osm,
double scale,
NavigatableComponent nc)
Create the list of styles and its valid scale range for one primitive.
|
List<StyleSource> |
getStyleSources() |
static boolean |
hasAreaElemStyle(OsmPrimitive p,
boolean pretendWayIsClosed)
Determines whether primitive has an AreaElemStyle.
|
private boolean |
isDefaultLines()
Draw a default line for ways that do not have an own line style?
|
private boolean |
isDefaultNodes()
Draw a default node symbol for nodes that have no style?
|
boolean |
isDrawMultipolygon() |
void |
setDrawMultipolygon(boolean drawMultipolygon) |
(package private) void |
setStyleSources(Collection<StyleSource> sources)
set the style sources; only accessed from MapPaintStyles
|
private List<StyleSource> styleSources
private boolean drawMultipolygon
private int cacheIdx
private boolean defaultNodes
private boolean defaultLines
private int defaultNodesIdx
private int defaultLinesIdx
public ElemStyles()
ElemStyles
.public void clearCached()
public List<StyleSource> getStyleSources()
public StyleCache.StyleList get(OsmPrimitive osm, double scale, NavigatableComponent nc)
osm
- the primitivescale
- the scale (in meters per 100 pixel)nc
- display componentpublic Pair<StyleCache.StyleList,Range> getStyleCacheWithRange(OsmPrimitive osm, double scale, NavigatableComponent nc)
private Pair<StyleCache.StyleList,Range> getImpl(OsmPrimitive osm, double scale, NavigatableComponent nc)
public Pair<StyleCache.StyleList,Range> generateStyles(OsmPrimitive osm, double scale, OsmPrimitive multipolyOuterWay, boolean pretendWayIsClosed)
osm
- the primitive to create styles forscale
- the scale (in meters per 100 px), must be > 0multipolyOuterWay
- support for a very old multipolygon tagging style
where you add the tags both to the outer and the inner way.
However, independent inner way style is also possible.pretendWayIsClosed
- For styles that require the way to be closed,
we pretend it is. This is useful for generating area styles from the (segmented)
outer ways of a multipolygon.private static <T> void addIfNotNull(List<T> list, T obj)
private boolean isDefaultNodes()
private boolean isDefaultLines()
private <T> T fromCanvas(String key, T def, Class<T> c)
public boolean isDrawMultipolygon()
public void setDrawMultipolygon(boolean drawMultipolygon)
void clear()
void add(StyleSource style)
void setStyleSources(Collection<StyleSource> sources)
public static AreaElemStyle getAreaElemStyle(OsmPrimitive p, boolean pretendWayIsClosed)
p
- the OSM primitivepretendWayIsClosed
- For styles that require the way to be closed,
we pretend it is. This is useful for generating area styles from the (segmented)
outer ways of a multipolygon.null
.public static boolean hasAreaElemStyle(OsmPrimitive p, boolean pretendWayIsClosed)
p
- the OSM primitivepretendWayIsClosed
- For styles that require the way to be closed,
we pretend it is. This is useful for generating area styles from the (segmented)
outer ways of a multipolygon.true
if primitive has an AreaElemStyle