Skip to main content

Class: Shape

Extends

Implements

Constructors

new Shape()

new Shape(options): Shape

Rectangular, circular, or path-based shape

Parameters

options: ShapeOptions = {}

ShapeOptions

Returns

Shape

Overrides

M2Node.constructor

Defined in

m2c2kit/packages/core/src/Shape.ts:62

Properties

_alpha

_alpha: number = 1.0

Inherited from

M2Node._alpha

Defined in

m2c2kit/packages/core/src/M2Node.ts:99


_draggable

protected _draggable: boolean = false

Inherited from

M2Node._draggable

Defined in

m2c2kit/packages/core/src/M2Node.ts:102


_game?

optional _game: Game

Inherited from

M2Node._game

Defined in

m2c2kit/packages/core/src/M2Node.ts:106


_hidden

protected _hidden: boolean = false

Inherited from

M2Node._hidden

Defined in

m2c2kit/packages/core/src/M2Node.ts:103


_isUserInteractionEnabled

protected _isUserInteractionEnabled: boolean = false

Inherited from

M2Node._isUserInteractionEnabled

Defined in

m2c2kit/packages/core/src/M2Node.ts:101


_position

_position: Point

Inherited from

M2Node._position

Defined in

m2c2kit/packages/core/src/M2Node.ts:97


_scale

_scale: number = 1.0

Inherited from

M2Node._scale

Defined in

m2c2kit/packages/core/src/M2Node.ts:98


_size

protected _size: Size

Inherited from

M2Node._size

Defined in

m2c2kit/packages/core/src/M2Node.ts:110


_zRotation

_zRotation: number = 0

Inherited from

M2Node._zRotation

Defined in

m2c2kit/packages/core/src/M2Node.ts:100


absoluteAlpha

absoluteAlpha: number = 1.0

Inherited from

M2Node.absoluteAlpha

Defined in

m2c2kit/packages/core/src/M2Node.ts:112


absoluteAlphaChange

absoluteAlphaChange: number = 0

Inherited from

M2Node.absoluteAlphaChange

Defined in

m2c2kit/packages/core/src/M2Node.ts:113


absolutePosition

absolutePosition: Point

Inherited from

M2Node.absolutePosition

Defined in

m2c2kit/packages/core/src/M2Node.ts:109


absoluteScale

absoluteScale: number = 1.0

Inherited from

M2Node.absoluteScale

Defined in

m2c2kit/packages/core/src/M2Node.ts:111


actions

actions: Action[]

Inherited from

M2Node.actions

Defined in

m2c2kit/packages/core/src/M2Node.ts:114


children

children: M2Node[]

Inherited from

M2Node.children

Defined in

m2c2kit/packages/core/src/M2Node.ts:108


ckPath

ckPath: null | Path = null

Defined in

m2c2kit/packages/core/src/Shape.ts:33


ckPathHeight?

optional ckPathHeight: number

Defined in

m2c2kit/packages/core/src/Shape.ts:35


ckPathWidth?

optional ckPathWidth: number

Defined in

m2c2kit/packages/core/src/Shape.ts:34


constructionIso8601TimeStamp

constructionIso8601TimeStamp: string

Inherited from

M2Node.constructionIso8601TimeStamp

Defined in

m2c2kit/packages/core/src/M2Node.ts:93


constructionSequence

constructionSequence: number

Inherited from

M2Node.constructionSequence

Defined in

m2c2kit/packages/core/src/M2Node.ts:94


constructionTimeStamp

constructionTimeStamp: number

Inherited from

M2Node.constructionTimeStamp

Defined in

m2c2kit/packages/core/src/M2Node.ts:92


dragging

dragging: boolean = false

Is the node in a dragging state?

Inherited from

M2Node.dragging

Defined in

m2c2kit/packages/core/src/M2Node.ts:142


draggingLastPointerOffset

draggingLastPointerOffset: Point

What was the previous pointer offset when the node was in a dragging state?

Inherited from

M2Node.draggingLastPointerOffset

Defined in

m2c2kit/packages/core/src/M2Node.ts:140


eventListeners

eventListeners: M2NodeEventListener<M2NodeEvent>[]

Inherited from

M2Node.eventListeners

Defined in

m2c2kit/packages/core/src/M2Node.ts:116


isDrawable

isDrawable: boolean = true

Overrides

M2Node.isDrawable

Defined in

m2c2kit/packages/core/src/Shape.ts:22


isShape

isShape: boolean = true

Overrides

