I

INodeStyleRenderer

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.
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.
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-null lookup implementation.

See Also

API
ILookup
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 null to 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.
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.
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.
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.
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.
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 null but should yield a void implementation instead.

See Also

API
VOID_VISUAL_CREATOR