Class K2DText
java.lang.Object
com.kheops.jmap.client.graphics2D.K2DElement
com.kheops.jmap.client.graphics2D.K2DText
- All Implemented Interfaces:
Shareable
,Serializable
,Cloneable
A class representing a scalable text element (map annotation).
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Attribute name for specify the text value of K2DText.protected AnnotationTypeGeometry
Defines the geometry of the current element.Fields inherited from class com.kheops.jmap.client.graphics2D.K2DElement
attributes, DEFAULT_DC_BUFFER, id, selected
-
Constructor Summary
ConstructorDescriptionK2DText()
Defaults constructor with no geometry assigned.K2DText
(AnnotationTypeGeometry geometry, int id) Constructs a new K2DText object with the specified annotation.K2DText
(AnnotationTypeGeometry geometry, Object[] attribute, long id) Constructs a new K2DText object using the specified parameters. -
Method Summary
Modifier and TypeMethodDescriptionclone()
This will clone the current instance of K2DElement.void
draw
(GraphicsRef gr, K2DTransform t, Style s) Draws the element on the specified graphics object using the specified transformation and style.static void
draw
(GraphicsRef gr, Style style, float x, float y, TextLayout textLayout, AffineTransform transform) static void
draw
(GraphicsRef gr, Style style, float x, float y, AttributedString attribString, AffineTransform transform) Deprecated.void
drawHandles
(GraphicsRef gr, K2DTransform t, Style s) This method draws handles around the element.protected double
getAdjustedFontSize
(K2DTransform t, Graphics g, double textHeight, double presentSizeDC) Computes the size of the font based on the specified transform object.Determines the bounding box of the displayed element in DC.getDisplayBoundsWc
(ViewState vs, Style s) Determines the bounding box including the style of element in WC (World Coordinates).Returns the geometry object associated with the element.int
getType()
Return the current element type.void
setGeometry
(Geometry geometry) Sets the geometry object associated with the element.share()
Creates a clone of the current element excluding the geometry which remains the same instance in both elements.
Useclone()
to create a real copy of the current element.int
sizeOf()
Returns the estimated memory used by this object in bytes.toString()
This method overrides the toString methodboolean
touches
(Point dcCoord, K2DTransform t, Style s) Determines if the specified device coordinate touches the displayed element.Methods inherited from class com.kheops.jmap.client.graphics2D.K2DElement
copyAttributes, draw, drawHandles, equals, fromByteArray, generateUniqueId, getAttributes, getDisplayBounds, getId, hashCode, isSelected, setAttributes, setId, setSelected, sizeOfAttributes, toByteArray, toByteArray, touches
-
Field Details
-
ATTRIBUTE_TEXT_VALUE
Attribute name for specify the text value of K2DText.- See Also:
-
geometry
Defines the geometry of the current element.
-
-
Constructor Details
-
K2DText
public K2DText()Defaults constructor with no geometry assigned. -
K2DText
Constructs a new K2DText object with the specified annotation.- Parameters:
geometry
- the annotation geometry that will contain the displayed text.id
- the id of the element.
-
K2DText
Constructs a new K2DText object using the specified parameters.- Parameters:
geometry
- the annotation geometry that will contain the displayed text.attribute
- the attributes of the element.id
- the id of the element.
-
-
Method Details
-
clone
This will clone the current instance of K2DElement. The cloned element is always a deep copy of the source element.- Specified by:
clone
in classK2DElement
- Returns:
- a new instance of K2DElement which is equal to the specified the current element.
-
draw
Draws the element on the specified graphics object using the specified transformation and style.- Specified by:
draw
in classK2DElement
- Parameters:
gr
- a wrapper to the Graphics object to draw ont
- the transformation to apply to the elements
- the style that defines the appearance of the element
-
draw
@Deprecated public static void draw(GraphicsRef gr, Style style, float x, float y, AttributedString attribString, AffineTransform transform) Deprecated.Draws an AttributedString to the specified location.- Parameters:
gr
- the graphics wrapper to use.style
- the style to use when drawing the annotation.x
- the X coordinate.y
- the Y coordinate.attribString
- the attributed string to draw.transform
- the view transformation matrix to use.
-
draw
public static void draw(GraphicsRef gr, Style style, float x, float y, TextLayout textLayout, AffineTransform transform) -
getAdjustedFontSize
protected double getAdjustedFontSize(K2DTransform t, Graphics g, double textHeight, double presentSizeDC) Computes the size of the font based on the specified transform object.- Parameters:
t
- the view transformation matrix.g
- the current graphics object to use.presentSizeDC
- the current DC size.- Returns:
- the WC size that was computed.
-
sizeOf
public int sizeOf()Returns the estimated memory used by this object in bytes.- Overrides:
sizeOf
in classK2DElement
- Returns:
- the estimated memory used by this object in bytes.
-
toString
This method overrides the toString method -
getGeometry
Returns the geometry object associated with the element.
The returned object is an instance of Annotation.- Specified by:
getGeometry
in classK2DElement
- Returns:
- The geometry object associated with the element.
-
setGeometry
Sets the geometry object associated with the element.- Specified by:
setGeometry
in classK2DElement
- Parameters:
geometry
- the geometry- Throws:
IllegalArgumentException
- if the specified geometry is not a valid Annotation instance.
-
getDisplayBounds
Determines the bounding box of the displayed element in DC. The bounding box is the smallest possible rectangle in which the displayed element fits entirely.- Specified by:
getDisplayBounds
in classK2DElement
- Parameters:
t
- the transformation used to calculate the display bounds of the element.s
- the style used to calculate the display bounds of the element.- Returns:
- the bounding box of the displayed element
-
touches
Determines if the specified device coordinate touches the displayed element. A point touches the element if it overlaps the graphical representation of the element. The style of the element influences the result.- Specified by:
touches
in classK2DElement
- Parameters:
dcCoord
- the device coordinatet
- the transformation used to display the elements
- the style used to display the element- Returns:
- true if the element contains the point, false otherwise
- See Also:
-
drawHandles
This method draws handles around the element. The position of the handles is implementation dependent. These handles are typically used to modify the geometry of the element.- Specified by:
drawHandles
in classK2DElement
- Parameters:
gr
- the Graphics object to draw on.t
- the transformation to apply to the element.s
- the style of the element.
-
getType
public int getType()Return the current element type.- Specified by:
getType
in classK2DElement
- Returns:
- the element type.
- See Also:
-
getDisplayBoundsWc
Determines the bounding box including the style of element in WC (World Coordinates). The bounding box is the smallest possible rectangle in which the displayed element fits entirely. This method offers a basic implementation by transforming the DC getDisplayBounds method result in WC. To optimize performance, each K2DElement should override this method with its own implementation. See existing implementations (K2DPolygon, K2DPoint, K2DPolyline, etc.) for examples.- Overrides:
getDisplayBoundsWc
in classK2DElement
- Parameters:
vs
- the view state that provides context information to calculate the display bounds of the element.s
- the style used used to calculate the display bounds of the element.- Returns:
- the bounding box of the displayed element in WC
-
draw(GraphicsRef, Style, float, float, TextLayout, AffineTransform)
instead