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:
- 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.
Type Details
- yFiles module
- view
Constructors
Creates a new instance of this style.
Parameters
A map of options to pass to the method.
- 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.
Remarks
Implements
Gets a readonly list of the styles used by this instance.
Remarks
Methods
Returns a memberwise clone.
Creates the visual by delegating to all styles.
Remarks
Parameters
A map of options to pass to the method.
- context - IRenderContext
- The render context.
- node - INode
- The node to which this style instance is assigned.
Returns
- ↪Visual?
- The visual as required by the createVisual interface.
See Also
Implements
Calculates the bounds as the union of bounds from all styles.
Parameters
A map of options to pass to the method.
- context - ICanvasContext
- The canvas context.
- node - INode
- The node to which this style instance is assigned.
Returns
- ↪Rect
- The visual bounds of the visual representation.
Overrides
Calculates the intersection point based on the first style.
Parameters
A map of options to pass to the method.
- 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.
Returns
- ↪Point?
- The intersection point if one has been found or
null
, otherwise.
See Also
Overrides
Calculates the outline based on the first style.
Parameters
A map of options to pass to the method.
- node - INode
- The node to which this style instance is assigned.
Returns
- ↪GeneralPath?
- The outline of the visual representation or
null
.
Overrides
Checks whether any style is hit at the given location.
Parameters
A map of options to pass to the method.
- context - IInputModeContext
- The input mode context.
- location - Point
- The point to test.
- node - INode
- The node to which this style instance is assigned.
Returns
- ↪boolean
true
if the specified node is hit;false
otherwise.
Overrides
Determines if the node is in the box based on any style.
Parameters
A map of options to pass to the method.
- context - IInputModeContext
- The input mode context.
- rectangle - Rect
- The marquee selection box.
- node - INode
- The node to which this style instance is assigned.
Returns
- ↪boolean
true
if the specified node is visible and selected by the marquee rectangle;false
otherwise.
Overrides
Determines if the node is in the path based on any style.
Parameters
A map of options to pass to the method.
- context - IInputModeContext
- The input mode context.
- path - GeneralPath
- The lasso selection path.
- node - INode
- The node to which this style instance is assigned.
Returns
- ↪boolean
true
if the specified node is visible and selected by the lasso path;false
otherwise.
Overrides
Determines if the location is inside the node based on the first style.
Parameters
A map of options to pass to the method.
Returns
- ↪boolean
- Whether the point is considered to lie inside the shape.
Overrides
Determines visibility based on the visibility of all styles.
Parameters
A map of options to pass to the method.
- context - ICanvasContext
- The canvas context.
- rectangle - Rect
- The clipping rectangle.
- node - INode
- The node to which this style instance is assigned.
Returns
- ↪boolean
true
if the specified node is visible in the clipping rectangle;false
otherwise.
Overrides
Performs a lookup using the first style as the reference.
Parameters
A map of options to pass to the method.
- node - INode
- The node to use for the context lookup.
- type - Constructor
- The type to query.
Returns
- ↪any?
- An implementation of the
type
ornull
.
Overrides
Updates the visual by delegating to all styles.
Remarks
Parameters
A map of options to pass to the method.
- 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.
Returns
- ↪Visual?
- The visual as required by the createVisual interface.