Skip to content
Tuan Nguyen edited this page Aug 24, 2020 · 13 revisions

Welcome to the svycanvas wiki!

This wiki provides comprehensive documentation for using the svycanvas web-component, which allows you to create and display an interactive canvas within Servoy's NGClient.

Getting Started

First import the component using one of the release binaries or via Servoy's Web Package Manager.

If you would like to see the component in an example install the included solution svyCanvasExample.servoy.

Example Usage

First add the component to a form by dragging it into the form using the Palette Wizard. It should be under Canvas (Canvas).

API Documentation

Event Handlers

onClick

Returns the item ID and object selected.

Params

Type Name Summary Required
String id ID of selected object if it has one. Optional
Object object returns object selected. Required

onLongPress

Returns the item ID and object selected.

Params

Type Name Summary Required
String id ID of selected object if it has one. Optional
Object object returns object selected. Required

onModified

When canvas is modified execute this handler.

onReady

Fires when canvas has completed initial rendering

API Methods

addObject

Add an object to canvas

copySelectedObject

Copies selected object on canvas

updateObject

Update an object

removeObject

Remove an object

clearCanvas

Clear the canvas

startAnimate

Start animations

stopAnimate

Stop animations

getSelectedObject

Return selected object

setSelectedObject

Select an object on the canvas

saveCanvas

Return current canvas as JSON String

loadCanvas

Draw a canvas using JSON String

saveAsImage

Return current canvas as an Image

bringToFront

Bring selected element to top of canvas

rotate

Rotate the entire canvas and it's objects

ZoomOnPoint

Zoom on a particular point.

Params

Type Name Summary Required
Number x X coordinate Required
Number y Y coordinate Required
Number zoomLevel How far to zoom (0+) Required

Component Properties

Type Name Summary Required
Array canvasObjects An array of canvas objects to be display Optional
Object canvasOptions Options for the canvas Optional
Number gridSize The grid size to use Required if you are showing the grid.
String showGrid Whether or not to show a grid on the canvas. Optional
String snapToGrid Whether or not to try and snap objects to a grid. Optional

canvasOptions

Type Name Summary Required
Boolean selectable Allow objects to be selected optional
Boolean skipTargetFind disable selection of all objects optional
Boolean hasRotatingPoint disable rotation for objects optional
Boolean renderOnAddRemove Performance setting optional
Boolean skipOffscreen Hide drawing elements off-screen optional
Boolean animationSpeed Speed to run animations optional

canvasObject

Type Name Summary Required
String objectType Type of object (Circle,Rectangle,Triangle,Image,Text,Group) required
array objects An array of objects, used if objectType is 'Group optional
Color fill Color fill (default none) optional
String opacity Opacity of object (default 1.0) optional
Number width Width of object (default 0) optional
Number height Height of object (default 0) optional
Number radius Radius of object (default 0) optional
Number left Left position of object from x-axis optional
Number top Top position of object from y-axis optional
Number rx rx position of object from x-axis optional
Number ry ry position of object from y-axis optional
Color stroke Stroke color of an object optional
String id Identifier for object ( if not filled the object cannot be used with handler events) optional
Number scaleX Scale of object for width (default 1.0) optional
Number scaleY Scale of object for height (default 1.0) optional
String text Text of object, only applies if objectType is 'Text' optional
String textAlign Alignment of text object, only applies if objectType is 'Text' (default left) optional
String fontSize Font size of text, only applies if objectType is 'Text' optional
String fontFamily Font family, only applies if objectType is 'Text' optional
Number angle Angle of object optional
String mediaName Use an image or media with object, only applies if objectType is 'Image' optional
String spriteName Use an sprite with object, only applies if objectType is 'Image' optional
Number spriteWidth Sprite width, only applies if objectType is 'Image' optional
Number spriteHeight Sprite height, only applies if objectType is 'Image' optional
Number spriteIndex Sprite index, only applies if objectType is 'Image' optional
Number frameTime Sprite frametime, only applies if objectType is 'Image' optional
Boolean selectable Allows an element to be selected and manipulated (default true) optional
Boolean custom_data Add additional data to an object optional