A foundational implementation of IEdgeStyle 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 edge.
- determining if an edge is within a rectangular marquee selection area.
- determining if an edge 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.
- determining the number of segments.
- calculating the path of an edge.
This class can be subclassed like EdgeStyleBase<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 - IEdgeStyle
- The main style which will be rendered first and to which all requests will delegate to.
- additionalStyles - IEdgeStyle
- 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
addArrows
(context: IRenderContext, group: SVGGElement, edge: IEdge, edgePath: GeneralPath, sourceArrow: IArrow, targetArrow: IArrow)Adds the arrows to a given container.
Parameters
A map of options to pass to the method.
- context - IRenderContext
- The context for the rendering.
- group - SVGGElement
- The container to which the arrows should be added.
- edge - IEdge
- The edge that is being rendered.
- edgePath - GeneralPath
- The edge path.
- sourceArrow - IArrow
- The source arrow.
- targetArrow - IArrow
- The target arrow.
Defined in
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.
- edge - IEdge
- The edge to which this style instance is assigned.
Returns
- ↪Visual?
- The visual as required by the createVisual interface.
See Also
Implements
Crops the edge's path at the nodes.
Remarks
Parameters
A map of options to pass to the method.
- edge - IEdge
- The edge that is being rendered.
- sourceArrow - IArrow
- The source arrow instance.
- targetArrow - IArrow
- The target arrow instance.
- path - GeneralPath
- The path that should be cropped.
Returns
- ↪GeneralPath?
- The cropped path. This can be either the same instance of the given path or a newly created instance.
Defined in
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.
- edge - IEdge
- The edge to which this style instance is assigned.
Returns
- ↪Rect
- The visual bounds of the visual representation.
Overrides
Gets the path from the first style as the reference.
Parameters
A map of options to pass to the method.
- edge - IEdge
- The edge.
Returns
- ↪GeneralPath?
- The path of the supplied edge.
Overrides
Gets the segment count from the first style as the reference.
Parameters
A map of options to pass to the method.
- edge - IEdge
- The edge.
Returns
- ↪number
- The segment count for the supplied edge.
Overrides
Calculates the source arrow anchor and direction for a given arrow and path.
Parameters
A map of options to pass to the method.
- path - GeneralPath
- The path of the edge.
- arrow - IArrow
- The arrow.
Returns
- ↪Tangent?
- The anchor and directional vector of the arrow, if any exist.
Defined in
Determines the tangent for the first style as the reference.
Determines the tangent for the first style as the reference.
Parameters
A map of options to pass to the method.
- edge - IEdge
- The edge.
- segmentIndex - number
- Index of the edge segment.
- ratio - number
- A value between 0 and 1 inclusively that indicates a ratio from the beginning to the end of the edge segment.
Returns
- ↪Tangent?
- The tangent, if it exists.
Overrides
Calculates the target arrow anchor and direction for a given arrow and path.
Parameters
A map of options to pass to the method.
- path - GeneralPath
- The path of the edge.
- arrow - IArrow
- The arrow.
Returns
- ↪Tangent?
- The anchor and directional vector of the arrow, if any exist.
Defined in
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.
- edge - IEdge
- The edge to which this style instance is assigned.
Returns
- ↪boolean
true
if the specified edge is hit;false
otherwise.
See Also
Overrides
Determines if the edge 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.
- edge - IEdge
- The edge to which this style instance is assigned.
Returns
- ↪boolean
true
if the specified edge is visible and selected by the marquee rectangle;false
otherwise.
Overrides
Determines if the edge 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.
- edge - IEdge
- The edge to which this style instance is assigned.
Returns
- ↪boolean
true
if the specified edge is visible and selected by the lasso path;false
otherwise.
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.
- edge - IEdge
- The edge to which this style instance is assigned.
Returns
- ↪boolean
true
if the specified edge 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.
- edge - IEdge
- The edge to use for the context lookup.
- type - Constructor
- The type to query.
Returns
- ↪any?
- An implementation of the
type
ornull
.
Overrides
updateArrows
(context: IRenderContext, group: SVGGElement, edge: IEdge, edgePath: GeneralPath, sourceArrow: IArrow, targetArrow: IArrow)Updates the arrows in a given container.
Parameters
A map of options to pass to the method.
- context - IRenderContext
- The context for the rendering.
- group - SVGGElement
- The container to which the arrows should be added.
- edge - IEdge
- The edge that is being rendered.
- edgePath - GeneralPath
- The edge path.
- sourceArrow - IArrow
- The source arrow.
- targetArrow - IArrow
- The target arrow.
Defined in
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.
- edge - IEdge
- The edge to which this style instance is assigned.
Returns
- ↪Visual?
- The visual as required by the createVisual interface.