public interface IIconPainter
Image
.
This class can be used on any thread, so its implementation must be thread-safe.
Performance considerations: to make sure the rendering backend can avoid as much work as possible
IIconPainter#paint
must be as performant as possible. This can for example be done by implementing this function lazily, i.e. avoid generating the image in the constructor of the IIconPainter
implementation.
painting the image
, that is preferred. The reason is that the rendering backend might need these properties to determine if an icon should effectively be visible or not on the Map
.
Modifier and Type | Method and Description |
---|---|
double |
getAnchorX()
Returns the
x coordinate of the anchor point in pixels. |
double |
getAnchorY()
Returns the
y coordinate of the anchor point in pixels. |
double |
getDisplayScale()
Returns the display scale for which this painter is optimized.
|
long |
getHeight()
Returns the height of this icon.
|
long |
getWidth()
Returns the width of this icon.
|
Image |
paint()
Paints the
IIcon as an image. |
@NotNull Image paint()
null
.long getWidth()
I.e. the width of the Image
that is returned by IIconPainter#paint
.
long getHeight()
I.e. the height of the Image
that is returned by IIconPainter#paint
double getAnchorX()
x
coordinate of the anchor point in pixels.
The anchor point is the location of the icon that (by default) is attached to an other object, e.g. a location on the map. This must be a value in the [0,
range. A good default implementation is to return getWidth()
]getWidth()
/ 2.0.
double getAnchorY()
y
coordinate of the anchor point in pixels.
The anchor point is the location of the icon that (by default) is attached to an other object, e.g. a location on the map. This must be a value in the [0,
range. A good default implementation is to return getHeight()
]getHeight()
/ 2.0.
double getDisplayScale()
This is not necessarily the same display as the one that was used to create this painter. Some icons may only have a limited number scaled versions of their icon available. This method can then be used by the rendering backend to discover this, and to paint it at the intended size.