TapSequenceGestureRecognizer class

Recognizes when the user has tapped the screen at the same location one, two, and three times.

Reports all gestures in a sequence when reportPrecedingGestures is true, e.g., single-tap followed by double-tap followed by triple-tap. When reportPrecedingGestures is false, only the final gesture is reported, e.g., a triple-tap without a single-tap or double-tap.

This implementation is based on Flutter's DoubleTapGestureRecognizer implementation. I don't know how correct this implementation is, but it seems to work where it's used.

Inheritance

Constructors

TapSequenceGestureRecognizer({Object? debugOwner, Set<PointerDeviceKind>? supportedDevices, bool reportPrecedingGestures = true})
Create a gesture recognizer for double and triple taps.

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
hashCode int
The hash code for this object.
no setterinherited
onDoubleTap GestureDoubleTapCallback?
getter/setter pair
onDoubleTapCancel GestureTapCancelCallback?
getter/setter pair
onDoubleTapDown GestureTapDownCallback?
getter/setter pair
onDoubleTapUp GestureTapUpCallback?
getter/setter pair
onTap GestureDoubleTapCallback?
getter/setter pair
onTapCancel GestureTapCancelCallback?
getter/setter pair
onTapDown GestureTapDownCallback?
getter/setter pair
onTapUp GestureTapUpCallback?
getter/setter pair
onTimeout VoidCallback?
Callback that's invoked when this gesture recognizer exceeds the timeout between taps and stops looking for a gesture.
getter/setter pair
onTripleTap GestureDoubleTapCallback?
getter/setter pair
onTripleTapCancel GestureTapCancelCallback?
getter/setter pair
onTripleTapDown GestureTapDownCallback?
getter/setter pair
onTripleTapUp GestureTapUpCallback?
getter/setter pair
reportPrecedingGestures bool
If true, reports the gestures that lead up to the final gesture, e.g., reports a single-tap before reporting a double-tap.
final
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

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.
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
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