consumesMouse method

bool consumesMouse(
  1. MouseMsg msg
)

Returns true when this mouse event should not be treated as a "content" interaction by the parent (e.g. focus changes) because it's intended to scroll/drag the scrollbar.

Implementation

bool consumesMouse(MouseMsg msg) {
  if (msg.action == MouseAction.wheel) return true;
  if (switch (msg.button) {
    MouseButton.wheelUp ||
    MouseButton.wheelDown ||
    MouseButton.wheelLeft ||
    MouseButton.wheelRight => true,
    _ => false,
  }) {
    return true;
  }

  if (msg.button == MouseButton.left) {
    return switch (msg.action) {
      MouseAction.press => _localCandidates(_toLocal(msg)).any(_isOnBar),
      MouseAction.motion => _dragging,
      MouseAction.release => _dragging,
      _ => false,
    };
  }
  return false;
}