MouseTracker class

Tracks the relationship between mouse devices and annotations, and triggers mouse events and cursor changes accordingly.

The MouseTracker tracks the relationship between mouse devices and MouseTrackerAnnotation, notified by updateWithEvent and updateAllDevices. At every update, MouseTracker triggers the following changes if applicable:

  • Dispatches mouse-related pointer events (pointer enter, hover, and exit).
  • Changes mouse cursors.
  • Notifies when mouseIsConnected changes.

This class is a ChangeNotifier that notifies its listeners if the value of mouseIsConnected changes.

An instance of MouseTracker is owned by the global singleton RendererBinding.



MouseTracker(MouseTrackerHitTest hitTestInView)
Create a mouse tracker.


hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
Whether any listeners are currently registered.
no setterinherited
mouseIsConnected bool
Whether or not at least one mouse is connected and has produced events.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited


addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
debugDeviceActiveCursor(int device) MouseCursor?
Returns the active mouse cursor for a device.
dispose() → void
Discards any resources used by the object. After this is called, the object is not in a usable state and should be discarded (calls to addListener will throw after the object is disposed).
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
notifyListeners() → void
Call all the registered listeners.
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
toString() String
A string representation of this object.
updateAllDevices() → void
Perform a device update for all detected devices.
updateWithEvent(PointerEvent event, HitTestResult? hitTestResult) → void
Perform a device update for one device according to the given new event.


operator ==(Object other) bool
The equality operator.