M2Node.isShape

Defined in

m2c2kit/packages/core/src/Shape.ts:23


isText

isText: boolean = false

Inherited from

M2Node.isText

Defined in

m2c2kit/packages/core/src/M2Node.ts:89


layout

layout: Layout = {}

FOR INTERNAL USE ONLY

Implementation of

ShapeOptions.layout

Inherited from

M2Node.layout

Defined in

m2c2kit/packages/core/src/M2Node.ts:104


loopMessages

loopMessages: Set<string>

Inherited from

M2Node.loopMessages

Defined in

m2c2kit/packages/core/src/M2Node.ts:122


name

name: string

Name of the node. Only needed if the node will be referred to by name in a later function

Implementation of

ShapeOptions.name

Inherited from

M2Node.name

Defined in

m2c2kit/packages/core/src/M2Node.ts:96


needsInitialization

needsInitialization: boolean = true

Inherited from

M2Node.needsInitialization

Defined in

m2c2kit/packages/core/src/M2Node.ts:118


nodeEvents

nodeEvents: M2Event<M2Node>[]

Inherited from

M2Node.nodeEvents

Defined in

m2c2kit/packages/core/src/M2Node.ts:123


options

options: M2NodeOptions

Inherited from

M2Node.options

Defined in

m2c2kit/packages/core/src/M2Node.ts:91


parent?

optional parent: M2Node

Inherited from

M2Node.parent

Defined in

m2c2kit/packages/core/src/M2Node.ts:107


pressed

pressed: boolean = false

Is the node in a pressed state? E.g., did the user put the pointer down on the node and not yet release it?

Inherited from

M2Node.pressed

Defined in

m2c2kit/packages/core/src/M2Node.ts:127


pressedAndWithinHitArea

pressedAndWithinHitArea: boolean = false

Is the node in a pressed state AND is the pointer within the node's hit area? For example, a user may put the pointer down on the node, but then move the pointer, while still down, beyond the node's hit area. In this case, pressed = true, but pressedAndWithinHitArea = false.

Inherited from

M2Node.pressedAndWithinHitArea

Defined in

m2c2kit/packages/core/src/M2Node.ts:133


pressedInitialPointerOffset

pressedInitialPointerOffset: Point

