UNPKG

@lightningjs/renderer

Version:
45 lines (44 loc) 2.31 kB
import type { IAnimationController } from '../../common/IAnimationController.js'; import type { CustomDataMap, INode, INodeAnimatableProps } from '../../main-api/INode.js'; import type { RendererMain, TextureRef } from '../../main-api/RendererMain.js'; import type { NodeStruct } from './NodeStruct.js'; import { SharedNode } from './SharedNode.js'; import type { AnimationSettings } from '../../core/animations/CoreAnimation.js'; import type { ThreadXMainShaderController } from './ThreadXMainShaderController.js'; export declare class ThreadXMainNode extends SharedNode implements INode { private rendererMain; private nextAnimationId; protected _parent: ThreadXMainNode | null; protected _children: ThreadXMainNode[]; protected _texture: TextureRef | null; protected _shader: ThreadXMainShaderController | null; protected _data: CustomDataMap | undefined; private _src; /** * FinalizationRegistry for animation controllers. When an animation * controller is garbage collected, we let the render worker know so that * it can remove it's corresponding animation controler from it's stored * Set. This should ultimately allow the render worker to garbage collect * it's animation controller. The animation itself independent from the animation * controller, so it will continue to run until it's finished regardless of * whether or not the animation controller is garbage collected. */ private animationRegistry; constructor(rendererMain: RendererMain, sharedNodeStruct: NodeStruct, extendedCurProps?: Record<string, unknown>); get texture(): TextureRef | null; set texture(texture: TextureRef | null); get shader(): ThreadXMainShaderController | null; set shader(shader: ThreadXMainShaderController | null); get scale(): number | null; set scale(scale: number | null); animate(props: Partial<INodeAnimatableProps>, settings: Partial<AnimationSettings>): IAnimationController; get src(): string; set src(imageUrl: string); get parent(): ThreadXMainNode | null; set parent(newParent: ThreadXMainNode | null); get children(): ThreadXMainNode[]; get props(): this["z$__type__Props"]; get data(): CustomDataMap | undefined; set data(d: CustomDataMap); destroy(): void; }