@daign/2d-pipeline
Version:
Two dimensional graphics pipeline.
43 lines (42 loc) • 1.35 kB
TypeScript
import { GraphicNode } from './graphicNode';
import { PresentationNode } from './presentationNode';
/**
* The view class that replicates a subtree of the graphic document and prepares it for rendering.
*/
export declare class View extends GraphicNode {
/**
* The root of the subtree to be rendered.
*/
protected anchorNode: GraphicNode | null;
/**
* Callback to remove subscriptions when the source node changes.
*/
private anchorNodeSubscriptionRemover;
/**
* The representation of the view and root of the replicated tree.
*/
viewPresentationNode: PresentationNode | null;
/**
* Constructor.
*/
constructor();
/**
* Set the anchor node of the view, that is the root of the subtree to be rendered.
* @param anchorNode The anchor node.
*/
mountNode(anchorNode: GraphicNode): void;
/**
* Creates a copy of the graphic document starting from the source node.
*/
private replicateDocumentTree;
/**
* Recursively create copies of all graphic nodes.
* @param parent The node that will be the parent of the source node's copy.
* @param sourceNode The graphic node to copy.
*/
private replicateRecursive;
/**
* Remove a previously created presentation tree.
*/
private destroyDocumentTree;
}