A foundational implementation of INodeStyle that delegates its behavior to several style instances.
Implements
- I
- I
Remarks
This class can be used to combine multiple SVG-based style instances into one.
The following aspects will be delegated to all instances:
- creating and updating the visuals.
- testing for visibility.
- hit testing.
- calculating the total bounds of the node.
- determining if a node is within a rectangular marquee selection area.
- determining if a node is within a lasso selection path.
The following aspects will be delegated to the first/main style, only:
- looking up the context.
- calculating the intersection points for edges.
- checking whether a point is inside a node.
- calculating the outline of a node.
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.
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.
Gets the renderer implementation for this instance.
The private implementation will delegate all API calls back to this instance.
readonlyfinal
Defined in
NodeStyleBase.rendererGets a readonly list of the styles used by this instance.
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.
Returns a memberwise clone.
This will also clone the style instances.
Return Value
- Object
- A clone of this instance.
Overrides
NodeStyleBase.cloneCreates the visual by delegating to all styles.
Creates the visual by delegating to all styles.
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
Overrides
NodeStyleBase.createVisualCalculates the bounds as the union of bounds from all styles.
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.
Overrides
NodeStyleBase.getBoundsCalculates the intersection point based on the first style.
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
Overrides
NodeStyleBase.getIntersectionCalculates the outline based on the first style.
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.
Overrides
NodeStyleBase.getOutlineChecks whether any style is hit at the given location.
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
trueif the specified node is hit;falseotherwise.
Overrides
NodeStyleBase.isHitDetermines if the node is in the box based on any style.
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
trueif the specified node is visible and selected by the marquee rectangle;falseotherwise.
Overrides
NodeStyleBase.isInBoxDetermines if the node is in the path based on any style.
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
trueif the specified node is visible and selected by the lasso path;falseotherwise.
Overrides
NodeStyleBase.isInPathDetermines if the location is inside the node based on the first style.
Determines if the location is inside the node based on the first style.
protected
Parameters
Return Value
- boolean
- Whether the point is considered to lie inside the shape.
Overrides
NodeStyleBase.isInsideDetermines visibility based on the visibility of all styles.
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
trueif the specified node is visible in the clipping rectangle;falseotherwise.
Overrides
NodeStyleBase.isVisiblePerforms a lookup using the first style as the reference.
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
typeornull.
Overrides
NodeStyleBase.lookupUpdates the visual by delegating to all styles.
Updates the visual by delegating to all styles.
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