Interface used by INodeStyle implementations that can be used to query the actual IVisualCreator, IBoundsProvider, IHitTestable, IMarqueeTestable, and ILassoTestable implementations for a node and an associated style.
Inheritance Hierarchy
Remarks
Implementations of this interface should be designed to be shareable between multiple style instances and should therefore not contain style-specific state.
See Also
Developer's Guide
API
- INodeStyle, INode, IEdgeStyleRenderer, ILabelStyleRenderer, IPortStyleRenderer
Members
No filters for this type
Methods
Gets an implementation of the IBoundsProvider interface that can handle the provided node and its associated style.
Gets an implementation of the IBoundsProvider interface that can handle the provided node and its associated style.
This method may return a flyweight implementation.
abstract
Parameters
- node: INode
- The node to provide an instance for
- style: INodeStyle
- The style to use for calculating the rendering bounds
Return Value
- IBoundsProvider
- An implementation that may be used to subsequently query the node's rendering bounds. Clients should not cache this instance and must always call this method immediately before using the value returned. This enables the use of the flyweight design pattern for implementations
Gets a temporary context instance that can be used to query additional information for the node's style.
Gets a temporary context instance that can be used to query additional information for the node's style.
Implementations may return EMPTY if they don't support this, but may not return
null.abstract
Parameters
- node: INode
- The node to provide a context instance for.
- style: INodeStyle
- The style to use for the context.
Return Value
- ILookup
- A non-
nulllookup implementation.
See Also
API
- ILookup
Gets an implementation of the IHitTestable interface that can handle the provided node and its associated style.
Gets an implementation of the IHitTestable interface that can handle the provided node and its associated style.
This method may return a flyweight implementation.
abstract
Parameters
- node: INode
- The node to provide an instance for
- style: INodeStyle
- The style to use for calculating hit tests
Return Value
- IHitTestable
- An implementation that may be used to subsequently perform hit tests. Clients should not cache this instance and must always call this method immediately before using the value returned. This enables the use of the flyweight design pattern for implementations. This method may return
nullto indicate that the node cannot be hit tested.
Gets an implementation of the ILassoTestable interface that can handle the provided node and its associated style.
Gets an implementation of the ILassoTestable interface that can handle the provided node and its associated style.
This method may return a flyweight implementation.
abstract
Parameters
- node: INode
- The node to provide an instance for
- style: INodeStyle
- The style to use for calculating lasso intersection tests
Return Value
- ILassoTestable
- An implementation that may be used to subsequently query if the item is deemed to be inside a lasso selection path. Clients should not cache this instance and must always call this method immediately before using the value returned. This enables the use of the flyweight design pattern for implementations
Gets an implementation of the IMarqueeTestable interface that can handle the provided node and its associated style.
Gets an implementation of the IMarqueeTestable interface that can handle the provided node and its associated style.
This method may return a flyweight implementation.
abstract
Parameters
- node: INode
- The node to provide an instance for
- style: INodeStyle
- The style to use for calculating marquee intersection tests
Return Value
- IMarqueeTestable
- An implementation that may be used to subsequently query the marquee intersections. Clients should not cache this instance and must always call this method immediately before using the value returned. This enables the use of the flyweight design pattern for implementations
Gets an implementation of the IShapeGeometry interface that can handle the provided node and its associated style.
Gets an implementation of the IShapeGeometry interface that can handle the provided node and its associated style.
This method may return a flyweight implementation.
abstract
Parameters
- node: INode
- The node to provide an instance for
- style: INodeStyle
- The style to use for calculating the path geometry
Return Value
- IShapeGeometry
- An implementation that may be used to subsequently query geometry information from. Clients should not cache this instance and must always call this method immediately before using the value returned. This enables the use of the flyweight design pattern for implementations
Gets an implementation of the IVisibilityTestable interface that can handle the provided node and its associated style.
Gets an implementation of the IVisibilityTestable interface that can handle the provided node and its associated style.
This method may return a flyweight implementation.
abstract
Parameters
- node: INode
- The node to provide an instance for
- style: INodeStyle
- The style to use for testing the visibility
Return Value
- IVisibilityTestable
- An implementation that may be used to subsequently query the node's visibility. Clients should not cache this instance and must always call this method immediately before using the value returned. This enables the use of the flyweight design pattern for implementations
Gets an implementation of the IVisualCreator interface that can handle the provided node and its associated style.
Gets an implementation of the IVisualCreator interface that can handle the provided node and its associated style.
This method may return a flyweight implementation, but never
null.abstract
Parameters
- node: INode
- The node to provide an instance for
- style: INodeStyle
- The style to use for creating the node visualization
Return Value
- IVisualCreator
- An implementation that may be used to subsequently create or update the visual for the node. Clients should not cache this instance and must always call this method immediately before using the value returned. This enables the use of the flyweight design pattern for implementations. This method may not return
nullbut should yield a void implementation instead.