getLinkEndpointAlignment method

  1. @override
Alignment getLinkEndpointAlignment(
  1. ComponentData componentData,
  2. Offset targetPoint
)
override

Calculates an alignment of link endpoint on a component from ComponentData and targetPoint (nearest link point from this component).

With no implementation the link will attach to center of the component.

Implementation

@override
Alignment getLinkEndpointAlignment(
  ComponentData componentData,
  Offset targetPoint,
) {
  Offset pointPosition = targetPoint -
      (componentData.position + componentData.size.center(Offset.zero));
  pointPosition = Offset(
    pointPosition.dx / componentData.size.width,
    pointPosition.dy / componentData.size.height,
  );

  Offset pointAlignment = pointPosition / pointPosition.distance;

  return Alignment(pointAlignment.dx, pointAlignment.dy);
}