linkActivedParent method

void linkActivedParent(
  1. double delta,
  2. DragUpdateDetails details,
  3. TextDirection textDirection
)

Implementation

void linkActivedParent(
  double delta,
  DragUpdateDetails details,
  TextDirection textDirection,
) {
  if (_activedLinkParent != null) {
    return;
  }
  SyncControllerMixin? activedParent;
  if (textDirection == TextDirection.rtl) {
    delta = -delta;
  }

  if (delta < 0 && _extentAfter == 0) {
    activedParent =
        _findParent((SyncControllerMixin parent) => parent._extentAfter != 0);
  } else if (delta > 0 && _extentBefore == 0) {
    activedParent = _findParent(
        (SyncControllerMixin parent) => parent._extentBefore != 0);
  }

  if (activedParent != null) {
    _activedLinkParent = activedParent;
    activedParent.handleDragDown(null);
    activedParent.handleDragStart(
      DragStartDetails(
        globalPosition: details.globalPosition,
        localPosition: details.localPosition,
        sourceTimeStamp: details.sourceTimeStamp,
      ),
    );
  }
}