When the node initially enters the pressed state, what is the pointer offset? (offset from the canvas's origin to the pointer position). We save this because it will be needed if this press then led to a drag.

Inherited from

M2Node.pressedInitialPointerOffset

Defined in

m2c2kit/packages/core/src/M2Node.ts:137


queuedAction?

optional queuedAction: Action

Inherited from

M2Node.queuedAction

Defined in

m2c2kit/packages/core/src/M2Node.ts:115


shapeType

shapeType: ShapeType = ShapeType.Undefined

Implementation of

ShapeOptions.shapeType

Defined in

m2c2kit/packages/core/src/Shape.ts:29


type

readonly type: Shape = M2NodeType.Shape

Overrides

M2Node.type

Defined in

m2c2kit/packages/core/src/Shape.ts:21


userData

userData: any = {}

Inherited from

M2Node.userData

Defined in

m2c2kit/packages/core/src/M2Node.ts:121


uuid

readonly uuid: string

Internal

Unique identifier (UUID). Will be generated automatically. For m2c2kit library use only

Implementation of

ShapeOptions.uuid

Inherited from

M2Node.uuid

Defined in

m2c2kit/packages/core/src/M2Node.ts:117


withinHitArea

withinHitArea: boolean = false

Inherited from

M2Node.withinHitArea

Defined in

m2c2kit/packages/core/src/M2Node.ts:128

Accessors

alpha

Get Signature

get alpha(): number

Opacity of the node. 0 is fully transparent, 1 is fully opaque. Default is 1.0. Alpha has multiplicative inheritance. For example, if the node's parent is alpha .5 and this node's is alpha .4, then the node will appear with alpha .2.

Returns

number

Set Signature

set alpha(alpha): void

Opacity of the node. 0 is fully transparent, 1 is fully opaque. Default is 1.0. Alpha has multiplicative inheritance. For example, if the node's parent is alpha .5 and this node's is alpha .4, then the node will appear with alpha .2.

Parameters

alpha: number

Returns

void

Opacity of the node. 0 is fully transparent, 1 is fully opaque. Default is 1.0. Alpha has multiplicative inheritance. For example, if the node's parent is alpha .5 and this node's is alpha .4, then the node will appear with alpha .2.

Implementation of

ShapeOptions.alpha

Inherited from

M2Node.alpha

Defined in

m2c2kit/packages/core/src/M2Node.ts:1386


ancestors

Get Signature

get ancestors(): M2Node[]

Returns all ancestor nodes, not including the node itself.

Returns

M2Node[]

Inherited from

M2Node.ancestors

Defined in

m2c2kit/packages/core/src/M2Node.ts:538


anchorPoint

Get Signature

get anchorPoint(): Point

Point within the node that determines its position. Default is { x: 0.5, y: 0.5 }, which centers the node on its position

Returns

Point

Set Signature

set anchorPoint(anchorPoint): void

Point within the node that determines its position. Default is { x: 0.5, y: 0.5 }, which centers the node on its position

Parameters

anchorPoint: Point

Returns

void

Point within the node that determines its position. Default is { x: 0.5, y: 0.5 }, which centers the node on its position

Implementation of

ShapeOptions.anchorPoint

Defined in

m2c2kit/packages/core/src/Shape.ts:287


canvasKit

Get Signature

get canvasKit(): CanvasKit

Gets the scene that contains this node by searching up the ancestor tree recursively. Throws exception if node is not part of a scene.

Returns

CanvasKit

Scene that contains this node

Inherited from

M2Node.canvasKit

Defined in

m2c2kit/packages/core/src/M2Node.ts:1278


circleOfRadius

Get Signature

get circleOfRadius(): undefined | number

If provided, shape will be a circle with given radius

Returns

undefined | number

Set Signature

set circleOfRadius(circleOfRadius): void

If provided, shape will be a circle with given radius

Parameters

circleOfRadius: undefined | number

Returns

void

If provided, shape will be a circle with given radius

Implementation of

ShapeOptions.circleOfRadius

Defined in

m2c2kit/packages/core/src/Shape.ts:818


completeNodeOptions

Get Signature

get completeNodeOptions(): object

Returns

object

alpha?

optional alpha: number

Opacity of the node. 0 is fully transparent, 1 is fully opaque. Default is 1.0. Alpha has multiplicative inheritance. For example, if the node's parent is alpha .5 and this node's is alpha .4, then the node will appear with alpha .2.

anchorPoint?

optional anchorPoint: Point

Point within the node that determines its position. Default is { x: 0.5, y: 0.5 }, which centers the node on its position

circleOfRadius

circleOfRadius: undefined | number

cornerRadius

cornerRadius: number

draggable?

optional draggable: boolean

Can the node be dragged?

fillColor

fillColor: RgbaColor

hidden?

optional hidden: boolean

Is the node, and its children, hidden? (not displayed). Default is false

isAntialiased

isAntialiased: boolean

isUserInteractionEnabled?

optional isUserInteractionEnabled: boolean

Does the node respond to user events, such as taps? Default is false

layout?

optional layout: Layout

FOR INTERNAL USE ONLY

lineWidth

lineWidth: undefined | number

name?

optional name: string

Name of the node. Only needed if the node will be referred to by name in a later function

path

path: undefined | M2Path | M2ColorfulPath | SvgStringPath

position?

optional position: Point

Position of the node within its parent coordinate system. Default is (0, 0)

rect

rect: undefined | RectOptions

scale?

optional scale: number

Scale of the node. Default is 1.0

size

size: undefined | Size

strokeColor

strokeColor: undefined | RgbaColor

suppressEvents?

optional suppressEvents: boolean

Should the node not emit events to the EventStore? Default is false.

Remarks

This property is for use by authors of Composite nodes. It is not intended for general use.

uuid?

optional uuid: string

Internal

Unique identifier (UUID). Will be generated automatically. For m2c2kit library use only

zPosition?

optional zPosition: number

Value along the z-axis to determine drawing and tap order. Larger values are on top.

zRotation?

optional zRotation: number

Rotation of the node around the Z axis. Unit is radians. Default is 0 (no rotation). zRotation has inheritance. In addition to this node's zRotation, all ancestors' zRotations will be applied.

Overrides

M2Node.completeNodeOptions

Defined in

m2c2kit/packages/core/src/Shape.ts:178


cornerRadius

Get Signature

get cornerRadius(): number

Radius of rectangle's corners

Returns

number

Set Signature

set cornerRadius(cornerRadius): void

Radius of rectangle's corners

Parameters

cornerRadius: undefined | number

Returns

void

Radius of rectangle's corners

Implementation of

ShapeOptions.cornerRadius

Defined in

m2c2kit/packages/core/src/Shape.ts:842


descendants

Get Signature

get descendants(): M2Node[]

Returns all descendant nodes.

Remarks

Descendants are children and children of children, recursively.

Returns

M2Node[]

Inherited from

M2Node.descendants

Defined in

m2c2kit/packages/core/src/M2Node.ts:525


draggable

Get Signature

get draggable(): boolean

Can the node be dragged?

Returns

boolean

Set Signature

set draggable(draggable): void

Can the node be dragged?

Parameters

draggable: boolean

Returns

void

Can the node be dragged?

Implementation of

ShapeOptions.draggable

Inherited from

M2Node.draggable

Defined in

m2c2kit/packages/core/src/M2Node.ts:1422


fillColor

Get Signature

get fillColor(): RgbaColor

Color with which to fill shape. Default is Constants.DEFAULT_SHAPE_FILL_COLOR (WebColors.Red)

Returns

RgbaColor

Set Signature

set fillColor(fillColor): void

Color with which to fill shape. Default is Constants.DEFAULT_SHAPE_FILL_COLOR (WebColors.Red)

Parameters

fillColor: RgbaColor

Returns

void

Color with which to fill shape. Default is Constants.DEFAULT_SHAPE_FILL_COLOR (WebColors.Red)

Implementation of

ShapeOptions.fillColor

Defined in

m2c2kit/packages/core/src/Shape.ts:878


fillColorPaintAntialiased

Get Signature

get fillColorPaintAntialiased(): Paint

Returns

Paint

Set Signature

set fillColorPaintAntialiased(value): void

Parameters

value: Paint

Returns

void

Defined in

m2c2kit/packages/core/src/Shape.ts:914


fillColorPaintNotAntialiased

Get Signature

get fillColorPaintNotAntialiased(): Paint

Returns

Paint

Set Signature

set fillColorPaintNotAntialiased(value): void

Parameters

value: Paint

Returns

void

Defined in

m2c2kit/packages/core/src/Shape.ts:934


game

Get Signature

get game(): Game

The game which this node is a part of.

Remarks

Throws error if node is not part of the game object.

Returns

Game

Inherited from

M2Node.game

Defined in

m2c2kit/packages/core/src/M2Node.ts:278


hidden

Get Signature

get hidden(): boolean

Is the node, and its children, hidden? (not displayed). Default is false

Returns

boolean

Set Signature

set hidden(hidden): void

Is the node, and its children, hidden? (not displayed). Default is false

Parameters

hidden: boolean

Returns

void

Is the node, and its children, hidden? (not displayed). Default is false

Implementation of

ShapeOptions.hidden

Inherited from

M2Node.hidden

Defined in

m2c2kit/packages/core/src/M2Node.ts:1411


isAntialiased

Get Signature

get isAntialiased(): boolean

Should the shape be drawn with anti-aliasing. Default is yes.

Returns

boolean

Set Signature

set isAntialiased(isAntialiased): void

Should the shape be drawn with anti-aliasing. Default is yes.

Parameters

isAntialiased: boolean

Returns

void

Should the shape be drawn with anti-aliasing. Default is yes.

Implementation of

ShapeOptions.isAntialiased

Defined in

m2c2kit/packages/core/src/Shape.ts:902


isUserInteractionEnabled

Get Signature

get isUserInteractionEnabled(): boolean

Does the node respond to user events, such as taps? Default is false

Returns

boolean

Set Signature

set isUserInteractionEnabled(isUserInteractionEnabled): void

Does the node respond to user events, such as taps? Default is false

Parameters

isUserInteractionEnabled: boolean

Returns

void

Does the node respond to user events, such as taps? Default is false

Implementation of

ShapeOptions.isUserInteractionEnabled

Inherited from

M2Node.isUserInteractionEnabled

Defined in

m2c2kit/packages/core/src/M2Node.ts:1397


lineWidth

Get Signature

get lineWidth(): undefined | number

Width of outline. Default is undefined for rectangle and circle, 2 for path.

Returns

undefined | number

Set Signature

set lineWidth(lineWidth): void

Width of outline. Default is undefined for rectangle and circle, 2 for path.

Parameters

lineWidth: undefined | number

Returns

void

Width of outline. Default is undefined for rectangle and circle, 2 for path.

Implementation of

ShapeOptions.lineWidth

Defined in

m2c2kit/packages/core/src/Shape.ts:854


parentSceneAsNode

Get Signature

get parentSceneAsNode(): M2Node

Returns

M2Node

Inherited from

M2Node.parentSceneAsNode

Defined in

m2c2kit/packages/core/src/M2Node.ts:1282


path

Get Signature

get path(): undefined | M2Path | M2ColorfulPath | SvgStringPath

A path from which to create the shape

Returns

undefined | M2Path | M2ColorfulPath | SvgStringPath

Set Signature

set path(path): void

A path from which to create the shape

Parameters

path: undefined | M2Path | M2ColorfulPath | SvgStringPath

Returns

void

A path from which to create the shape

Implementation of

ShapeOptions.path

Defined in

m2c2kit/packages/core/src/Shape.ts:866


position

Get Signature

get position(): Point

Position of the node within its parent coordinate system. Default is (0, 0)

Returns

Point

Set Signature

set position(position): void

Position of the node within its parent coordinate system. Default is (0, 0)

Parameters

position: Point

Returns

void

Position of the node within its parent coordinate system. Default is (0, 0)

Implementation of

ShapeOptions.position

Inherited from

M2Node.position

Defined in

m2c2kit/packages/core/src/M2Node.ts:1330


rect

Get Signature

get rect(): undefined | RectOptions

If provided, shape will be a rectangle as specified in Rect

Returns

undefined | RectOptions

Set Signature

set rect(rect): void

If provided, shape will be a rectangle as specified in Rect

Parameters

rect: undefined | RectOptions

Returns

void

If provided, shape will be a rectangle as specified in Rect

Implementation of

ShapeOptions.rect

Defined in

m2c2kit/packages/core/src/Shape.ts:830


scale

Get Signature

get scale(): number

Scale of the node. Default is 1.0

Returns

number

Set Signature

set scale(scale): void

Scale of the node. Default is 1.0

Parameters

scale: number

Returns

void

Scale of the node. Default is 1.0

Implementation of

ShapeOptions.scale

Inherited from

M2Node.scale

Defined in

m2c2kit/packages/core/src/M2Node.ts:1375


size

Get Signature

get size(): Size

Size of container "view box" for M2Path and M2ColorfulPath shapes. Leave undefined for circle, rectangle, and SvgStringPath shapes.

Returns

Size

Set Signature

set size(size): void

Size of container "view box" for M2Path and M2ColorfulPath shapes. Leave undefined for circle, rectangle, and SvgStringPath shapes.

Parameters

size: Size

Returns

void

Size of container "view box" for M2Path and M2ColorfulPath shapes. Leave undefined for circle, rectangle, and SvgStringPath shapes.

Implementation of

ShapeOptions.size

Inherited from

M2Node.size

Defined in

m2c2kit/packages/core/src/M2Node.ts:1296


strokeColor

Get Signature

get strokeColor(): undefined | RgbaColor

Color with which to outline shape. Default is no color for rectangle and circle, red for path.

Returns

undefined | RgbaColor

Set Signature

set strokeColor(strokeColor): void

Color with which to outline shape. Default is no color for rectangle and circle, red for path.

Parameters

strokeColor: undefined | RgbaColor

Returns

void

Color with which to outline shape. Default is no color for rectangle and circle, red for path.

Implementation of

ShapeOptions.strokeColor

Defined in

m2c2kit/packages/core/src/Shape.ts:890


strokeColorPaintAntialiased

Get Signature

get strokeColorPaintAntialiased(): Paint

Returns

Paint

Set Signature

set strokeColorPaintAntialiased(value): void

Parameters

value: Paint

Returns

void

Defined in

m2c2kit/packages/core/src/Shape.ts:924


strokeColorPaintNotAntialiased

Get Signature

get strokeColorPaintNotAntialiased(): Paint

Returns

Paint

Set Signature

set strokeColorPaintNotAntialiased(value): void

Parameters

value: Paint

Returns

void

Defined in

m2c2kit/packages/core/src/Shape.ts:944


suppressEvents

Get Signature

get suppressEvents(): boolean

Should the node not emit events to the EventStore? Default is false.

Remarks

This property is for use by authors of Composite nodes. It is not intended for general use.

Returns

boolean

Set Signature

set suppressEvents(value): void

Should the node not emit events to the EventStore? Default is false.

Remarks

This property is for use by authors of Composite nodes. It is not intended for general use.

Parameters

value: boolean

Returns

void

Should the node not emit events to the EventStore? Default is false.

Remarks

This property is for use by authors of Composite nodes. It is not intended for general use.

Implementation of

ShapeOptions.suppressEvents

Inherited from

M2Node.suppressEvents

Defined in

m2c2kit/packages/core/src/M2Node.ts:1433


zPosition

Get Signature

get zPosition(): number

Value along the z-axis to determine drawing and tap order. Larger values are on top.

Returns

number

Set Signature

set zPosition(zPosition): void

Value along the z-axis to determine drawing and tap order. Larger values are on top.

Parameters

zPosition: number

Returns

void

Value along the z-axis to determine drawing and tap order. Larger values are on top.

Implementation of

ShapeOptions.zPosition

Defined in

m2c2kit/packages/core/src/Shape.ts:321


zRotation

Get Signature

get zRotation(): number

Rotation of the node around the Z axis. Unit is radians. Default is 0 (no rotation). zRotation has inheritance. In addition to this node's zRotation, all ancestors' zRotations will be applied.

Returns

number

Set Signature

set zRotation(zRotation): void

Rotation of the node around the Z axis. Unit is radians. Default is 0 (no rotation). zRotation has inheritance. In addition to this node's zRotation, all ancestors' zRotations will be applied.

Parameters

zRotation: number

Returns

void

Rotation of the node around the Z axis. Unit is radians. Default is 0 (no rotation). zRotation has inheritance. In addition to this node's zRotation, all ancestors' zRotations will be applied.

Implementation of

ShapeOptions.zRotation

Inherited from

M2Node.zRotation

Defined in

m2c2kit/packages/core/src/M2Node.ts:1364

Methods

addChild()

addChild(child): void

Adds a child to this parent node. Throws exception if the child's name is not unique with respect to other children of this parent, or if the child has already been added to another parent.

Parameters

child: M2Node

The child node to add

Returns

void

Inherited from

M2Node.addChild

Defined in

m2c2kit/packages/core/src/M2Node.ts:347


addEventListener()

addEventListener<T>(type, callback, callbackOptions?): void

Type Parameters

T extends M2NodeEvent

Parameters

type: string

callback

callbackOptions?: CallbackOptions

Returns

void

Inherited from

M2Node.addEventListener

Defined in

m2c2kit/packages/core/src/M2Node.ts:761


descendant()

descendant<T>(name): T

Searches all descendants by name and returns first matching node.

Type Parameters

T extends M2Node

Parameters

name: string

Name of the descendant node to return

Returns

T

Remarks

Descendants are children and children of children, recursively. Throws exception if no descendant with the given name is found.

Inherited from

M2Node.descendant

Defined in

m2c2kit/packages/core/src/M2Node.ts:508


dispose()

dispose(): void

Internal

Frees up resources allocated by the Drawable M2Node.

For m2c2kit library use only

Returns

void

Remarks

This will be done automatically by the m2c2kit library; the end-user must not call this.

Implementation of

IDrawable.dispose

Defined in

m2c2kit/packages/core/src/Shape.ts:332


draw()

draw(canvas): void

Parameters

canvas: Canvas

Returns

void

Implementation of

IDrawable.draw

Defined in

m2c2kit/packages/core/src/Shape.ts:383


drawChildren()

drawChildren(canvas): void

Draws each child node that is Drawable and is not hidden, by zPosition order (highest zPosition on top).

Parameters

canvas: Canvas

CanvasKit canvas

Returns

void

Inherited from

M2Node.drawChildren

Defined in

m2c2kit/packages/core/src/M2Node.ts:1154


duplicate()

duplicate(newName?): Shape

Duplicates a node using deep copy.

Parameters

newName?: string

optional name of the new, duplicated node. If not provided, name will be the new uuid

Returns

Shape

Remarks

This is a deep recursive clone (node and children). The uuid property of all duplicated nodes will be newly created, because uuid must be unique.

Overrides

M2Node.duplicate

Defined in

m2c2kit/packages/core/src/Shape.ts:354


getDrawableOptions()

protected getDrawableOptions(): DrawableOptions

Returns

DrawableOptions

Inherited from

M2Node.getDrawableOptions

Defined in

m2c2kit/packages/core/src/M2Node.ts:1232


getNodeOptions()

protected getNodeOptions(): M2NodeOptions

Returns

M2NodeOptions

Inherited from

M2Node.getNodeOptions

Defined in

m2c2kit/packages/core/src/M2Node.ts:1216


getTextOptions()

protected getTextOptions(): TextOptions

Returns

TextOptions

Inherited from

M2Node.getTextOptions

Defined in

m2c2kit/packages/core/src/M2Node.ts:1245


initialize()

initialize(): void

Returns

void

Overrides

M2Node.initialize

Defined in

m2c2kit/packages/core/src/Shape.ts:199


involvedInActionAffectingAppearance()

involvedInActionAffectingAppearance(): boolean

Determines if this node or ancestor is part of an active action that affects it appearance.

Returns

boolean

true if part of active action affecting appearance

Remarks

This is used to determine if the node should be rendered with anti-aliasing or not. Anti-aliasing on some devices causes a new shader to be compiled during the action, which causes jank.

Inherited from

M2Node.involvedInActionAffectingAppearance

Defined in

m2c2kit/packages/core/src/M2Node.ts:563


involvedInSceneTransition()

involvedInSceneTransition(): boolean

Determines if the node is a transitioning Scene or a descendant of a transitioning Scene.

Returns

boolean

true if transitioning

Inherited from

M2Node.involvedInSceneTransition

Defined in

m2c2kit/packages/core/src/M2Node.ts:579


onDrag()

onDrag(callback, options?): void

Executes a callback when the user continues dragging a node.

Parameters

callback

function to execute

options?: CallbackOptions

CallbackOptions

Returns

void

Inherited from

M2Node.onDrag

Defined in

m2c2kit/packages/core/src/M2Node.ts:741


onDragEnd()

onDragEnd(callback, options?): void

Executes a callback when the user stop dragging a node.

Parameters

callback

function to execute

options?: CallbackOptions

CallbackOptions

Returns

void

Inherited from

M2Node.onDragEnd

Defined in

m2c2kit/packages/core/src/M2Node.ts:754


onDragStart()

onDragStart(callback, options?): void

Executes a callback when the user begins dragging a node.

Parameters

callback

function to execute

options?: CallbackOptions

CallbackOptions

Returns

void

Inherited from

M2Node.onDragStart

Defined in

m2c2kit/packages/core/src/M2Node.ts:728


onPointerDown()

onPointerDown(callback, options?): void

Executes a callback when the pointer first is down on the node.

Parameters

callback

function to execute

options?: CallbackOptions

CallbackOptions

Returns

void

Remarks

PointerDown is a pointer down (mouse click or touches begin) within the bounds of the node. It occurs under the same conditions as TapDown.

Inherited from

M2Node.onPointerDown

Defined in

m2c2kit/packages/core/src/M2Node.ts:669


onPointerLeave()

onPointerLeave(callback, options?): void

Executes a callback when the user moves the pointer (mouse or touches) outside the bounds of the node.

Parameters

callback

function to execute

options?: CallbackOptions

CallbackOptions

Returns

void

Inherited from

M2Node.onPointerLeave

Defined in

m2c2kit/packages/core/src/M2Node.ts:715


onPointerMove()

onPointerMove(callback, options?): void

Executes a callback when the user moves the pointer (mouse or touches) within the bounds of the node.

Parameters

callback

function to execute

options?: CallbackOptions

CallbackOptions

Returns

void

Inherited from

M2Node.onPointerMove

Defined in

m2c2kit/packages/core/src/M2Node.ts:701


onPointerUp()

onPointerUp(callback, options?): void

Executes a callback when the user releases a press from the node within the bounds of the node.

Parameters

callback

function to execute

options?: CallbackOptions

CallbackOptions

Returns

void

Remarks

PointerUp is a pointer up (mouse click release or touches end) within the bounds of the node. It does not require that there was a previous PointerDown on the node.

Inherited from

M2Node.onPointerUp

Defined in

m2c2kit/packages/core/src/M2Node.ts:687


onTapDown()

onTapDown(callback, options?): void

Executes a callback when the user presses down on the node.

Parameters

callback

function to execute

options?: CallbackOptions

CallbackOptions

Returns

void

Remarks

TapDown is a pointer down (mouse click or touches begin) within the bounds of the node.

Inherited from

M2Node.onTapDown

Defined in

m2c2kit/packages/core/src/M2Node.ts:598


onTapLeave()

onTapLeave(callback, options?): void

Executes a callback when the user moves the pointer (mouse, touches) beyond the bounds of the node while the pointer is down.

Parameters

callback

function to execute

options?: CallbackOptions

CallbackOptions

Returns

void

Remarks

TapLeave occurs when the pointer (mouse, touches) that has previously pressed the node moves beyond the bounds of the node before the press release.

Inherited from

M2Node.onTapLeave

Defined in

m2c2kit/packages/core/src/M2Node.ts:653


onTapUp()

onTapUp(callback, options?): void

Executes a callback when the user releases a press, that has been fully within the node, from the node.

Parameters

callback

function to execute

options?: CallbackOptions

CallbackOptionsue.

Returns

void

Remarks

TapUp is a pointer up (mouse click release or touches end) within the bounds of the node and the pointer, while down, has never moved beyond the bounds of the node.

Inherited from

M2Node.onTapUp

Defined in

m2c2kit/packages/core/src/M2Node.ts:616


onTapUpAny()

onTapUpAny(callback, options?): void

Executes a callback when the user releases a press from the node within the bounds of the node.

Parameters

callback

function to execute

options?: CallbackOptions

CallbackOptions

Returns

void

Remarks

TapUpAny is a pointer up (mouse click release or touches end) within the bounds of the node and the pointer, while down, is allowed to have been beyond the bounds of the node during the press before the release.

Inherited from

M2Node.onTapUpAny

Defined in

m2c2kit/packages/core/src/M2Node.ts:635


removeAction()

removeAction(key): void

Remove an action from this node. If the action is running, it will be stopped.

Parameters

key: string

key (string identifier) of the action to remove

Returns

void

Inherited from

M2Node.removeAction

Defined in

m2c2kit/packages/core/src/M2Node.ts:1190


removeAllActions()

removeAllActions(): void

Remove all actions from this node. If actions are running, they will be stopped.

Returns

void

Inherited from

M2Node.removeAllActions

Defined in

m2c2kit/packages/core/src/M2Node.ts:1198


removeAllChildren()

removeAllChildren(): void

Removes all children from the node.

Returns

void

Inherited from

M2Node.removeAllChildren

Defined in

m2c2kit/packages/core/src/M2Node.ts:449


removeChild()

removeChild(child): void

Removes the specific child from this parent node. Throws exception if this parent does not contain the child.

Parameters

child: M2Node

Returns

void

Inherited from

M2Node.removeChild

Defined in

m2c2kit/packages/core/src/M2Node.ts:459


removeChildren()

removeChildren(children): void

Removes the children from the parent. Throws error if the parent does not contain all of the children.

Parameters

children: M2Node[]

An array of children to remove from the parent node

Returns

void

Inherited from

M2Node.removeChildren

Defined in

m2c2kit/packages/core/src/M2Node.ts:488


run()

run(action, key?): void

Runs an action on this node.

Parameters

action: Action

The action to run

key?: string

key (string identifier) used to identify the action. Only needed if the action will be referred to later

Returns

void

Remarks

If the node is part of an active scene, the action runs immediately. Otherwise, the action will run when the node's scene becomes active. Calling run() multiple times on a node will add to existing actions, not replace them.

Inherited from

M2Node.run

Defined in

m2c2kit/packages/core/src/M2Node.ts:1174


saveEvent()

protected saveEvent(event): void

Saves the node's event.

Parameters

event: M2Event<M2Node>

event to save

Returns

void

Remarks

If the game event store is not available, the event is saved within the node's nodeEvents event array. It will be added to the game event store when the node is added to the game.

Inherited from

M2Node.saveEvent

Defined in

m2c2kit/packages/core/src/M2Node.ts:262


saveNodeNewEvent()

protected saveNodeNewEvent(): void

Save the node's construction event in the event store.

Returns

void

Inherited from

M2Node.saveNodeNewEvent

Defined in

m2c2kit/packages/core/src/M2Node.ts:208


savePropertyChangeEvent()

protected savePropertyChangeEvent(property, value): void

Saves the node's property change event in the event store.

Parameters

property: string

property name

value: undefined | null | string | number | boolean | object

property value

Returns

void

Inherited from

M2Node.savePropertyChangeEvent

Defined in

m2c2kit/packages/core/src/M2Node.ts:235


toString()

toString(): string

Overrides toString() and returns a human-friendly description of the node.

Returns

string

Remarks

Inspiration from https://stackoverflow.com/a/35361695

Inherited from

M2Node.toString

Defined in

m2c2kit/packages/core/src/M2Node.ts:327


update()

update(): void

Returns

void

Overrides

M2Node.update

Defined in

m2c2kit/packages/core/src/Shape.ts:379


warmup()

warmup(canvas): void

Parameters

canvas: Canvas

Returns

void

Implementation of

IDrawable.warmup

Defined in

m2c2kit/packages/core/src/Shape.ts:742