Package com.myscript.iink.graphics
Interface ICanvas
public interface ICanvas
The ICanvas interface receives drawing commands.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
blendOffscreen
(int id, float src_x, float src_y, float src_width, float src_height, float dest_x, float dest_y, float dest_width, float dest_height, @NotNull Color blend_color) Requests drawing of an offscreen surface (usually a bitmap).@NotNull IPath
Creates a new general path.void
drawLine
(float x1, float y1, float x2, float y2) Requests drawing of a line segment.void
drawObject
(@NotNull String url, @NotNull String mimeType, float x, float y, float width, float height) Requests drawing of an object.void
Requests drawing of a path.void
drawRectangle
(float x, float y, float width, float height) Requests drawing of a rectangle.void
Requests drawing of text.void
endDraw()
Indicates that a drawing session ends.void
Indicates that the drawing of a group of items ends.void
Indicates that the drawing of an item ends.@NotNull Transform
Retrieves the current transform.void
setDropShadow
(float xOffset, float yOffset, float radius, @NotNull Color color) Configures the drop shadow display.void
setFillColor
(@NotNull Color fillColor) Sets the fill color.void
setFillRule
(@NotNull FillRule fillRule) Sets the fill rule.void
setFontProperties
(@NotNull String family, float lineHeight, float size, @NotNull String style, @NotNull String variant, int weight) Sets the font properties.void
setStrokeColor
(@NotNull Color strokeColor) Sets the stroke color.void
setStrokeDashArray
(@org.jetbrains.annotations.Nullable float[] strokeDashArray) Sets the pattern of dashes and gaps used to stroke paths.void
setStrokeDashOffset
(float strokeDashOffset) Sets the distance into the dash pattern to start the dash.void
setStrokeLineCap
(@NotNull LineCap strokeLineCap) Sets the stroke line cap.void
setStrokeLineJoin
(@NotNull LineJoin strokeLineJoin) Sets the stroke line join.void
setStrokeMiterLimit
(float strokeMiterLimit) Sets the stroke miter limit.void
setStrokeWidth
(float strokeWith) Sets the stroke width.void
setTransform
(@NotNull Transform transform) Sets the transform.void
startDraw
(int x, int y, int width, int height) Indicates that a drawing session starts, on a given area.void
startGroup
(@NotNull String id, float x, float y, float width, float height, boolean clipContent) Indicates that the drawing of a group of items starts.void
Indicates that the drawing of an item starts.
-
Method Details
-
setTransform
Sets the transform.- Parameters:
transform
- the transform.
-
getTransform
Retrieves the current transform.- Returns:
- the transform.
-
setStrokeColor
Sets the stroke color.- Parameters:
strokeColor
- the stroke color.
-
setStrokeWidth
void setStrokeWidth(float strokeWith) Sets the stroke width.- Parameters:
strokeWith
- the stroke width (document coordinates in mm).
-
setStrokeLineCap
Sets the stroke line cap.- Parameters:
strokeLineCap
- the stroke line cap.
-
setStrokeLineJoin
Sets the stroke line join.- Parameters:
strokeLineJoin
- the stroke line join.
-
setStrokeMiterLimit
void setStrokeMiterLimit(float strokeMiterLimit) Sets the stroke miter limit.- Parameters:
strokeMiterLimit
- the stroke miter limit (document coordinates in mm).
-
setStrokeDashArray
void setStrokeDashArray(@Nullable @org.jetbrains.annotations.Nullable float[] strokeDashArray) Sets the pattern of dashes and gaps used to stroke paths.- Parameters:
strokeDashArray
- the vector describing the dashes pattern (document coordinates in mm).
-
setStrokeDashOffset
void setStrokeDashOffset(float strokeDashOffset) Sets the distance into the dash pattern to start the dash.- Parameters:
strokeDashOffset
- the dash offset (document coordinates in mm).
-
setFillColor
Sets the fill color.- Parameters:
fillColor
- the fill color.
-
setFillRule
Sets the fill rule.- Parameters:
fillRule
- the fill rule.
-
setDropShadow
Configures the drop shadow display.- Parameters:
xOffset
- the drop shadow horizontal offset.yOffset
- the drop shadow vertical offset.radius
- the blur radius of the drop shadow.color
- the color of the drop shadow.
-
setFontProperties
void setFontProperties(@NotNull @NotNull String family, float lineHeight, float size, @NotNull @NotNull String style, @NotNull @NotNull String variant, int weight) Sets the font properties.- Parameters:
family
- the font family.lineHeight
- the font line height.size
- the font size (document coordinates in mm).style
- the font style.variant
- the font variant.weight
- the font weight.
-
startGroup
void startGroup(@NotNull @NotNull String id, float x, float y, float width, float height, boolean clipContent) Indicates that the drawing of a group of items starts.- Parameters:
id
- the identifier of the group.x
- the x coordinate of the top left point of the group box (document coordinates in mm).y
- the y coordinate of the top left point of the group box (document coordinates in mm).width
- the width of the group box (document coordinates in mm).height
- the height of the group box (document coordinates in mm).clipContent
-true
if the canvas should use the group box as the clipping region until correspondingendGroup(String)
, otherwisefalse
.
-
endGroup
Indicates that the drawing of a group of items ends.- Parameters:
id
- the identifier of the group.
-
startItem
Indicates that the drawing of an item starts.- Parameters:
id
- the identifier of the group.
-
endItem
Indicates that the drawing of an item ends.- Parameters:
id
- the identifier of the group.
-
createPath
Creates a new general path. The renderer will then send commands to this path, and it will be used in the call todrawPath(IPath)
.Note: the
drawPath(IPath)
method may be called with a path that was created by another instance of canvas, because the renderer maintains a cache of the paths that hold the visual representation of ink strokes.- Returns:
- the newly created general path.
-
drawPath
Requests drawing of a path.- Parameters:
path
- the path to draw (document coordinates in mm).
-
drawRectangle
void drawRectangle(float x, float y, float width, float height) Requests drawing of a rectangle.- Parameters:
x
- the x coordinate of the top left point (document coordinates in mm).y
- the y coordinate of the top left point (document coordinates in mm).width
- the width (document coordinates in mm).height
- the height (document coordinates in mm).
-
drawLine
void drawLine(float x1, float y1, float x2, float y2) Requests drawing of a line segment.- Parameters:
x1
- the x coordinate of the first point (document coordinates in mm).y1
- the y coordinate of the first point (document coordinates in mm).x2
- the x coordinate of the last point (document coordinates in mm).y2
- the y coordinate of the last point (document coordinates in mm).
-
drawObject
void drawObject(@NotNull @NotNull String url, @NotNull @NotNull String mimeType, float x, float y, float width, float height) Requests drawing of an object.Note: the object should be transformed (translation and uniform scale) so that it fits centered in the specified viewport rectangle.
- Parameters:
url
- the URL of the object.mimeType
- the Mime type associated with the object.x
- the x coordinate of the top left point of the viewport rectangle (document coordinates in mm).y
- the y coordinate of the top left point of the viewport rectangle (document coordinates in mm).width
- the width of the viewport rectangle (document coordinates in mm).height
- the height of the viewport rectangle (document coordinates in mm).
-
drawText
void drawText(@NotNull @NotNull String label, float x, float y, float xmin, float ymin, float xmax, float ymax) Requests drawing of text.Note: the extent of the rendered text as given by xmin, ymin, xmax, and ymax is informative and should not be used for the actual rendering.
- Parameters:
label
- the label of the text to draw.x
- the x coordinate of the position from where to draw the text (document coordinates in mm).y
- the y coordinate of the position from where to draw the text (document coordinates in mm).xmin
- minimal x coordinate of the rendered text (document coordinates in mm).ymin
- minimal y coordinate of the rendered text (document coordinates in mm).xmax
- maximal x coordinate of the rendered text (document coordinates in mm).ymax
- maximal y coordinate of the rendered text (document coordinates in mm).
-
startDraw
void startDraw(int x, int y, int width, int height) Indicates that a drawing session starts, on a given area. Provided area must be cleared within this call.- Parameters:
x
- the x coordinate of the top left point of the drawing area.y
- the y coordinate of the top left point of the drawing area.width
- the width of the drawing area.height
- the height of the drawing area.- Since:
- 1.4
-
endDraw
void endDraw()Indicates that a drawing session ends.- Since:
- 1.4
-
blendOffscreen
void blendOffscreen(int id, float src_x, float src_y, float src_width, float src_height, float dest_x, float dest_y, float dest_width, float dest_height, @NotNull @NotNull Color blend_color) Requests drawing of an offscreen surface (usually a bitmap).- Parameters:
id
- the identifier of the surface.src_x
- minimal x coordinate of the offscreen surface.src_y
- minimal y coordinate of the offscreen surface.src_width
- maximal x coordinate of the offscreen surface.src_height
- maximal y coordinate of the offscreen surface.dest_x
- minimal x coordinate where to draw this offscreen surface.dest_y
- minimal y coordinate where to draw this offscreen surface.dest_width
- maximal x coordinate where to draw this offscreen surface.dest_height
- maximal y coordinate where to draw this offscreen surface.blend_color
- The color used for the blending operation- Since:
- 1.4
-