C

CompositeNodeStyle

A foundational implementation of INodeStyle that delegates its behavior to several style instances.

Remarks

This class can be used to combine multiple SVG-based style instances into one.

The following aspects will be delegated to all instances:

The following aspects will be delegated to the first/main style, only:

This class can be subclassed like NodeStyleBase<TVisual> to allow for custom implementations of the various aspects of the delegation.

See Also

Developer's Guide

Members

Show:

Constructors

Creates a new instance of this style.

Parameters

mainStyle: INodeStyle
The main style which will be rendered first and to which all requests will delegate to.
additionalStyles: INodeStyle
Additional styles which will be rendered on top and which will also be included in the hit-, visibility-, and bounds tests.

Properties

Gets the renderer implementation for this instance.
The private implementation will delegate all API calls back to this instance.
readonlyfinal
Gets a readonly list of the styles used by this instance.
The first item is the main instance, and the others are the additional instances rendered on top in order. The list always has at least one member.
readonlyfinal

Methods

Returns a memberwise clone.
This will also clone the style instances.

Return Value

Object
A clone of this instance.
Creates the visual by delegating to all styles.
This implementation puts all Visuals of the styles into a single compound SvgVisualGroup.
protected

Parameters

context: IRenderContext
The render context.
node: INode
The node to which this style instance is assigned.

Return Value

Visual
The visual as required by the createVisual interface.

See Also

API
updateVisual
Calculates the bounds as the union of bounds from all styles.
protected

Parameters

context: ICanvasContext
The canvas context.
node: INode
The node to which this style instance is assigned.

Return Value

Rect
The visual bounds of the visual representation.
Calculates the intersection point based on the first style.
protected

Parameters

node: INode
The node to which this style instance is assigned.
inner: Point
The coordinates of a point lying inside the shape.
outer: Point
The coordinates of a point lying outside the shape.

Return Value

Point
The intersection point if one has been found or null, otherwise.

See Also

API
isInside
Calculates the outline based on the first style.
protected

Parameters

node: INode
The node to which this style instance is assigned.

Return Value

GeneralPath
The outline of the visual representation or null.
Checks whether any style is hit at the given location.
protected

Parameters

context: IInputModeContext
The input mode context.
location: Point
The point to test.
node: INode
The node to which this style instance is assigned.

Return Value

boolean
true if the specified node is hit; false otherwise.
Determines if the node is in the box based on any style.
protected

Parameters

context: IInputModeContext
The input mode context.
rectangle: Rect
The marquee selection box.
node: INode
The node to which this style instance is assigned.

Return Value

boolean
true if the specified node is visible and selected by the marquee rectangle; false otherwise.
Determines if the node is in the path based on any style.
protected

Parameters

context: IInputModeContext
The input mode context.
path: GeneralPath
The lasso selection path.
node: INode
The node to which this style instance is assigned.

Return Value

boolean
true if the specified node is visible and selected by the lasso path; false otherwise.
Determines if the location is inside the node based on the first style.
protected

Parameters

node: INode
The node to which this style instance is assigned.
location: Point
The point to test.

Return Value

boolean
Whether the point is considered to lie inside the shape.
Determines visibility based on the visibility of all styles.
protected

Parameters

context: ICanvasContext
The canvas context.
rectangle: Rect
The clipping rectangle.
node: INode
The node to which this style instance is assigned.

Return Value

boolean
true if the specified node is visible in the clipping rectangle; false otherwise.
Performs a lookup using the first style as the reference.
protected

Parameters

node: INode
The node to use for the context lookup.
type: Constructor
The type to query.

Return Value

any
An implementation of the type or null.
Updates the visual by delegating to all styles.
This implementation updates all Visuals of the styles from a single compound SvgVisualGroup.
protected

Parameters

context: IRenderContext
The render context.
oldVisual: Visual
The visual that has been created in the call to createVisual.
node: INode
The node to which this style instance is assigned.

Return Value

Visual
The visual as required by the createVisual interface.

See Also

API
createVisual