@revideo/2d / components / Spline
Class: Spline
Defined in: 2d/src/lib/components/Spline.ts:115
A node for drawing a smooth line through a number of points.
Remarks
This node uses Bézier curves for drawing each segment of the spline.
Example
Defining knots using the points property. This will automatically
calculate the handle positions for each knot do draw a smooth curve. You
can control the smoothness of the resulting curve via the
Spline.smoothness property:
<Spline
lineWidth={4}
stroke={'white'}
smoothness={0.4}
points={[
[-400, 0],
[-200, -300],
[0, 0],
[200, -300],
[400, 0],
]}
/>Defining knots with Knot nodes:
<Spline lineWidth={4} stroke={'white'}>
<Knot position={[-400, 0]} />
<Knot position={[-200, -300]} />
<Knot
position={[0, 0]}
startHandle={[-100, 200]}
endHandle={[100, 200]}
/>
<Knot position={[200, -300]} />
<Knot position={[400, 0]} />
</Spline>Extends
Constructors
Constructor
new Spline(
props):Spline
Defined in: 2d/src/lib/components/Spline.ts:142
Parameters
props
Returns
Spline
Overrides
Properties
absolutePosition
readonlyabsolutePosition:SimpleVector2Signal<Spline>
Defined in: 2d/src/lib/components/Node.ts:196
A helper signal for operating on the position in world space.
Remarks
Retrieving the position using this signal returns the position in world space. Similarly, setting the position using this signal transforms the new value to local space.
If the new value is a function, the position of this node will be continuously updated to always match the position returned by the function. This can be useful to “pin” the node in a specific place or to make it follow another node’s position.
Unlike position, this signal is not compound - it doesn’t contain
separate signals for the x and y components.
Inherited from
absoluteRotation
readonlyabsoluteRotation:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Node.ts:231
A helper signal for operating on the rotation in world space.
Remarks
Retrieving the rotation using this signal returns the rotation in world space. Similarly, setting the rotation using this signal transforms the new value to local space.
If the new value is a function, the rotation of this node will be continuously updated to always match the rotation returned by the function.
Inherited from
absoluteScale
readonlyabsoluteScale:SimpleVector2Signal<Spline>
Defined in: 2d/src/lib/components/Node.ts:331
A helper signal for operating on the scale in world space.
Remarks
Retrieving the scale using this signal returns the scale in world space. Similarly, setting the scale using this signal transforms the new value to local space.
If the new value is a function, the scale of this node will be continuously updated to always match the position returned by the function.
Unlike scale, this signal is not compound - it doesn’t contain
separate signals for the x and y components.
Inherited from
alignContent
readonlyalignContent:SimpleSignal<FlexContent,Spline>
Defined in: 2d/src/lib/components/Layout.ts:246
Inherited from
alignItems
readonlyalignItems:SimpleSignal<FlexItems,Spline>
Defined in: 2d/src/lib/components/Layout.ts:249
Inherited from
alignSelf
readonlyalignSelf:SimpleSignal<FlexItems,Spline>
Defined in: 2d/src/lib/components/Layout.ts:252
Inherited from
antialiased
readonlyantialiased:SimpleSignal<boolean,Spline>
Defined in: 2d/src/lib/components/Shape.ts:55
Inherited from
arrowSize
readonlyarrowSize:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Curve.ts:158
Controls the size of the end and start arrows.
Remarks
To make the arrows visible make sure to enable startArrow and/or endArrow.
Inherited from
basis
readonlybasis:SimpleSignal<FlexBasis,Spline>
Defined in: 2d/src/lib/components/Layout.ts:230
Inherited from
bottom
readonlybottom:SimpleVector2Signal<Spline>
Defined in: 2d/src/lib/components/Layout.ts:562
The position of the bottom edge of this node.
Remarks
When set, this shortcut property will modify the node’s position so that the bottom edge ends up in the given place.
When retrieved, it will return the position of the bottom edge in the parent space.
Inherited from
bottomLeft
readonlybottomLeft:SimpleVector2Signal<Spline>
Defined in: 2d/src/lib/components/Layout.ts:622
The position of the bottom left corner of this node.
Remarks
When set, this shortcut property will modify the node’s position so that the bottom left corner ends up in the given place.
When retrieved, it will return the position of the bottom left corner in the parent space.
Inherited from
bottomRight
readonlybottomRight:SimpleVector2Signal<Spline>
Defined in: 2d/src/lib/components/Layout.ts:634
The position of the bottom right corner of this node.
Remarks
When set, this shortcut property will modify the node’s position so that the bottom right corner ends up in the given place.
When retrieved, it will return the position of the bottom right corner in the parent space.
Inherited from
cache
readonlycache:SimpleSignal<boolean,Spline>
Defined in: 2d/src/lib/components/Node.ts:358
Inherited from
cachePadding
readonlycachePadding:SpacingSignal<Spline>
Defined in: 2d/src/lib/components/Node.ts:370
Controls the padding of the cached canvas used by this node.
Remarks
By default, the size of the cache is determined based on the bounding box of the node and its children. That includes effects such as stroke or shadow. This property can be used to expand the cache area further. Usually used to account for custom effects created by shaders.
Inherited from
canHaveSubpath
protectedcanHaveSubpath:boolean=false
Defined in: 2d/src/lib/components/Curve.ts:160
Inherited from
children
readonlychildren:Signal<ComponentChildren,Node[],Spline>
Defined in: 2d/src/lib/components/Node.ts:490
Inherited from
clip
readonlyclip:SimpleSignal<boolean,Spline>
Defined in: 2d/src/lib/components/Layout.ts:638
Inherited from
closed
readonlyclosed:SimpleSignal<boolean,Spline>
Defined in: 2d/src/lib/components/Curve.ts:63
Whether the curve should be closed.
Remarks
Closed curves have their start and end points connected.
Inherited from
composite
readonlycomposite:SimpleSignal<boolean,Spline>
Defined in: 2d/src/lib/components/Node.ts:374
Inherited from
compositeOperation
readonlycompositeOperation:SimpleSignal<GlobalCompositeOperation,Spline>
Defined in: 2d/src/lib/components/Node.ts:378
Inherited from
creationStack?
readonlyoptionalcreationStack?:string
Defined in: 2d/src/lib/components/Node.ts:534
Inherited from
direction
readonlydirection:SimpleSignal<FlexDirection,Spline>
Defined in: 2d/src/lib/components/Layout.ts:227
Inherited from
element
element:
HTMLElement
Defined in: 2d/src/lib/components/Layout.ts:640
Inherited from
end
readonlyend:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Curve.ts:121
A percentage from the start after which the curve should be clipped.
Remarks
The portion of the curve that comes after the given percentage will be made invisible.
This property is usefully for animating the curve appearing on the screen.
The value of 0 means the very start of the curve (accounting for the
startOffset) while 1 means the very end (accounting for the
endOffset).
Inherited from
endArrow
readonlyendArrow:SimpleSignal<boolean,Spline>
Defined in: 2d/src/lib/components/Curve.ts:147
Whether to display an arrow at the end of the visible curve.
Remarks
Use arrowSize to control the size of the arrow.
Inherited from
endOffset
readonlyendOffset:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Curve.ts:137
The offset in pixels from the end of the curve.
Remarks
This property lets you specify where along the defined curve the actual
visible portion ends. For example, setting it to 20 will make the last
20 pixels of the curve invisible.
This property is useful for trimming the curve using a fixed distance. If you want to animate the curve appearing on the screen, use end instead.
Inherited from
fill
readonlyfill:CanvasStyleSignal<Spline>
Defined in: 2d/src/lib/components/Shape.ts:32
Inherited from
filters
readonlyfilters:FiltersSignal<Spline>
Defined in: 2d/src/lib/components/Node.ts:420
Inherited from
fontFamily
readonlyfontFamily:SimpleSignal<string,Spline>
Defined in: 2d/src/lib/components/Layout.ts:265
Inherited from
fontSize
readonlyfontSize:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Layout.ts:268
Inherited from
fontStyle
readonlyfontStyle:SimpleSignal<string,Spline>
Defined in: 2d/src/lib/components/Layout.ts:271
Inherited from
fontWeight
readonlyfontWeight:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Layout.ts:274
Inherited from
gap
readonlygap:Vector2LengthSignal<Spline>
Defined in: 2d/src/lib/components/Layout.ts:255
Inherited from
grow
readonlygrow:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Layout.ts:233
Inherited from
hasSpawnedChildren
protectedhasSpawnedChildren:boolean=false
Defined in: 2d/src/lib/components/Node.ts:529
Inherited from
isClass
isClass:
boolean
Defined in: 2d/src/lib/components/Node.ts:135
Inherited from
justifyContent
readonlyjustifyContent:SimpleSignal<FlexContent,Spline>
Defined in: 2d/src/lib/components/Layout.ts:243
Inherited from
key
readonlykey:string
Defined in: 2d/src/lib/components/Node.ts:533
Inherited from
layout
readonlylayout:SimpleSignal<LayoutMode,Spline>
Defined in: 2d/src/lib/components/Layout.ts:201
Inherited from
left
readonlyleft:SimpleVector2Signal<Spline>
Defined in: 2d/src/lib/components/Layout.ts:574
The position of the left edge of this node.
Remarks
When set, this shortcut property will modify the node’s position so that the left edge ends up in the given place.
When retrieved, it will return the position of the left edge in the parent space.
Inherited from
letterSpacing
readonlyletterSpacing:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Layout.ts:280
Inherited from
lineCap
readonlylineCap:SimpleSignal<CanvasLineCap,Spline>
Defined in: 2d/src/lib/components/Shape.ts:46
Inherited from
lineDash
readonlylineDash:SimpleSignal<number[],Spline>
Defined in: 2d/src/lib/components/Shape.ts:49
Inherited from
lineDashOffset
readonlylineDashOffset:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Shape.ts:52
Inherited from
lineHeight
readonlylineHeight:SimpleSignal<Length,Spline>
Defined in: 2d/src/lib/components/Layout.ts:277
Inherited from
lineJoin
readonlylineJoin:SimpleSignal<CanvasLineJoin,Spline>
Defined in: 2d/src/lib/components/Shape.ts:43
Inherited from
lineWidth
readonlylineWidth:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Shape.ts:40
Inherited from
margin
readonlymargin:SpacingSignal<Spline>
Defined in: 2d/src/lib/components/Layout.ts:220
Inherited from
maxHeight
readonlymaxHeight:SimpleSignal<LengthLimit,Spline>
Defined in: 2d/src/lib/components/Layout.ts:208
Inherited from
maxWidth
readonlymaxWidth:SimpleSignal<LengthLimit,Spline>
Defined in: 2d/src/lib/components/Layout.ts:205
Inherited from
middle
readonlymiddle:SimpleVector2Signal<Spline>
Defined in: 2d/src/lib/components/Layout.ts:537
The position of the center of this node.
Remarks
When set, this shortcut property will modify the node’s position so that the center ends up in the given place.
If the offset has not been changed, this will be the same as the position.
When retrieved, it will return the position of the center in the parent space.
Inherited from
minHeight
readonlyminHeight:SimpleSignal<LengthLimit,Spline>
Defined in: 2d/src/lib/components/Layout.ts:214
Inherited from
minWidth
readonlyminWidth:SimpleSignal<LengthLimit,Spline>
Defined in: 2d/src/lib/components/Layout.ts:211
Inherited from
offset
readonlyoffset:Vector2Signal<Spline>
Defined in: 2d/src/lib/components/Layout.ts:521
Represents the offset of this node’s origin.
Remarks
By default, the origin of a node is located at its center. The origin serves as the pivot point when rotating and scaling a node, but it doesn’t affect the placement of its children.
The value is relative to the size of this node. A value of 1 means as far
to the right/bottom as possible. Here are a few examples of offsets:
[-1, -1]- top left corner[1, -1]- top right corner[0, 1]- bottom edge[-1, 1]- bottom left corner
Inherited from
opacity
readonlyopacity:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Node.ts:412
Represents the opacity of this node in the range 0-1.
Remarks
The value is clamped to the range 0-1.
Inherited from
padding
readonlypadding:SpacingSignal<Spline>
Defined in: 2d/src/lib/components/Layout.ts:223
Inherited from
parent
readonlyparent:SimpleSignal<Node|null,void>
Defined in: 2d/src/lib/components/Node.ts:531
Inherited from
points
readonlypoints:SimpleSignal<SignalValue<PossibleVector2>[] |null,Spline>
Defined in: 2d/src/lib/components/Spline.ts:137
The knots of the spline as an array of knots with auto-calculated handles.
Remarks
You can control the smoothness of the resulting curve via the smoothness property.
position
readonlyposition:Vector2Signal<Spline>
Defined in: 2d/src/lib/components/Node.ts:168
Represents the position of this node in local space of its parent.
Example
Initializing the position:
// with a possible vector:
<Node position={[1, 2]} />
// with individual components:
<Node x={1} y={2} />Accessing the position:
// retrieving the vector:
const position = node.position();
// retrieving an individual component:
const x = node.position.x();Setting the position:
// with a possible vector:
node.position([1, 2]);
node.position(() => [1, 2]);
// with individual components:
node.position.x(1);
node.position.x(() => 1);Inherited from
properties
readonlyproperties:Record<string,PropertyMetadata<any>>
Defined in: 2d/src/lib/components/Node.ts:532
Inherited from
ratio
readonlyratio:SimpleSignal<number|null,Spline>
Defined in: 2d/src/lib/components/Layout.ts:217
Inherited from
realChildren
protectedrealChildren:Node[] =[]
Defined in: 2d/src/lib/components/Node.ts:528
Inherited from
right
readonlyright:SimpleVector2Signal<Spline>
Defined in: 2d/src/lib/components/Layout.ts:586
The position of the right edge of this node.
Remarks
When set, this shortcut property will modify the node’s position so that the right edge ends up in the given place.
When retrieved, it will return the position of the right edge in the parent space.
Inherited from
rippleStrength
protectedreadonlyrippleStrength:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Shape.ts:57
Inherited from
rotation
readonlyrotation:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Node.ts:216
Represents the rotation (in degrees) of this node relative to its parent.
Inherited from
scale
readonlyscale:Vector2Signal<Spline>
Defined in: 2d/src/lib/components/Node.ts:278
Represents the scale of this node in local space of its parent.
Example
Initializing the scale:
// with a possible vector:
<Node scale={[1, 2]} />
// with individual components:
<Node scaleX={1} scaleY={2} />Accessing the scale:
// retrieving the vector:
const scale = node.scale();
// retrieving an individual component:
const scaleX = node.scale.x();Setting the scale:
// with a possible vector:
node.scale([1, 2]);
node.scale(() => [1, 2]);
// with individual components:
node.scale.x(1);
node.scale.x(() => 1);Inherited from
shaders
readonlyshaders:Signal<PossibleShaderConfig,ShaderConfig[],Spline>
Defined in: 2d/src/lib/components/Node.ts:439
Experimental
Inherited from
shadowBlur
readonlyshadowBlur:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Node.ts:428
Inherited from
shadowColor
readonlyshadowColor:ColorSignal<Spline>
Defined in: 2d/src/lib/components/Node.ts:424
Inherited from
shadowOffset
readonlyshadowOffset:Vector2Signal<Spline>
Defined in: 2d/src/lib/components/Node.ts:431
Inherited from
shrink
readonlyshrink:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Layout.ts:236
Inherited from
size
readonlysize:Vector2LengthSignal<Spline>
Defined in: 2d/src/lib/components/Layout.ts:365
Represents the size of this node.
Remarks
A size is a two-dimensional vector, where x represents the width, and y
represents the height.
The value of both x and y is of type partials.Length which is either:
number- the desired length in pixels${number}%- a string with the desired length in percents, for example'50%'null- an automatic length
When retrieving the size, all units are converted to pixels, using the
current state of the layout. For example, retrieving the width set to
'50%', while the parent has a width of 200px will result in the number
100 being returned.
When the node is not part of the layout, setting its size using percents refers to the size of the entire scene.
Example
Initializing the size:
// with a possible vector:
<Node size={['50%', 200]} />
// with individual components:
<Node width={'50%'} height={200} />Accessing the size:
// retrieving the vector:
const size = node.size();
// retrieving an individual component:
const width = node.size.x();Setting the size:
// with a possible vector:
node.size(['50%', 200]);
node.size(() => ['50%', 200]);
// with individual components:
node.size.x('50%');
node.size.x(() => '50%');Inherited from
sizeLockCounter
protectedreadonlysizeLockCounter:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Layout.ts:645
Inherited from
skew
readonlyskew:Vector2Signal<Spline>
Defined in: 2d/src/lib/components/Node.ts:312
Represents the skew of this node in local space of its parent.
Example
Initializing the skew:
// with a possible vector:
<Node skew={[40, 20]} />
// with individual components:
<Node skewX={40} skewY={20} />Accessing the skew:
// retrieving the vector:
const skew = node.skew();
// retrieving an individual component:
const skewX = node.skew.x();Setting the skew:
// with a possible vector:
node.skew([40, 20]);
node.skew(() => [40, 20]);
// with individual components:
node.skew.x(40);
node.skew.x(() => 40);Inherited from
smoothness
readonlysmoothness:SimpleSignal<number>
Defined in: 2d/src/lib/components/Spline.ts:126
The smoothness of the spline when using auto-calculated handles.
Remarks
This property is only applied to knots that don’t use explicit handles.
Default Value
0.4spawner
protectedreadonlyspawner:SimpleSignal<ComponentChildren,Spline>
Defined in: 2d/src/lib/components/Node.ts:479
Deprecated
Use children instead.
Inherited from
start
readonlystart:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Curve.ts:79
A percentage from the start before which the curve should be clipped.
Remarks
The portion of the curve that comes before the given percentage will be made invisible.
This property is usefully for animating the curve appearing on the screen.
The value of 0 means the very start of the curve (accounting for the
startOffset) while 1 means the very end (accounting for the
endOffset).
Inherited from
startArrow
readonlystartArrow:SimpleSignal<boolean,Spline>
Defined in: 2d/src/lib/components/Curve.ts:105
Whether to display an arrow at the start of the visible curve.
Remarks
Use arrowSize to control the size of the arrow.
Inherited from
startOffset
readonlystartOffset:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Curve.ts:95
The offset in pixels from the start of the curve.
Remarks
This property lets you specify where along the defined curve the actual
visible portion starts. For example, setting it to 20 will make the first
20 pixels of the curve invisible.
This property is useful for trimming the curve using a fixed distance. If you want to animate the curve appearing on the screen, use start instead.
Inherited from
stroke
readonlystroke:CanvasStyleSignal<Spline>
Defined in: 2d/src/lib/components/Shape.ts:34
Inherited from
strokeFirst
readonlystrokeFirst:SimpleSignal<boolean,Spline>
Defined in: 2d/src/lib/components/Shape.ts:37
Inherited from
styles
styles:
CSSStyleDeclaration
Defined in: 2d/src/lib/components/Layout.ts:641
Inherited from
textAlign
readonlytextAlign:SimpleSignal<CanvasTextAlign,Spline>
Defined in: 2d/src/lib/components/Layout.ts:290
Inherited from
textDirection
readonlytextDirection:SimpleSignal<CanvasDirection,Spline>
Defined in: 2d/src/lib/components/Layout.ts:287
Inherited from
textWrap
readonlytextWrap:SimpleSignal<TextWrap,Spline>
Defined in: 2d/src/lib/components/Layout.ts:284
Inherited from
top
readonlytop:SimpleVector2Signal<Spline>
Defined in: 2d/src/lib/components/Layout.ts:550
The position of the top edge of this node.
Remarks
When set, this shortcut property will modify the node’s position so that the top edge ends up in the given place.
When retrieved, it will return the position of the top edge in the parent space.
Inherited from
topLeft
readonlytopLeft:SimpleVector2Signal<Spline>
Defined in: 2d/src/lib/components/Layout.ts:598
The position of the top left corner of this node.
Remarks
When set, this shortcut property will modify the node’s position so that the top left corner ends up in the given place.
When retrieved, it will return the position of the top left corner in the parent space.
Inherited from
topRight
readonlytopRight:SimpleVector2Signal<Spline>
Defined in: 2d/src/lib/components/Layout.ts:610
The position of the top right corner of this node.
Remarks
When set, this shortcut property will modify the node’s position so that the top right corner ends up in the given place.
When retrieved, it will return the position of the top right corner in the parent space.
Inherited from
view2D
protectedview2D:View2D
Defined in: 2d/src/lib/components/Node.ts:526
Inherited from
wrap
readonlywrap:SimpleSignal<FlexWrap,Spline>
Defined in: 2d/src/lib/components/Layout.ts:239
Inherited from
zIndex
readonlyzIndex:SimpleSignal<number,Spline>
Defined in: 2d/src/lib/components/Node.ts:354
Inherited from
Accessors
columnGap
Get Signature
get columnGap():
Signal<Length,number,this>
Defined in: 2d/src/lib/components/Layout.ts:256
Returns
Signal<Length, number, this>
Inherited from
height
Get Signature
get height():
Signal<Length,number,this>
Defined in: 2d/src/lib/components/Layout.ts:369
Returns
Signal<Length, number, this>
Inherited from
rowGap
Get Signature
get rowGap():
Signal<Length,number,this>
Defined in: 2d/src/lib/components/Layout.ts:259
Returns
Signal<Length, number, this>
Inherited from
width
Get Signature
get width():
Signal<Length,number,this>
Defined in: 2d/src/lib/components/Layout.ts:366
Returns
Signal<Length, number, this>
Inherited from
x
Get Signature
get x():
SimpleSignal<number,this>
Defined in: 2d/src/lib/components/Node.ts:170
Returns
SimpleSignal<number, this>
Inherited from
y
Get Signature
get y():
SimpleSignal<number,this>
Defined in: 2d/src/lib/components/Node.ts:173
Returns
SimpleSignal<number, this>
Inherited from
Methods
[iterator]()
[iterator]():
Generator<{key:string;meta:PropertyMetadata<any>;signal:SimpleSignal<any>; },void,unknown>
Defined in: 2d/src/lib/components/Node.ts:1918
Returns
Generator<{ key: string; meta: PropertyMetadata<any>; signal: SimpleSignal<any>; }, void, unknown>
Inherited from
absoluteOpacity()
absoluteOpacity():
number
Defined in: 2d/src/lib/components/Node.ts:415
Returns
number
Inherited from
add()
add(
node):this
Defined in: 2d/src/lib/components/Node.ts:688
Add the given node(s) as the children of this node.
Parameters
node
A node or an array of nodes to append.
Returns
this
Remarks
The nodes will be appended at the end of the children list.
Example
const node = <Layout />;
node.add(<Rect />);
node.add(<Circle />);Result:
Inherited from
anchorPosition()
anchorPosition():
Vector2
Defined in: 2d/src/lib/components/Layout.ts:666
Returns
Vector2
Inherited from
appendedToView()
protectedappendedToView():boolean
Defined in: 2d/src/lib/components/Layout.ts:770
Returns
boolean
Inherited from
applyFlex()
protectedapplyFlex():void
Defined in: 2d/src/lib/components/Layout.ts:926
Returns
void
Inherited from
applyFont()
protectedapplyFont():void
Defined in: 2d/src/lib/components/Layout.ts:970
Returns
void
Inherited from
applyState()
Call Signature
applyState(
state):void
Defined in: 2d/src/lib/components/Node.ts:1801
Apply the given state to the node, setting all matching signal values to the provided values.
Parameters
state
The state to apply to the node.
Returns
void
Inherited from
Call Signature
applyState(
state,duration,timing?):ThreadGenerator
Defined in: 2d/src/lib/components/Node.ts:1810
Smoothly transition between the current state of the node and the given state.
Parameters
state
The state to transition to.
duration
number
The duration of the transition.
timing?
TimingFunction
The timing function to use for the transition.
Returns
ThreadGenerator
Inherited from
applyStyle()
protectedapplyStyle(context):void
Defined in: 2d/src/lib/components/Shape.ts:73
Parameters
context
CanvasRenderingContext2D
Returns
void
Inherited from
applyText()
protectedapplyText(context):void
Defined in: 2d/src/lib/components/Shape.ts:68
Parameters
context
CanvasRenderingContext2D
Returns
void
Inherited from
arcLength()
arcLength():
number
Defined in: 2d/src/lib/components/Curve.ts:237
The visible arc length of this curve.
Returns
number
Remarks
This arc length accounts for both the offset and the start and end properties.
Inherited from
baseArcLength()
baseArcLength():
number
Defined in: 2d/src/lib/components/Curve.ts:211
The base arc length of this curve.
Returns
number
Remarks
This is the entire length of this curve, not accounting for the offsets.
Inherited from
cacheBBox()
cacheBBox():
BBox
Defined in: 2d/src/lib/components/Node.ts:1399
Get a bounding box for the contents rendered by this node as well as its children.
Returns
BBox
Inherited from
cacheCanvas()
protectedcacheCanvas():CanvasRenderingContext2D
Defined in: 2d/src/lib/components/Node.ts:1350
Returns
CanvasRenderingContext2D
Inherited from
cachedCanvas()
protectedcachedCanvas():Promise<CanvasRenderingContext2D>
Defined in: 2d/src/lib/components/Node.ts:1363
Get a cache canvas with the contents of this node rendered onto it.
Returns
Promise<CanvasRenderingContext2D>
Inherited from
childAs()
childAs<
T>(index):T|null
Defined in: 2d/src/lib/components/Node.ts:1143
Get the nth children cast to the specified type.
Type Parameters
T
Parameters
index
number
The index of the child to retrieve.
Returns
T | null
Inherited from
childrenAs()
childrenAs<
T>():T[]
Defined in: 2d/src/lib/components/Node.ts:1150
Get the children array cast to the specified type.
Type Parameters
T
Returns
T[]
Inherited from
childrenBBox()
protectedchildrenBBox():BBox
Defined in: 2d/src/lib/components/Spline.ts:193
Returns
BBox
Overrides
clone()
clone(
customProps?):this
Defined in: 2d/src/lib/components/Node.ts:1192
Create a copy of this node.
Parameters
customProps?
NodeState = {}
Properties to override.
Returns
this
Inherited from
collectAsyncResources()
protectedcollectAsyncResources():void
Defined in: 2d/src/lib/components/Node.ts:1757
Collect all asynchronous resources used by this node.
Returns
void
Inherited from
completion()
completion():
number
Defined in: 2d/src/lib/components/Curve.ts:248
The percentage of the curve that’s currently visible.
Returns
number
Remarks
The returned value is the ratio between the visible length (as defined by start and end) and the offset length of the curve.
Inherited from
compositeRoot()
protectedcompositeRoot():Node|null
Defined in: 2d/src/lib/components/Node.ts:641
Returns
Node | null
Inherited from
compositeToLocal()
compositeToLocal():
DOMMatrix
Defined in: 2d/src/lib/components/Node.ts:650
Returns
DOMMatrix
Inherited from
compositeToWorld()
compositeToWorld():
DOMMatrix
Defined in: 2d/src/lib/components/Node.ts:636
A matrix mapping composite space to world space.
Returns
DOMMatrix
Remarks
Certain effects such as blur and shadows ignore the current transformation. This matrix can be used to transform their parameters so that the effect appears relative to the closest composite root.
Inherited from
computedPosition()
computedPosition():
Vector2
Defined in: 2d/src/lib/components/Layout.ts:730
Returns
Vector2
Inherited from
computedSize()
protectedcomputedSize():Vector2
Defined in: 2d/src/lib/components/Layout.ts:750
Returns
Vector2
Inherited from
curveDrawingInfo()
protectedcurveDrawingInfo():CurveDrawingInfo
Defined in: 2d/src/lib/components/Curve.ts:264
Returns
Inherited from
desiredSize()
protecteddesiredSize():SerializedVector2<DesiredLength>
Defined in: 2d/src/lib/components/Spline.ts:217
Get the desired size of this node.
Returns
SerializedVector2<DesiredLength>
Remarks
This method can be used to control the size using external factors. By default, the returned size is the same as the one declared by the user.
Overrides
dispose()
dispose():
void
Defined in: 2d/src/lib/components/Layout.ts:1035
Prepare this node to be disposed of.
Returns
void
Remarks
This method is called automatically when a scene is refreshed. It will be called even if the node is not currently attached to the tree.
The goal of this method is to clean any external references to allow the node to be garbage collected.
Inherited from
distanceToPercentage()
distanceToPercentage(
value):number
Defined in: 2d/src/lib/components/Curve.ts:200
Convert a distance along the curve to a percentage.
Parameters
value
number
The distance along the curve.
Returns
number
Remarks
The distance should be given in relation to the full curve, not accounting for startOffset and endOffset.
Inherited from
draw()
protecteddraw(context):Promise<void>
Defined in: 2d/src/lib/components/Shape.ts:88
Draw this node onto the canvas.
Parameters
context
CanvasRenderingContext2D
The context to draw with.
Returns
Promise<void>
Remarks
This method is used when drawing directly onto the screen as well as onto the cache canvas. It assumes that the context have already been transformed to local space.
Inherited from
drawChildren()
protecteddrawChildren(context):Promise<void>
Defined in: 2d/src/lib/components/Node.ts:1682
Parameters
context
CanvasRenderingContext2D
Returns
Promise<void>
Inherited from
drawOverlay()
drawOverlay(
context,matrix):void
Defined in: 2d/src/lib/components/Spline.ts:234
Draw an overlay for this node.
Parameters
context
CanvasRenderingContext2D
The context to draw with.
matrix
DOMMatrix
A local-to-screen matrix.
Returns
void
Remarks
The overlay for the currently inspected node is displayed on top of the canvas.
The provided context is in screen space. The local-to-screen matrix can be used to transform all shapes that need to be displayed. This approach allows to keep the line widths and gizmo sizes consistent, no matter how zoomed-in the view is.
Overrides
drawRipple()
protecteddrawRipple(context):void
Defined in: 2d/src/lib/components/Shape.ts:126
Parameters
context
CanvasRenderingContext2D
Returns
void
Inherited from
drawShape()
protecteddrawShape(context):void
Defined in: 2d/src/lib/components/Curve.ts:412
Parameters
context
CanvasRenderingContext2D
Returns
void
Inherited from
filterString()
protectedfilterString():string
Defined in: 2d/src/lib/components/Node.ts:461
Returns
string
Inherited from
findAll()
Call Signature
findAll<
T>(predicate):T[]
Defined in: 2d/src/lib/components/Node.ts:1009
Find all descendants of this node that match the given predicate.
Type Parameters
T
T extends Node
Parameters
predicate
(node) => node is T
A function that returns true if the node matches.
Returns
T[]
Inherited from
Call Signature
findAll<
T>(predicate):T[]
Defined in: 2d/src/lib/components/Node.ts:1015
Find all descendants of this node that match the given predicate.
Type Parameters
T
Parameters
predicate
(node) => boolean
A function that returns true if the node matches.
Returns
T[]
Inherited from
findAncestor()
Call Signature
findAncestor<
T>(predicate):T|null
Defined in: 2d/src/lib/components/Node.ts:1113
Find the closest ancestor of this node that matches the given predicate.
Type Parameters
T
T extends Node
Parameters
predicate
(node) => node is T
A function that returns true if the node matches.
Returns
T | null
Inherited from
Call Signature
findAncestor<
T>(predicate):T|null
Defined in: 2d/src/lib/components/Node.ts:1121
Find the closest ancestor of this node that matches the given predicate.
Type Parameters
T
Parameters
predicate
(node) => boolean
A function that returns true if the node matches.
Returns
T | null
Inherited from
findFirst()
Call Signature
findFirst<
T>(predicate):T|null
Defined in: 2d/src/lib/components/Node.ts:1038
Find the first descendant of this node that matches the given predicate.
Type Parameters
T
T extends Node
Parameters
predicate
(node) => node is T
A function that returns true if the node matches.
Returns
T | null
Inherited from
Call Signature
findFirst<
T>(predicate):T|null
Defined in: 2d/src/lib/components/Node.ts:1046
Find the first descendant of this node that matches the given predicate.
Type Parameters
T
Parameters
predicate
(node) => boolean
A function that returns true if the node matches.
Returns
T | null
Inherited from
findLast()
Call Signature
findLast<
T>(predicate):T|null
Defined in: 2d/src/lib/components/Node.ts:1072
Find the last descendant of this node that matches the given predicate.
Type Parameters
T
T extends Node
Parameters
predicate
(node) => node is T
A function that returns true if the node matches.
Returns
T | null
Inherited from
Call Signature
findLast<
T>(predicate):T|null
Defined in: 2d/src/lib/components/Node.ts:1080
Find the last descendant of this node that matches the given predicate.
Type Parameters
T
Parameters
predicate
(node) => boolean
A function that returns true if the node matches.
Returns
T | null
Inherited from
fullCacheBBox()
protectedfullCacheBBox():BBox
Defined in: 2d/src/lib/components/Node.ts:1428
Get a bounding box for the contents rendered by this node (including effects applied after caching).
Returns
BBox
Remarks
The returned bounding box should be in local space.
Inherited from
getAbsolutePosition()
protectedgetAbsolutePosition():Vector2
Defined in: 2d/src/lib/components/Node.ts:198
Returns
Vector2
Inherited from
getAbsoluteRotation()
protectedgetAbsoluteRotation():number
Defined in: 2d/src/lib/components/Node.ts:233
Returns
number
Inherited from
getAbsoluteScale()
protectedgetAbsoluteScale():Vector2
Defined in: 2d/src/lib/components/Node.ts:333
Returns
Vector2
Inherited from
getCacheBBox()
protectedgetCacheBBox():BBox
Defined in: 2d/src/lib/components/Curve.ts:378
Get a bounding box for the contents rendered by this node.
Returns
BBox
Remarks
The returned bounding box should be in local space.
Inherited from
getChildren()
protectedgetChildren():Node[]
Defined in: 2d/src/lib/components/Node.ts:505
Returns
Node[]
Inherited from
getComputedLayout()
protectedgetComputedLayout():BBox
Defined in: 2d/src/lib/components/Curve.ts:365
Returns
BBox
Inherited from
getHeight()
protectedgetHeight():number
Defined in: 2d/src/lib/components/Layout.ts:413
Returns
number
Inherited from
getOriginDelta()
getOriginDelta(
origin):Vector2
Defined in: 2d/src/lib/components/Layout.ts:886
Parameters
origin
Origin
Returns
Vector2
Inherited from
getPath()
protectedgetPath():Path2D
Defined in: 2d/src/lib/components/Curve.ts:374
Returns
Path2D
Inherited from
getPointAtDistance()
protectedgetPointAtDistance(value):CurvePoint
Defined in: 2d/src/lib/components/Curve.ts:357
Parameters
value
number
Returns
Inherited from
getPointAtPercentage()
getPointAtPercentage(
value):CurvePoint
Defined in: 2d/src/lib/components/Curve.ts:361
Parameters
value
number
Returns
Inherited from
getRipplePath()
protectedgetRipplePath():Path2D
Defined in: 2d/src/lib/components/Shape.ts:122
Returns
Path2D
Inherited from
getSpawner()
protectedgetSpawner():ComponentChildren
Defined in: 2d/src/lib/components/Node.ts:480
Returns
Inherited from
getState()
getState():
NodeState
Defined in: 2d/src/lib/components/Node.ts:1786
Return a snapshot of the node’s current signal values.
Returns
Remarks
This method will calculate the values of any reactive properties of the node at the time the method is called.
Inherited from
getWidth()
protectedgetWidth():number
Defined in: 2d/src/lib/components/Layout.ts:373
Returns
number
Inherited from
getX()
protectedgetX():number
Defined in: 2d/src/lib/components/Layout.ts:292
Returns
number
Inherited from
getY()
protectedgetY():number
Defined in: 2d/src/lib/components/Layout.ts:303
Returns
number
Inherited from
hasFilters()
protectedhasFilters():boolean
Defined in: 2d/src/lib/components/Node.ts:446
Returns
boolean
Inherited from
hasShadow()
protectedhasShadow():boolean
Defined in: 2d/src/lib/components/Node.ts:451
Returns
boolean
Inherited from
hit()
hit(
position):Node|null
Defined in: 2d/src/lib/components/Layout.ts:1046
Try to find a node intersecting the given position.
Parameters
position
Vector2
The searched position.
Returns
Node | null
Inherited from
insert()
insert(
node,index?):this
Defined in: 2d/src/lib/components/Node.ts:722
Insert the given node(s) at the specified index in the children list.
Parameters
node
A node or an array of nodes to insert.
index?
number = 0
An index at which to insert the node(s).
Returns
this
Example
const node = (
<Layout>
<Rect />
<Circle />
</Layout>
);
node.insert(<Txt />, 1);Result:
Inherited from
instantiate()
instantiate(
props?):this
Defined in: 2d/src/lib/components/Node.ts:1270
Create an instance of this node’s class.
Parameters
props?
NodeProps = {}
Properties to pass to the constructor.
Returns
this
Inherited from
isLayoutRoot()
isLayoutRoot():
boolean
Defined in: 2d/src/lib/components/Layout.ts:688
Returns
boolean
Inherited from
knots()
knots():
KnotInfo[]
Defined in: 2d/src/lib/components/Spline.ts:171
Returns
KnotInfo[]
layoutChildren()
protectedlayoutChildren():Layout[]
Defined in: 2d/src/lib/components/Layout.ts:795
Returns
Layout[]
Inherited from
layoutEnabled()
layoutEnabled():
boolean
Defined in: 2d/src/lib/components/Layout.ts:683
Get the resolved layout mode of this node.
Returns
boolean
Remarks
When the mode is null, its value will be inherited from the parent.
Use layout to get the raw mode set for this node (without inheritance).
Inherited from
lineWidthCoefficient()
protectedlineWidthCoefficient():number
Defined in: 2d/src/lib/components/Spline.ts:200
Returns
number
Overrides
localToParent()
localToParent():
DOMMatrix
Defined in: 2d/src/lib/components/Layout.ts:692
Get the local-to-parent matrix for this node.
Returns
DOMMatrix
Remarks
This matrix transforms vectors from local space of this node to local space of this node’s parent.
Inherited from
localToWorld()
localToWorld():
DOMMatrix
Defined in: 2d/src/lib/components/Node.ts:569
Get the local-to-world matrix for this node.
Returns
DOMMatrix
Remarks
This matrix transforms vectors from local space of this node to world space.
Example
Calculate the absolute position of a point located 200 pixels to the right of the node:
const local = new Vector2(0, 200);
const world = transformVectorAsPoint(local, node.localToWorld());Inherited from
lockSize()
lockSize():
void
Defined in: 2d/src/lib/components/Layout.ts:652
Returns
void
Inherited from
move()
move(
by?):this
Defined in: 2d/src/lib/components/Node.ts:771
Rearrange this node in relation to its siblings.
Parameters
by?
number = 1
Number of places by which the node should be moved.
Returns
this
Remarks
Children are rendered starting from the beginning of the children list. We can change the rendering order by rearranging said list.
A positive by arguments move the node up (it will be rendered on top of
the elements it has passed). Negative values move it down.
Inherited from
moveAbove()
moveAbove(
node,directlyAbove?):this
Defined in: 2d/src/lib/components/Node.ts:932
Move the node above the provided node in the parent’s layout.
Parameters
node
The sibling node below which to move.
directlyAbove?
boolean = false
Whether the node should be positioned directly above the sibling. When true, will move the node even if it is already positioned above the sibling.
Returns
this
Remarks
The node will be moved above the provided node and from then on will be rendered on top of it. By default, if the node is already positioned higher than the sibling node, it will not get moved.
Inherited from
moveBelow()
moveBelow(
node,directlyBelow?):this
Defined in: 2d/src/lib/components/Node.ts:889
Move the node below the provided node in the parent’s layout.
Parameters
node
The sibling node below which to move.
directlyBelow?
boolean = false
Whether the node should be positioned directly below the sibling. When true, will move the node even if it is already positioned below the sibling.
Returns
this
Remarks
The node will be moved below the provided node and from then on will be rendered below it. By default, if the node is already positioned lower than the sibling node, it will not get moved.
Inherited from
moveDown()
moveDown():
this
Defined in: 2d/src/lib/components/Node.ts:827
Move the node down in relation to its siblings.
Returns
this
Remarks
The node will exchange places with the sibling right below it (if any) and from then on will be rendered under it.
Inherited from
moveOffset()
moveOffset(
offset):void
Defined in: 2d/src/lib/components/Layout.ts:903
Update the offset of this node and adjust the position to keep it in the same place.
Parameters
offset
Vector2
The new offset.
Returns
void
Inherited from
moveTo()
moveTo(
index):this
Defined in: 2d/src/lib/components/Node.ts:864
Move the node to the provided position relative to its siblings.
Parameters
index
number
The index to move the node to.
Returns
this
Remarks
If the node is getting moved to a lower position, it will be placed below the sibling that’s currently at the provided index (if any). If the node is getting moved to a higher position, it will be placed above the sibling that’s currently at the provided index (if any).
Inherited from
moveToBottom()
moveToBottom():
this
Defined in: 2d/src/lib/components/Node.ts:849
Move the node to the bottom in relation to its siblings.
Returns
this
Remarks
The node will be placed at the beginning of the children list and from then on will be rendered below all of its siblings.
Inherited from
moveToTop()
moveToTop():
this
Defined in: 2d/src/lib/components/Node.ts:838
Move the node to the top in relation to its siblings.
Returns
this
Remarks
The node will be placed at the end of the children list and from then on will be rendered on top of all of its siblings.
Inherited from
moveUp()
moveUp():
this
Defined in: 2d/src/lib/components/Node.ts:816
Move the node up in relation to its siblings.
Returns
this
Remarks
The node will exchange places with the sibling right above it (if any) and from then on will be rendered on top of it.
Inherited from
offsetArcLength()
offsetArcLength():
number
Defined in: 2d/src/lib/components/Curve.ts:222
The offset arc length of this curve.
Returns
number
Remarks
This is the length of the curve that accounts for the offsets.
Inherited from
offsetComputedLayout()
protectedoffsetComputedLayout(box):BBox
Defined in: 2d/src/lib/components/Spline.ts:221
Parameters
box
BBox
Returns
BBox
Overrides
parentAs()
parentAs<
T>():T|null
Defined in: 2d/src/lib/components/Node.ts:1157
Get the parent cast to the specified type.
Type Parameters
T
Returns
T | null
Inherited from
parentTransform()
protectedparentTransform():Layout|null
Defined in: 2d/src/lib/components/Layout.ts:661
Returns
Layout | null
Inherited from
parentWorldSpaceCacheBBox()
protectedparentWorldSpaceCacheBBox():BBox
Defined in: 2d/src/lib/components/Node.ts:1476
Returns
BBox
Inherited from
Curve.parentWorldSpaceCacheBBox
parseChildren()
protectedparseChildren(children):Node[]
Defined in: 2d/src/lib/components/Node.ts:1316
Parse any ComponentChildren into an array of nodes.
Parameters
children
The children to parse.
Returns
Node[]
Inherited from
parseLength()
protectedparseLength(value):string
Defined in: 2d/src/lib/components/Layout.ts:915
Parameters
value
string | number | null
Returns
string
Inherited from
parsePixels()
protectedparsePixels(value):string
Defined in: 2d/src/lib/components/Layout.ts:911
Parameters
value
number | null
Returns
string
Inherited from
peekChildren()
peekChildren(): readonly
Node[]
Defined in: 2d/src/lib/components/Node.ts:1000
Get the current children of this node.
Returns
readonly Node[]
Remarks
Unlike children, this method does not have any side effects.
It does not register the children signal as a dependency, and it does not
spawn any children. It can be used to safely retrieve the current state of
the scene graph for debugging purposes.
Inherited from
percentageToDistance()
percentageToDistance(
value):number
Defined in: 2d/src/lib/components/Curve.ts:183
Convert a percentage along the curve to a distance.
Parameters
value
number
The percentage along the curve.
Returns
number
Remarks
The returned distance is given in relation to the full curve, not accounting for startOffset and endOffset.
Inherited from
processSubpath()
protectedprocessSubpath(_path,_startPoint,_endPoint):void
Defined in: 2d/src/lib/components/Curve.ts:252
Parameters
_path
Path2D
_startPoint
Vector2 | null
_endPoint
Vector2 | null
Returns
void
Inherited from
profile()
profile():
CurveProfile
Defined in: 2d/src/lib/components/Spline.ts:162
Returns
Overrides
reactiveClone()
reactiveClone(
customProps?):this
Defined in: 2d/src/lib/components/Node.ts:1251
Create a reactive copy of this node.
Parameters
customProps?
NodeState = {}
Properties to override.
Returns
this
Remarks
A reactive copy has all its properties dynamically updated to match the source node.
Inherited from
releaseSize()
releaseSize():
void
Defined in: 2d/src/lib/components/Layout.ts:656
Returns
void
Inherited from
remove()
remove():
this
Defined in: 2d/src/lib/components/Node.ts:748
Remove this node from the tree.
Returns
this
Inherited from
removeChild()
protectedremoveChild(child):void
Defined in: 2d/src/lib/components/Node.ts:1331
Remove the given child.
Parameters
child
Returns
void
Inherited from
removeChildren()
removeChildren():
void
Defined in: 2d/src/lib/components/Node.ts:984
Remove all children of this node.
Returns
void
Inherited from
render()
render(
context):Promise<void>
Defined in: 2d/src/lib/components/Node.ts:1637
Render this node onto the given canvas.
Parameters
context
CanvasRenderingContext2D
The context to draw with.
Returns
Promise<void>
Inherited from
renderFromSource()
protectedrenderFromSource(context,source,x,y):void
Defined in: 2d/src/lib/components/Node.ts:1524
Parameters
context
CanvasRenderingContext2D
source
CanvasImageSource
x
number
y
number
Returns
void
Inherited from
reparent()
reparent(
newParent):void
Defined in: 2d/src/lib/components/Node.ts:971
Change the parent of this node while keeping the absolute transform.
Parameters
newParent
The new parent of this node.
Returns
void
Remarks
After performing this operation, the node will stay in the same place visually, but its parent will be changed.
Inherited from
requestFontUpdate()
protectedrequestFontUpdate():void
Defined in: 2d/src/lib/components/Layout.ts:819
Apply any new font changes to this node and all of its ancestors.
Returns
void
Inherited from
requestLayoutUpdate()
protectedrequestLayoutUpdate():void
Defined in: 2d/src/lib/components/Layout.ts:759
Find the closest layout root and apply any new layout changes.
Returns
void
Inherited from
requiresCache()
protectedrequiresCache():boolean
Defined in: 2d/src/lib/components/Node.ts:1338
Whether this node should be cached or not.
Returns
boolean
Inherited from
requiresProfile()
protectedrequiresProfile():boolean
Defined in: 2d/src/lib/components/Curve.ts:401
Check if the path requires a profile.
Returns
boolean
Remarks
The profile is only required if certain features are used. Otherwise, the profile generation can be skipped, and the curve can be drawn directly using the 2D context.
Inherited from
restore()
Call Signature
restore():
void
Defined in: 2d/src/lib/components/Node.ts:1877
Restore the node to its last saved state.
Returns
void
Remarks
This method can be used together with the save method to restore a node to a previously saved state. Restoring a node to a previous state removes that state from the state stack.
Example
const node = <Circle width={100} height={100} fill={"lightseagreen"} />
view.add(node);
// Save the node's current state
node.save();
// Modify some of the node's properties
yield* node.scale(2, 1);
yield* node.fill('hotpink', 1);
// Restore the node to its saved state
node.restore();Inherited from
Call Signature
restore(
duration,timing?):ThreadGenerator
Defined in: 2d/src/lib/components/Node.ts:1906
Tween the node to its last saved state.
Parameters
duration
number
The duration of the transition.
timing?
TimingFunction
The timing function to use for the transition.
Returns
ThreadGenerator
Remarks
This method can be used together with the save method to restore a node to a previously saved state. Restoring a node to a previous state removes that state from the state stack.
Example
const node = <Circle width={100} height={100} fill={"lightseagreen"} />
view.add(node);
// Save the node's current state
node.save();
// Modify some of the node's properties
yield* node.scale(2, 1);
yield* node.fill('hotpink', 1);
// Tween the node to its saved state over 1 second
yield* node.restore(1);Inherited from
ripple()
ripple(
duration?):Generator<void|ThreadGenerator|Promise<any> |Promisable<any>,void,any>
Defined in: 2d/src/lib/components/Shape.ts:138
Parameters
duration?
number = 1
Returns
Generator<void | ThreadGenerator | Promise<any> | Promisable<any>, void, any>
Inherited from
rippleSize()
protectedrippleSize():number
Defined in: 2d/src/lib/components/Shape.ts:60
Returns
number
Inherited from
save()
save():
void
Defined in: 2d/src/lib/components/Node.ts:1848
Push a snapshot of the node’s current state onto the node’s state stack.
Returns
void
Remarks
This method can be used together with the restore method to save a
node’s current state and later restore it. It is possible to store more
than one state by calling save method multiple times.
Inherited from
setAbsolutePosition()
protectedsetAbsolutePosition(value):void
Defined in: 2d/src/lib/components/Node.ts:203
Parameters
value
SignalValue<PossibleVector2>
Returns
void
Inherited from
setAbsoluteRotation()
protectedsetAbsoluteRotation(value):void
Defined in: 2d/src/lib/components/Node.ts:238
Parameters
value
SignalValue<number>
Returns
void
Inherited from
setAbsoluteScale()
protectedsetAbsoluteScale(value):void
Defined in: 2d/src/lib/components/Node.ts:341
Parameters
value
SignalValue<PossibleVector2>
Returns
void
Inherited from
setChildren()
protectedsetChildren(value):void
Defined in: 2d/src/lib/components/Node.ts:491
Parameters
value
SignalValue<ComponentChildren>
Returns
void
Inherited from
setHeight()
protectedsetHeight(value):void
Defined in: 2d/src/lib/components/Layout.ts:416
Parameters
value
SignalValue<Length>
Returns
void
Inherited from
setParsedChildren()
protectedsetParsedChildren(value):void
Defined in: 2d/src/lib/components/Node.ts:1283
Set the children without parsing them.
Parameters
value
Node[]
The children to set.
Returns
void
Remarks
This method assumes that the caller took care of parsing the children and updating the hierarchy.
Inherited from
setSpawner()
protectedsetSpawner(value):void
Defined in: 2d/src/lib/components/Node.ts:483
Parameters
value
SignalValue<ComponentChildren>
Returns
void
Inherited from
setupDrawFromCache()
protectedsetupDrawFromCache(context):void
Defined in: 2d/src/lib/components/Node.ts:1496
Prepare the given context for drawing a cached node onto it.
Parameters
context
CanvasRenderingContext2D
The context using which the cache will be drawn.
Returns
void
Remarks
This method is called before the contents of the cache canvas are drawn on the screen. It can be used to apply effects to the entire node together with its children, instead of applying them individually. Effects such as transparency, shadows, and filters use this technique.
Whether the node is cached is decided by the requiresCache method.
Inherited from
setWidth()
protectedsetWidth(value):void
Defined in: 2d/src/lib/components/Layout.ts:376
Parameters
value
SignalValue<Length>
Returns
void
Inherited from
setX()
protectedsetX(value):void
Defined in: 2d/src/lib/components/Layout.ts:299
Parameters
value
SignalValue<number>
Returns
void
Inherited from
setY()
protectedsetY(value):void
Defined in: 2d/src/lib/components/Layout.ts:310
Parameters
value
SignalValue<number>
Returns
void
Inherited from
snapshotClone()
snapshotClone(
customProps?):this
Defined in: 2d/src/lib/components/Node.ts:1229
Create a copy of this node.
Parameters
customProps?
NodeState = {}
Properties to override.
Returns
this
Remarks
Unlike clone, a snapshot clone calculates any reactive properties at the moment of cloning and passes the raw values to the copy.
Inherited from
sortedChildren()
protectedsortedChildren():Node[]
Defined in: 2d/src/lib/components/Node.ts:520
Returns
Node[]
Inherited from
spawnChildren()
protectedspawnChildren(reactive,children):void
Defined in: 2d/src/lib/components/Node.ts:1288
Parameters
reactive
boolean
children
Returns
void
Inherited from
spawnedChildren()
protectedspawnedChildren():Node[]
Defined in: 2d/src/lib/components/Node.ts:511
Returns
Node[]
Inherited from
toPromise()
toPromise():
Promise<Spline>
Defined in: 2d/src/lib/components/Node.ts:1771
Wait for any asynchronous resources that this node or its children have.
Returns
Promise<Spline>
Remarks
Certain resources like images are always loaded asynchronously. Awaiting this method makes sure that all such resources are done loading before continuing the animation.
Inherited from
transformContext()
protectedtransformContext(context):void
Defined in: 2d/src/lib/components/Node.ts:1720
Parameters
context
CanvasRenderingContext2D
Returns
void
Inherited from
tweenCompositeOperation()
protectedtweenCompositeOperation(value,time,timingFunction):Generator<void|ThreadGenerator|Promise<any> |Promisable<any>,void,any>
Defined in: 2d/src/lib/components/Node.ts:386
Parameters
value
SignalValue<GlobalCompositeOperation>
time
number
timingFunction
TimingFunction
Returns
Generator<void | ThreadGenerator | Promise<any> | Promisable<any>, void, any>
Inherited from
tweenHeight()
protectedtweenHeight(value,time,timingFunction,interpolationFunction):ThreadGenerator
Defined in: 2d/src/lib/components/Layout.ts:421
Parameters
value
SignalValue<Length>
time
number
timingFunction
TimingFunction
interpolationFunction
InterpolationFunction<Length>
Returns
ThreadGenerator
Inherited from
tweenSize()
protectedtweenSize(value,time,timingFunction,interpolationFunction):ThreadGenerator
Defined in: 2d/src/lib/components/Layout.ts:470
Parameters
value
SignalValue<SerializedVector2<Length>>
time
number
timingFunction
TimingFunction
interpolationFunction
InterpolationFunction<Vector2>
Returns
ThreadGenerator
Inherited from
tweenWidth()
protectedtweenWidth(value,time,timingFunction,interpolationFunction):ThreadGenerator
Defined in: 2d/src/lib/components/Layout.ts:381
Parameters
value
SignalValue<Length>
time
number
timingFunction
TimingFunction
interpolationFunction
InterpolationFunction<Length>
Returns
ThreadGenerator
Inherited from
updateLayout()
protectedupdateLayout():void
Defined in: 2d/src/lib/components/Layout.ts:783
Apply any new layout changes to this node and its children.
Returns
void
Inherited from
view()
view():
View2D
Defined in: 2d/src/lib/components/Node.ts:660
Returns
Inherited from
worldSpaceCacheBBox()
protectedworldSpaceCacheBBox():BBox
Defined in: 2d/src/lib/components/Node.ts:1463
Get a bounding box in world space for the contents rendered by this node as well as its children.
Returns
BBox
Remarks
This is the same the bounding box returned by cacheBBox only transformed to world space.
Inherited from
worldToLocal()
worldToLocal():
DOMMatrix
Defined in: 2d/src/lib/components/Node.ts:592
Get the world-to-local matrix for this node.
Returns
DOMMatrix
Remarks
This matrix transforms vectors from world space to local space of this node.
Example
Calculate the position relative to this node for a point located in the top-left corner of the screen:
const world = new Vector2(0, 0);
const local = transformVectorAsPoint(world, node.worldToLocal());Inherited from
worldToParent()
worldToParent():
DOMMatrix
Defined in: 2d/src/lib/components/Node.ts:604
Get the world-to-parent matrix for this node.
Returns
DOMMatrix
Remarks
This matrix transforms vectors from world space to local space of this node’s parent.