MultiDragScaleGestureRecognizer class
A gesture recognizer that can recognize both individual pointer drags and scale gestures simultaneously.
This recognizer tracks each pointer independently (like Flutter's ImmediateMultiDragGestureRecognizer) while also tracking the overall scale gesture (like Flutter's ScaleGestureRecognizer). Each pointer fires its own drag callbacks independently. When 2+ pointers are down and movement exceeds scaleThreshold, scale callbacks also fire.
Use hasDrag and hasScale to enable only the features needed. Both default to false; the dispatcher sets them via enableDrag/enableScale.
- Inheritance
-
- Object
- GestureArenaMember
- GestureRecognizer
- MultiDragScaleGestureRecognizer
Constructors
-
MultiDragScaleGestureRecognizer({Object? debugOwner, Set<
PointerDeviceKind> ? supportedDevices, AllowedButtonsFilter? allowedButtonsFilter, double scaleThreshold = 1.05}) - Create a gesture recognizer for tracking multi-drag and scale gestures.
Properties
- allowedButtonsFilter → AllowedButtonsFilter
-
Called when interaction starts. This limits the dragging behavior
for custom clicks (such as scroll click). Its parameter comes
from PointerEvent.buttons.
finalinherited
- debugDescription → String
-
Returns a very short pretty description of the gesture that the
recognizer looks for, like 'tap' or 'horizontal drag'.
no setteroverride
- debugOwner → Object?
-
The recognizer's owner.
finalinherited
- gestureSettings ↔ DeviceGestureSettings?
-
Optional device specific configuration for device gestures that will
take precedence over framework defaults.
getter/setter pairinherited
- hasDrag ↔ bool
-
Whether drag callbacks should fire. Controlled by the dispatcher.
getter/setter pair
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasScale ↔ bool
-
Whether scale callbacks should fire. Controlled by the dispatcher.
getter/setter pair
- onScaleEnd ↔ GestureScaleEndCallback?
-
Called when a scale gesture ends.
getter/setter pair
- onScaleStart ↔ GestureScaleStartCallback?
-
Called when a scale gesture starts (when 2+ pointers are active).
getter/setter pair
- onScaleUpdate ↔ GestureScaleUpdateCallback?
-
Called when a scale gesture is updated.
getter/setter pair
- onStart ↔ GestureMultiDragStartCallback?
-
Called when a pointer starts dragging. One callback per pointer.
Return a Drag object to receive updates for this specific pointer.
getter/setter pair
- pointerCount → int
-
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scaleThreshold → double
-
The threshold for determining when a scale gesture has occurred.
Default is 1.05 (5% change in scale).
final
-
supportedDevices
↔ Set<
PointerDeviceKind> ? -
The kind of devices that are allowed to be recognized as provided by
supportedDevicesin the constructor, or the currently deprecatedkind. These cannot both be set. If both are null, events from all device kinds will be tracked and recognized.getter/setter pairinherited
Methods
-
acceptGesture(
int pointer) → void -
Called when this member wins the arena for the given pointer id.
override
-
addAllowedPointer(
PointerDownEvent event) → void -
Registers a new pointer that's been checked to be allowed by this gesture
recognizer.
override
-
addAllowedPointerPanZoom(
PointerPanZoomStartEvent event) → void -
Registers a new pointer pan/zoom that's been checked to be allowed by this
gesture recognizer.
inherited
-
addPointer(
PointerDownEvent event) → void -
Registers a new pointer that might be relevant to this gesture
detector.
inherited
-
addPointerPanZoom(
PointerPanZoomStartEvent event) → void -
Registers a new pointer pan/zoom that might be relevant to this gesture
detector.
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
dispose(
) → void -
Releases any resources used by the object.
override
-
getKindForPointer(
int pointer) → PointerDeviceKind -
For a given pointer ID, returns the device kind associated with it.
inherited
-
handleNonAllowedPointer(
PointerDownEvent event) → void -
Handles a pointer being added that's not allowed by this recognizer.
inherited
-
handleNonAllowedPointerPanZoom(
PointerPanZoomStartEvent event) → void -
Handles a pointer pan/zoom being added that's not allowed by this recognizer.
inherited
-
invokeCallback<
T> (String name, RecognizerCallback< T> callback, {String debugReport()?}) → T? -
Invoke a callback provided by the application, catching and logging any
exceptions.
inherited
-
isPointerAllowed(
PointerDownEvent event) → bool -
Checks whether or not a pointer is allowed to be tracked by this recognizer.
inherited
-
isPointerPanZoomAllowed(
PointerPanZoomStartEvent event) → bool -
Checks whether or not a pointer pan/zoom is allowed to be tracked by this recognizer.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
rejectGesture(
int pointer) → void -
Called when this member loses the arena for the given pointer id.
override
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A brief description of this object, usually just the runtimeType and the
hashCode.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited