onPointerUp method

  1. @mustCallSuper
  2. @override
bool? onPointerUp(
  1. PointerUpEvent e
)
override

指针抬起处理

Implementation

@mustCallSuper
@override
bool? onPointerUp(PointerUpEvent e) {
  super.onPointerUp(e);
  if (pointType == kPrimaryButton) {
    onTapUp(e); // 响应指针抬起事件
    if (isCancel == true) return false;
    _tripleTapHandler(e); // 处理三击事件
    _doubleTapHandler(e); // 处理双击事件
    if (delayTapForDouble &&
        (doubleTapTimer != null || isActiveDoubleTap == true)) {
      return false;
    }
    if (isActiveLongPress != null) false;
    onTap(e); // 响应点击事件
  } else if (pointType == kSecondaryButton) {
    if (enabledSecondaryTap) {
      ElPointerManager.isOpen = true;

      // 重置 web 原生右键事件
      if (kIsWeb) {
        preventContextMenuTimer ??= setTimeout(() {
          BrowserContextMenu.enableContextMenu();
          preventContextMenuTimer = null;
        }, 100);
      }

      onSecondaryTapUp(e);
    }
  } else if (pointType == kTertiaryButton) {
    if (enabledTertiaryTap) {
      ElPointerManager.isOpen = true;
      onTertiaryTapUp(e);
    }
  } else if (pointType == kForwardMouseButton) {
    if (enabledForwardTap) {
      ElPointerManager.isOpen = true;
      onForwardTapUp(e);
    }
  } else if (pointType == kBackMouseButton) {
    if (enabledBackTap) {
      ElPointerManager.isOpen = true;
      onBackTapUp(e);
    }
  }

  return true;
}