DragGestureRecognizer class abstract

Recognizes movement.

In contrast to MultiDragGestureRecognizer, DragGestureRecognizer recognizes a single gesture sequence for all the pointers it watches, which means that the recognizer has at most one drag sequence active at any given time regardless of how many pointers are in contact with the screen.

DragGestureRecognizer is not intended to be used directly. Instead, consider using one of its subclasses to recognize specific types for drag gestures.

DragGestureRecognizer competes on pointer events only when it has at least one non-null callback. If it has no callbacks, it is a no-op.

See also:

Inheritance
Implementers

Constructors

DragGestureRecognizer({Object? debugOwner, DragStartBehavior dragStartBehavior = DragStartBehavior.start, MultitouchDragStrategy multitouchDragStrategy = MultitouchDragStrategy.latestPointer, GestureVelocityTrackerBuilder velocityTrackerBuilder = _defaultBuilder, bool onlyAcceptDragOnThreshold = false, Set<PointerDeviceKind>? supportedDevices, AllowedButtonsFilter allowedButtonsFilter = _defaultButtonAcceptBehavior})
Initialize the object.

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 setterinherited
debugLastPendingEventTimestamp Duration?
When asserts are enabled, returns the last tracked pending event timestamp for this recognizer.
no setter
debugOwner Object?
The recognizer's owner.
finalinherited
dragStartBehavior DragStartBehavior
Configure the behavior of offsets passed to onStart.
getter/setter pair
gestureSettings DeviceGestureSettings?
Optional device specific configuration for device gestures that will take precedence over framework defaults.
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
maxFlingVelocity double?
Fling velocity magnitudes will be clamped to this value.
getter/setter pair
minFlingDistance double?
The minimum distance an input pointer drag must have moved to be considered a fling gesture.
getter/setter pair
minFlingVelocity double?
The minimum velocity for an input pointer drag to be considered fling.
getter/setter pair
multitouchDragStrategy MultitouchDragStrategy
Configure the multi-finger drag strategy on multi-touch devices.
getter/setter pair
onCancel GestureDragCancelCallback?
The pointer that previously triggered onDown did not complete.
getter/setter pair
onDown GestureDragDownCallback?
A pointer has contacted the screen with a primary button and might begin to move.
getter/setter pair
onEnd GestureDragEndCallback?
A pointer that was previously in contact with the screen with a primary button and moving is no longer in contact with the screen and was moving at a specific velocity when it stopped contacting the screen.
getter/setter pair
onlyAcceptDragOnThreshold bool
Whether the drag threshold should be met before dispatching any drag callbacks.
getter/setter pair
onStart GestureDragStartCallback?
A pointer has contacted the screen with a primary button and has begun to move.
getter/setter pair
onUpdate GestureDragUpdateCallback?
A pointer that is in contact with the screen with a primary button and moving has moved again.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
supportedDevices Set<PointerDeviceKind>?
The kind of devices that are allowed to be recognized as provided by supportedDevices in the constructor, or the currently deprecated kind. These cannot both be set. If both are null, events from all device kinds will be tracked and recognized.
getter/setter pairinherited
team GestureArenaTeam?
The team that this recognizer belongs to, if any.
getter/setter pairinherited
velocityTrackerBuilder GestureVelocityTrackerBuilder
Determines the type of velocity estimation method to use for a potential drag gesture, when a new pointer is added.
getter/setter pair

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.
override
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.
override
didStopTrackingLastPointer(int pointer) → void
Called when the number of pointers this recognizer is tracking changes from one to zero.
override
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
handleEvent(PointerEvent event) → void
Called when a pointer event is routed to this recognizer.
override
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
isFlingGesture(VelocityEstimate estimate, PointerDeviceKind kind) bool
Determines if a gesture is a fling or not based on velocity.
isPointerAllowed(PointerEvent event) bool
Checks whether or not a pointer is allowed to be tracked by this recognizer.
override
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
resolve(GestureDisposition disposition) → void
Resolves this recognizer's participation in each gesture arena with the given disposition.
inherited
resolvePointer(int pointer, GestureDisposition disposition) → void
Resolves this recognizer's participation in the given gesture arena with the given disposition.
inherited
startTrackingPointer(int pointer, [Matrix4? transform]) → void
Causes events related to the given pointer ID to be routed to this recognizer.
inherited
stopTrackingIfPointerNoLongerDown(PointerEvent event) → void
Stops tracking the pointer associated with the given event if the event is a PointerUpEvent or a PointerCancelEvent event.
inherited
stopTrackingPointer(int pointer) → void
Stops events related to the given pointer ID from being routed to this recognizer.
inherited
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}) 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