call method

  1. @override
String? call(
  1. TerminalMouseEvent event
)
override

Implementation

@override
String? call(TerminalMouseEvent event) {
  switch (event.state.mouseMode) {
    case MouseMode.none:
    case MouseMode.clickOnly:
      return null;
    case MouseMode.upDownScroll:
      if (event.motion) return null;
      break;
    case MouseMode.upDownScrollDrag:
      if (event.motion && event.button == TerminalMouseButton.none) {
        return null;
      }
      break;
    case MouseMode.upDownScrollMove:
      break;
  }
  switch (event.state.mouseMode) {
    case MouseMode.none:
    case MouseMode.clickOnly:
      return null;
    case MouseMode.upDownScroll:
    case MouseMode.upDownScrollDrag:
    case MouseMode.upDownScrollMove:
      // Up events are never reported for mouse wheel buttons.
      if (event.button.isWheel &&
          event.buttonState == TerminalMouseButtonState.up) {
        return null;
      }
      return MouseReporter.report(
        event.button,
        event.buttonState,
        event.position,
        event.state.mouseReportMode,
        motion: event.motion,
        modifiers: event.modifiers,
        pixelPosition: event.pixelPosition,
      );
  }
}