A foundational abstract implementation of IPortStyle that delegates its behavior to pre-configured style instances.
Remarks
This class supports three primary use cases:
- Wrapping another style with a customized API. This is ideal for providing a simpler or domain-specific API by mapping properties from a subclass to the corresponding values of the delegated style. Subclasses typically return the preconfigured instance from getStyle and modify it in the constructor or through custom property setters.
- Dynamically reconfiguring a style based on the target port. In this scenario, the implementation keeps one or more style instances as fields and switches between them in getStyle, depending on attributes of the port, such as its tag property. This approach may also involve dynamically reconfiguring the style instance for specific port instances. When appropriate, implementations may override clone to simply return
this
. - Replacing one part of the implementation of another style. Instead of subclassing another style, the implementation delegates to all but a subset of the various aspects to an existing implementation and provides its own implementation, otherwise, via overriding specific methods of the base PortStyleBase<TVisual> class.
Subclasses must implement getStyle and should ensure that it executes quickly and without allocations.
Type Details
- yFiles module
- view
See Also
Properties
Gets the renderer implementation for this instance.
Remarks
Implements
Methods
Returns a memberwise clone.
Remarks
this
, instead, as the base implementation is completely stateless.Returns
- ↪Object
- A clone of this instance.
Overrides
Creates the visual with the style from getStyle and the port from getPort.
Parameters
A map of options to pass to the method.
- context - IRenderContext
- The render context.
- port - IPort
- The port to which this style instance is assigned.
Returns
- ↪Visual?
- The visual as required by the createVisual interface.
See Also
Implements
Gets the bounds with the style from getStyle and the port from getPort.
Parameters
A map of options to pass to the method.
- context - ICanvasContext
- The canvas context.
- port - IPort
- The port to which this style instance is assigned.
Returns
- ↪Rect
- The visual bounds of the visual representation.
Implements
Returns the port used for rendering.
Remarks
Parameters
A map of options to pass to the method.
- port - IPort
- The original port to be rendered.
Returns
- ↪IPort
- The port used for rendering. By default, this method returns the provided
port
. Subclasses can override this method to return a different port, such as a SimplePort, to customize rendering behavior.
Provides the core implementation of this style, returning the instance to delegate rendering logic.
Remarks
Parameters
A map of options to pass to the method.
- port - IPort
- The port for which the style instance should be returned and applied.
Returns
- ↪IPortStyle
- The IPortStyle instance responsible for handling all related requests.
Determines with the style from getStyle whether the visualization of the port from getPort 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.
- port - IPort
- The port to which this style instance is assigned.
Returns
- ↪boolean
true
if the specified port is hit;false
otherwise.
Overrides
Determines with the style from getStyle whether the visualization of the port from getPort is included in the marquee selection.
Parameters
A map of options to pass to the method.
- context - IInputModeContext
- The input mode context.
- rectangle - Rect
- The marquee selection box.
- port - IPort
- The port to which this style instance is assigned.
Returns
- ↪boolean
true
if the specified port is visible and selected by the marquee rectangle;false
otherwise.
Overrides
Determines with the style from getStyle whether the visualization of the port from getPort is included in the lasso selection.
Parameters
A map of options to pass to the method.
- context - IInputModeContext
- The input mode context.
- path - GeneralPath
- The lasso selection path.
- port - IPort
- The port to which this style instance is assigned.
Returns
- ↪boolean
true
if the specified port is visible and selected by the lasso path;false
otherwise.
Overrides
Determines with the style from getStyle whether the visualization of the port from getPort is visible.
Parameters
A map of options to pass to the method.
- context - ICanvasContext
- The canvas context.
- rectangle - Rect
- The clipping rectangle.
- port - IPort
- The port to which this style instance is assigned.
Returns
- ↪boolean
true
if the specified port is visible in the clipping rectangle;false
otherwise.
Overrides
Updates the visual with the style from getStyle and the port from getPort.
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.
- port - IPort
- The port to which this style instance is assigned.
Returns
- ↪Visual?
- The visual as required by the createVisual interface.