Skip to content

feat!: Kill MouseMovementDetector and rename PointerMove* to MouseMove* - #4011

Merged
luanpotter merged 2 commits into
mainfrom
luan.kill-mouse
Aug 16, 2026
Merged

feat!: Kill MouseMovementDetector and rename PointerMove* to MouseMove*#4011
luanpotter merged 2 commits into
mainfrom
luan.kill-mouse

Conversation

@luanpotter

@luanpotter luanpotter commented Aug 16, 2026

Copy link
Copy Markdown
Member

Description

Kill MouseMovementDetector legacy game mixin and associated paraphernalia (such as PointerHoverInfo), in favour of the new system.

Also renames PointerMove* to MouseMove* on the new system, because:

  • Flame's PointerMoveEvent collided with Flutter's class of the same name, which forced a hide on any file importing both package:flame/events.dart and package:flutter/material.dart
  • mouse move is just more accurate: the event wraps Flutter's PointerHoverEvent and is delivered from a MouseRegion. MouseMoveDispatcherKey was already named this way, so the codebase was half-renamed already.

Migration is trivial; use new system instead of old, and apply the renames if needed:

  • PointerMoveEvent -> MouseMoveEvent
  • PointerMoveCallbacks -> MouseMoveCallbacks
  • PointerMoveDispatcher -> MouseMoveDispatcher
  • onPointerMove/onPointerMoveStop -> onMouseMove/onMouseMoveStop

Unlike the legacy detector, which received every mouse movement anywhere on the game surface, MouseMoveCallbacks is routed by position like the other component callbacks (and it can also be mixed at the game level as expected).

The final intermediate shape of gesture_input.md is now reframed around the Callbacks mixins as the true system, with PanDetector demoted to the last remaining legacy detector. I also moved GestureHitboxes to inputs.md, where it belongs as a cross-system concern.

Checklist

  • I have followed the Contributor Guide when preparing my PR.
  • I have updated/added tests for ALL new/updated/fixed functionality.
  • I have updated/added relevant documentation in docs and added dartdoc comments with ///.
  • I have updated/added relevant examples in examples or docs.

Breaking Change?

  • Yes, this PR is a breaking change.
  • No, this PR is not a breaking change.

@luanpotter
luanpotter marked this pull request as ready for review August 16, 2026 16:13
@luanpotter
luanpotter requested a review from spydon August 16, 2026 16:13
@luanpotter
luanpotter enabled auto-merge (squash) August 16, 2026 19:51
@luanpotter
luanpotter merged commit 7fd33de into main Aug 16, 2026
8 checks passed
@luanpotter
luanpotter deleted the luan.kill-mouse branch August 16, 2026 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants