Interface PositionForAreaStrategy
-
- All Known Implementing Classes:
CompletelyInsideAreaStrategy
,OnLineStrategy
,PartiallyInsideAreaStrategy
public interface PositionForAreaStrategy
This strategy defines how to place a label or icon inside the area.- Since:
- 11722, 11748 moved to own file
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description MapViewPositionAndRotation
findLabelPlacement(MapViewPath path, Rectangle2D nb)
Finds the correct position of a label / icon inside the area.static PositionForAreaStrategy
forKeyword(Keyword keyword)
Gets a strategy for the given keyword.static PositionForAreaStrategy
forKeyword(Keyword keyword, PositionForAreaStrategy defaultStrategy)
Gets a strategy for the given keyword.default List<GlyphVector>
generateGlyphVectors(MapViewPath path, Rectangle2D nb, List<GlyphVector> gvs, boolean isDoubleTranslationBug)
Generates the transformed glyph vectors for the given text.boolean
supportsGlyphVector()
Checks whether this placement strategy supports more detailed (rotation / ...) placement using a glyph vector.PositionForAreaStrategy
withAddedOffset(Point2D addToOffset)
Create a new instance of the same strategy adding a offset
-
-
-
Method Detail
-
findLabelPlacement
MapViewPositionAndRotation findLabelPlacement(MapViewPath path, Rectangle2D nb)
Finds the correct position of a label / icon inside the area.- Parameters:
path
- The area to search innb
- The bounding box of the thing we are searching a place for.- Returns:
- The position as rectangle with the same dimension as nb.
null
if none was found.
-
supportsGlyphVector
boolean supportsGlyphVector()
Checks whether this placement strategy supports more detailed (rotation / ...) placement using a glyph vector.- Returns:
true
if it is supported.
-
generateGlyphVectors
default List<GlyphVector> generateGlyphVectors(MapViewPath path, Rectangle2D nb, List<GlyphVector> gvs, boolean isDoubleTranslationBug)
Generates the transformed glyph vectors for the given text.- Parameters:
path
- The path to place the text alongnb
- The bounds of the textgvs
- The glyph vectors for the text. May be modifiedisDoubleTranslationBug
-true
to fix a glyph placement bug.- Returns:
- The glyph vectors.
- Throws:
UnsupportedOperationException
- ifsupportsGlyphVector()
returns false
-
forKeyword
static PositionForAreaStrategy forKeyword(Keyword keyword)
Gets a strategy for the given keyword.- Parameters:
keyword
- The text position keyword.- Returns:
- The strategy or line if none was specified.
- Since:
- 11722
-
forKeyword
static PositionForAreaStrategy forKeyword(Keyword keyword, PositionForAreaStrategy defaultStrategy)
Gets a strategy for the given keyword.- Parameters:
keyword
- The text position keyword.defaultStrategy
- The default if no strategy was recognized.- Returns:
- The strategy or line if none was specified.
- Since:
- 11722
-
withAddedOffset
PositionForAreaStrategy withAddedOffset(Point2D addToOffset)
Create a new instance of the same strategy adding a offset- Parameters:
addToOffset
- The offset to add- Returns:
- The new strategy
- Since:
- 12476
-
-