I

IEdgeStyleRenderer

Interface used by IEdgeStyle implementations that can be used to query the actual IVisualCreator, IVisibilityTestable, IBoundsProvider, IHitTestable, IMarqueeTestable, and ILassoTestable implementations for an edge 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

API

IEdgeStyle, IEdge, INodeStyleRenderer, ILabelStyleRenderer, IPortStyleRenderer

Members

No filters for this type

Methods

Gets an implementation of the IBoundsProvider interface that can handle the provided edge and its associated style.
This method may return a flyweight implementation.
abstract

Parameters

edge: IEdge
The edge to provide an instance for
style: IEdgeStyle
The style to use for calculating the rendering bounds

Return Value

IBoundsProvider
An implementation that may be used to subsequently query the edge'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 edge's style.

Implementations may return ILookup.EMPTY if they do not support this, but may not return null.

The main purpose of this context lookup is to provide a way for style implementations to customize behavior that is not associated to one of the interfaces that are directly available from the IEdgeStyleRenderer interface. E.g. the context lookup of a custom style implementation might return a custom ISelectionRenderer<Object> implementation to change the visualization of the selected state for edges that use said custom style.

Returning null from this context lookup for a queried type cannot be used to "turn off" the default behavior for said type. To turn off the default behavior, either return an implementation of the required type that "does nothing" or LookupDecorator<TDecoratedType, TInterface>.hide the default implementation using an appropriate predicate.

abstract

Parameters

edge: IEdge
The edge to provide a context instance for.
style: IEdgeStyle
The style to use for the context.

Return Value

ILookup
A non-null lookup implementation.

See Also

Developer's Guide
API
ILookup
Gets an implementation of the IHitTestable interface that can handle the provided edge and its associated style.
This method may return a flyweight implementation.
abstract

Parameters

edge: IEdge
The edge to provide an instance for
style: IEdgeStyle
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 edge cannot be hit tested.
Gets an implementation of the ILassoTestable interface that can handle the provided edge and its associated style.
This method may return a flyweight implementation.
abstract

Parameters

edge: IEdge
The edge to provide an instance for
style: IEdgeStyle
The style to use for calculating lasso intersection tests.

Return Value

ILassoTestable
An implementation that may be used to subsequently query the lasso 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 IMarqueeTestable interface that can handle the provided edge and its associated style.
This method may return a flyweight implementation.
abstract

Parameters

edge: IEdge
The edge to provide an instance for
style: IEdgeStyle
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 IPathGeometry interface that can handle the provided edge and its associated style.
This method may return a flyweight implementation.
abstract

Parameters

edge: IEdge
The edge to provide an instance for
style: IEdgeStyle
The style to use for calculating the path geometry

Return Value

IPathGeometry
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 edge and its associated style.
This method may return a flyweight implementation.
abstract

Parameters

edge: IEdge
The edge to provide an instance for
style: IEdgeStyle
The style to use for testing the visibility

Return Value

IVisibilityTestable
An implementation that may be used to subsequently query the edge'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 edge and its associated style.
This method may return a flyweight implementation, but never null.
abstract

Parameters

edge: IEdge
The edge to provide an instance for
style: IEdgeStyle
The style to use for creating the edge visualization

Return Value

IVisualCreator
An implementation that may be used to subsequently create or update the visual for the edge. 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.