gestures library
The Flutter gesture recognizers.
To use, import package:flutter/gestures.dart
.
Classes
- BaseTapAndDragGestureRecognizer
- A base class for gesture recognizers that recognize taps and movements.
- BaseTapGestureRecognizer
- A base class for gesture recognizers that recognize taps.
- DelayedMultiDragGestureRecognizer
- Recognizes movement both horizontally and vertically on a per-pointer basis after a delay.
- DeviceGestureSettings
- The device specific gesture settings scaled into logical pixels.
- DiagnosticPropertiesBuilder
- Builder to accumulate properties and configuration used to assemble a DiagnosticsNode from a Diagnosticable object.
- DiagnosticsNode
- Defines diagnostics data for a value.
- DoubleTapGestureRecognizer
- Recognizes when the user has tapped the screen at the same location twice in quick succession.
- Drag
- Interface for objects that receive updates about drags.
- DragDownDetails
- Details object for callbacks that use GestureDragDownCallback.
- DragEndDetails
- Details object for callbacks that use GestureDragEndCallback.
- DragGestureRecognizer
- Recognizes movement.
- DragStartDetails
- Details object for callbacks that use GestureDragStartCallback.
- DragUpdateDetails
- Details object for callbacks that use GestureDragUpdateCallback.
- EagerGestureRecognizer
- A gesture recognizer that eagerly claims victory in all gesture arenas.
- FlutterErrorDetailsForPointerEventDispatcher
- Variant of FlutterErrorDetails with extra fields for the gesture library's binding's pointer event dispatcher (GestureBinding.dispatchEvent).
- FlutterView
- A view into which a Flutter Scene is drawn.
- ForcePressDetails
- Details object for callbacks that use GestureForcePressStartCallback, GestureForcePressPeakCallback, GestureForcePressEndCallback or GestureForcePressUpdateCallback.
- ForcePressGestureRecognizer
- Recognizes a force press on devices that have force sensors.
- GestureArenaEntry
- An interface to pass information to an arena.
- GestureArenaManager
- Used for disambiguating the meaning of sequences of pointer events.
- GestureArenaMember
- Represents an object participating in an arena.
- GestureArenaTeam
- A group of GestureArenaMember objects that are competing as a unit in the GestureArenaManager.
- GestureRecognizer
- The base class that all gesture recognizers inherit from.
- HitTestable
- An object that can hit-test pointers.
- HitTestDispatcher
- An object that can dispatch events.
-
HitTestEntry<
T extends HitTestTarget> - Data collected during a hit test about a specific HitTestTarget.
- HitTestResult
- The result of performing a hit test.
- HitTestTarget
- An object that can handle events.
- HorizontalDragGestureRecognizer
- Recognizes movement in the horizontal direction.
- HorizontalMultiDragGestureRecognizer
- Recognizes movement in the horizontal direction on a per-pointer basis.
- ImmediateMultiDragGestureRecognizer
- Recognizes movement both horizontally and vertically on a per-pointer basis.
- IOSScrollViewFlingVelocityTracker
- A VelocityTracker subclass that provides a close approximation of iOS scroll view's velocity estimation strategy.
- LeastSquaresSolver
- Uses the least-squares algorithm to fit a polynomial to a set of data.
- LongPressDownDetails
- Details for callbacks that use GestureLongPressDownCallback.
- LongPressEndDetails
- Details for callbacks that use GestureLongPressEndCallback.
- LongPressGestureRecognizer
- Recognizes when the user has pressed down at the same location for a long period of time.
- LongPressMoveUpdateDetails
- Details for callbacks that use GestureLongPressMoveUpdateCallback.
- LongPressStartDetails
- Details for callbacks that use GestureLongPressStartCallback.
- MacOSScrollViewFlingVelocityTracker
- A VelocityTracker subclass that provides a close approximation of macOS scroll view's velocity estimation strategy.
- Matrix4
- 4D Matrix. Values are stored in column major order.
- MultiDragGestureRecognizer
- Recognizes movement on a per-pointer basis.
- MultiDragPointerState
- Per-pointer state for a MultiDragGestureRecognizer.
- MultiTapGestureRecognizer
- Recognizes taps on a per-pointer basis.
- Offset
- An immutable 2D floating-point offset.
- OffsetPair
- A container for a local and global Offset pair.
- OneSequenceGestureRecognizer
- Base class for gesture recognizers that can only recognize one gesture at a time. For example, a single TapGestureRecognizer can never recognize two taps happening simultaneously, even if multiple pointers are placed on the same widget.
- PanGestureRecognizer
- Recognizes movement both horizontally and vertically.
- PointerAddedEvent
- The device has started tracking the pointer.
- PointerCancelEvent
- The input from the pointer is no longer directed towards this receiver.
- PointerData
- Information about the state of a pointer.
- PointerDownEvent
- The pointer has made contact with the device.
- PointerEnterEvent
- The pointer has moved with respect to the device while the pointer is or is not in contact with the device, and it has entered a target object.
- PointerEvent
- Base class for touch, stylus, or mouse events.
- PointerEventConverter
- Converts from engine pointer data to framework pointer events.
- PointerEventResampler
- Class for pointer event resampling.
- PointerExitEvent
- The pointer has moved with respect to the device while the pointer is or is not in contact with the device, and exited a target object.
- PointerHoverEvent
- The pointer has moved with respect to the device while the pointer is not in contact with the device.
- PointerMoveEvent
- The pointer has moved with respect to the device while the pointer is in contact with the device.
- PointerPanZoomEndEvent
- The pan/zoom on this pointer has ended.
- PointerPanZoomStartEvent
- A pan/zoom has begun on this pointer.
- PointerPanZoomUpdateEvent
- The active pan/zoom on this pointer has updated.
- PointerRemovedEvent
- The device is no longer tracking the pointer.
- PointerRouter
- A routing table for PointerEvent events.
- PointerScaleEvent
- The pointer issued a scale event.
- PointerScrollEvent
- The pointer issued a scroll event.
- PointerScrollInertiaCancelEvent
- The pointer issued a scroll-inertia cancel event.
- PointerSignalEvent
- An event that corresponds to a discrete pointer signal.
- PointerSignalResolver
- Mediates disputes over which listener should handle pointer signal events when multiple listeners wish to handle those events.
- PointerUpEvent
- The pointer has stopped making contact with the device.
- PolynomialFit
- An nth degree polynomial fit to a dataset.
- PrimaryPointerGestureRecognizer
- A base class for gesture recognizers that track a single primary pointer.
- SamplingClock
- Class that implements clock used for sampling.
- ScaleEndDetails
- Details for GestureScaleEndCallback.
- ScaleGestureRecognizer
- Recognizes a scale gesture.
- ScaleStartDetails
- Details for GestureScaleStartCallback.
- ScaleUpdateDetails
- Details for GestureScaleUpdateCallback.
- SerialTapCancelDetails
- Details for GestureSerialTapCancelCallback, such as the tap count within the series.
- SerialTapDownDetails
- Details for GestureSerialTapDownCallback, such as the tap count within the series.
- SerialTapGestureRecognizer
- Recognizes serial taps (taps in a series).
- SerialTapUpDetails
- Details for GestureSerialTapUpCallback, such as the tap count within the series.
- TapAndDragGestureRecognizer
- Recognizes taps along with both horizontal and vertical movement.
- TapAndHorizontalDragGestureRecognizer
- Recognizes taps along with movement in the horizontal direction.
- TapAndPanGestureRecognizer
- Recognizes taps along with both horizontal and vertical movement.
- TapDownDetails
- Details for GestureTapDownCallback, such as position.
- TapDragDownDetails
- Details for GestureTapDragDownCallback, such as the number of consecutive taps.
- TapDragEndDetails
- Details for GestureTapDragEndCallback, such as the number of consecutive taps.
- TapDragStartDetails
- Details for GestureTapDragStartCallback, such as the number of consecutive taps.
- TapDragUpdateDetails
- Details for GestureTapDragUpdateCallback, such as the number of consecutive taps.
- TapDragUpDetails
- Details for GestureTapDragUpCallback, such as the number of consecutive taps.
- TapGestureRecognizer
- Recognizes taps.
- TapUpDetails
- Details for GestureTapUpCallback, such as position.
- Velocity
- A velocity in two dimensions.
- VelocityEstimate
- A two dimensional velocity estimate.
- VelocityTracker
- Computes a pointer's velocity based on data from PointerMoveEvents.
- VerticalDragGestureRecognizer
- Recognizes movement in the vertical direction.
- VerticalMultiDragGestureRecognizer
- Recognizes movement in the vertical direction on a per-pointer basis.
Enums
- DragStartBehavior
- Configuration of offset passed to DragStartDetails.
- GestureDisposition
- Whether the gesture was accepted or rejected.
- GestureRecognizerState
- The possible states of a PrimaryPointerGestureRecognizer.
- MultitouchDragStrategy
- Configuration of multi-finger drag strategy on multi-touch devices.
- PointerDeviceKind
- The kind of pointer device.
Mixins
- GestureBinding
- A binding for the gesture subsystem.
Constants
- kBackMouseButton → const int
- The bit of PointerEvent.buttons that corresponds to the back mouse button.
- kDefaultMouseScrollToScaleFactor → const double
- The default conversion factor when treating mouse scrolling as scaling.
- kDefaultTrackpadScrollToScaleFactor → const Offset
- The default conversion factor when treating trackpad scrolling as scaling.
- kDoubleTapMinTime → const Duration
- The minimum time from the end of the first tap to the start of the second tap in a double-tap gesture.
- kDoubleTapSlop → const double
- Distance between the initial position of the first touch and the start position of a potential second touch for the second touch to be considered the second touch of a double-tap gesture.
- kDoubleTapTimeout → const Duration
- The maximum time from the start of the first tap to the start of the second tap in a double-tap gesture.
- kDoubleTapTouchSlop → const double
- The maximum distance that the first touch in a double-tap gesture can travel before deciding that it is not part of a double-tap gesture. DoubleTapGestureRecognizer also restricts the second touch to this distance.
- kForwardMouseButton → const int
- The bit of PointerEvent.buttons that corresponds to the forward mouse button.
- kHoverTapSlop → const double
- Maximum distance between the down and up pointers for a tap. (Currently not honored by the TapGestureRecognizer; PrimaryPointerGestureRecognizer, which TapGestureRecognizer inherits from, uses kTouchSlop.)
- kHoverTapTimeout → const Duration
- Maximum length of time between a tap down and a tap up for the gesture to be considered a tap. (Currently not honored by the TapGestureRecognizer.)
- kJumpTapTimeout → const Duration
- The maximum time from the start of the first tap to the start of the second tap in a jump-tap gesture.
- kLongPressTimeout → const Duration
- The time before a long press gesture attempts to win.
- kMaxFlingVelocity → const double
- Drag gesture fling velocities are clipped to this value.
- kMiddleMouseButton → const int
- The bit of PointerEvent.buttons that corresponds to the middle mouse button.
- kMinFlingVelocity → const double
- The minimum velocity for a touch to consider that touch to trigger a fling gesture.
- kPagingTouchSlop → const double
- The distance a touch has to travel for the framework to be confident that the gesture is a paging gesture. (Currently not used, because paging uses a regular drag gesture, which uses kTouchSlop.)
- kPanSlop → const double
- The distance a touch has to travel for the framework to be confident that the gesture is a panning gesture.
- kPrecisePointerHitSlop → const double
- Like kTouchSlop, but for more precise pointers like mice and trackpads.
- kPrecisePointerPanSlop → const double
- Like kPanSlop, but for more precise pointers like mice and trackpads.
- kPrecisePointerScaleSlop → const double
- Like kScaleSlop, but for more precise pointers like mice and trackpads.
- kPressTimeout → const Duration
- The time that must elapse before a tap gesture sends onTapDown, if there's any doubt that the gesture is a tap.
- kPrimaryButton → const int
- The bit of PointerEvent.buttons that corresponds to a cross-device behavior of "primary operation".
- kPrimaryMouseButton → const int
- The bit of PointerEvent.buttons that corresponds to the primary mouse button.
- kPrimaryStylusButton → const int
- The bit of PointerEvent.buttons that corresponds to the primary stylus button.
- kScaleSlop → const double
- The distance a touch has to travel for the framework to be confident that the gesture is a scale gesture.
- kSecondaryButton → const int
- The bit of PointerEvent.buttons that corresponds to a cross-device behavior of "secondary operation".
- kSecondaryMouseButton → const int
- The bit of PointerEvent.buttons that corresponds to the secondary mouse button.
- kSecondaryStylusButton → const int
- The bit of PointerEvent.buttons that corresponds to the secondary stylus button.
- kStylusContact → const int
- The bit of PointerEvent.buttons that corresponds to when a stylus contacting the screen.
- kTertiaryButton → const int
- The bit of PointerEvent.buttons that corresponds to a cross-device behavior of "tertiary operation".
- kTouchContact → const int
- The bit of PointerEvent.buttons that corresponds to the pointer contacting a touch screen.
- kTouchSlop → const double
- The distance a touch has to travel for the framework to be confident that the gesture is a scroll gesture, or, inversely, the maximum distance that a touch can travel before the framework becomes confident that it is not a tap.
- kWindowTouchSlop → const double
- The margin around a dialog, popup menu, or other window-like widget inside which we do not consider a tap to dismiss the widget. (Not currently used.)
- kZoomControlsTimeout → const Duration
- The time for which zoom controls (e.g. in a map interface) are to be displayed on the screen, from the moment they were last requested.
Properties
- debugPrintGestureArenaDiagnostics ↔ bool
-
Prints information about gesture recognizers and gesture arenas.
getter/setter pair
- debugPrintHitTestResults ↔ bool
-
Whether to print the results of each hit test to the console.
getter/setter pair
- debugPrintMouseHoverEvents ↔ bool
-
Whether to print the details of each mouse hover event to the console.
getter/setter pair
- debugPrintRecognizerCallbacksTrace ↔ bool
-
Logs a message every time a gesture recognizer callback is invoked.
getter/setter pair
- debugPrintResamplingMargin ↔ bool
-
Whether to print the resampling margin to the console.
getter/setter pair
Functions
-
computeHitSlop(
PointerDeviceKind kind, DeviceGestureSettings? settings) → double -
Determine the appropriate hit slop pixels based on the
kind
of pointer. -
computePanSlop(
PointerDeviceKind kind, DeviceGestureSettings? settings) → double -
Determine the appropriate pan slop pixels based on the
kind
of pointer. -
computeScaleSlop(
PointerDeviceKind kind) → double -
Determine the appropriate scale slop pixels based on the
kind
of pointer. -
debugAssertAllGesturesVarsUnset(
String reason) → bool - Returns true if none of the gestures library debug variables have been changed.
-
isSingleButton(
int buttons) → bool -
Returns whether
buttons
contains one and only one button. -
nthMouseButton(
int number) → int - The bit of PointerEvent.buttons that corresponds to the nth mouse button.
-
nthStylusButton(
int number) → int - The bit of PointerEvent.buttons that corresponds to the nth stylus button.
-
smallestButton(
int buttons) → int -
Returns the button of
buttons
with the smallest integer.
Typedefs
- AllowedButtonsFilter = bool Function(int buttons)
- Signature for GestureRecognizer.allowedButtonsFilter.
- DevicePixelRatioGetter = double? Function(int viewId)
-
Signature for a callback that returns the device pixel ratio of a
FlutterView identified by the provided
viewId
. - GestureCancelCallback = void Function()
- Signature for when the pointer that previously triggered a GestureTapDragDownCallback did not complete.
- GestureDoubleTapCallback = void Function()
- Signature for callback when the user has tapped the screen at the same location twice in quick succession.
- GestureDragCancelCallback = void Function()
- Signature for when the pointer that previously triggered a GestureDragDownCallback did not complete.
- GestureDragDownCallback = void Function(DragDownDetails details)
- Signature for when a pointer has contacted the screen and might begin to move.
- GestureDragEndCallback = void Function(DragEndDetails details)
- Signature for when a pointer that was previously in contact with the screen and moving is no longer in contact with the screen.
- GestureDragStartCallback = void Function(DragStartDetails details)
- Signature for when a pointer has contacted the screen and has begun to move.
- GestureDragUpdateCallback = void Function(DragUpdateDetails details)
- Signature for when a pointer that is in contact with the screen and moving has moved again.
- GestureForceInterpolation = double Function(double pressureMin, double pressureMax, double pressure)
-
Signature used by ForcePressGestureRecognizer for interpolating the raw
device pressure to a value in the range
[0, 1]
given the device's pressure min and pressure max. - GestureForcePressEndCallback = void Function(ForcePressDetails details)
- Signature for when the pointer that previously triggered a ForcePressGestureRecognizer.onStart callback is no longer in contact with the screen.
- GestureForcePressPeakCallback = void Function(ForcePressDetails details)
- Signature used by ForcePressGestureRecognizer for when a pointer that has pressed with at least ForcePressGestureRecognizer.peakPressure.
- GestureForcePressStartCallback = void Function(ForcePressDetails details)
- Signature used by a ForcePressGestureRecognizer for when a pointer has pressed with at least ForcePressGestureRecognizer.startPressure.
- GestureForcePressUpdateCallback = void Function(ForcePressDetails details)
- Signature used by ForcePressGestureRecognizer during the frames after the triggering of a ForcePressGestureRecognizer.onStart callback.
- GestureLongPressCallback = void Function()
- Callback signature for LongPressGestureRecognizer.onLongPress.
- GestureLongPressCancelCallback = void Function()
- Callback signature for LongPressGestureRecognizer.onLongPressCancel.
- GestureLongPressDownCallback = void Function(LongPressDownDetails details)
- Callback signature for LongPressGestureRecognizer.onLongPressDown.
- GestureLongPressEndCallback = void Function(LongPressEndDetails details)
- Callback signature for LongPressGestureRecognizer.onLongPressEnd.
- GestureLongPressMoveUpdateCallback = void Function(LongPressMoveUpdateDetails details)
- Callback signature for LongPressGestureRecognizer.onLongPressMoveUpdate.
- GestureLongPressStartCallback = void Function(LongPressStartDetails details)
- Callback signature for LongPressGestureRecognizer.onLongPressStart.
- GestureLongPressUpCallback = void Function()
- Callback signature for LongPressGestureRecognizer.onLongPressUp.
- GestureMultiDragStartCallback = Drag? Function(Offset position)
- Signature for when MultiDragGestureRecognizer recognizes the start of a drag gesture.
- GestureMultiTapCallback = void Function(int pointer)
- Signature used by MultiTapGestureRecognizer for when a tap has occurred.
- GestureMultiTapCancelCallback = void Function(int pointer)
- Signature for when the pointer that previously triggered a GestureMultiTapDownCallback will not end up causing a tap.
- GestureMultiTapDownCallback = void Function(int pointer, TapDownDetails details)
- Signature used by MultiTapGestureRecognizer for when a pointer that might cause a tap has contacted the screen at a particular location.
- GestureMultiTapUpCallback = void Function(int pointer, TapUpDetails details)
- Signature used by MultiTapGestureRecognizer for when a pointer that will trigger a tap has stopped contacting the screen at a particular location.
- GestureScaleEndCallback = void Function(ScaleEndDetails details)
- Signature for when the pointers are no longer in contact with the screen.
- GestureScaleStartCallback = void Function(ScaleStartDetails details)
- Signature for when the pointers in contact with the screen have established a focal point and initial scale of 1.0.
- GestureScaleUpdateCallback = void Function(ScaleUpdateDetails details)
- Signature for when the pointers in contact with the screen have indicated a new focal point and/or scale.
- GestureSerialTapCancelCallback = void Function(SerialTapCancelDetails details)
- Signature used by SerialTapGestureRecognizer.onSerialTapCancel for when a pointer that previously triggered a GestureSerialTapDownCallback will not end up completing the serial tap.
- GestureSerialTapDownCallback = void Function(SerialTapDownDetails details)
- Signature used by SerialTapGestureRecognizer.onSerialTapDown for when a pointer that might cause a serial tap has contacted the screen at a particular location.
- GestureSerialTapUpCallback = void Function(SerialTapUpDetails details)
- Signature used by SerialTapGestureRecognizer.onSerialTapUp for when a pointer that will trigger a serial tap has stopped contacting the screen.
- GestureTapCallback = void Function()
- Signature for when a tap has occurred.
- GestureTapCancelCallback = void Function()
- Signature for when the pointer that previously triggered a GestureTapDownCallback will not end up causing a tap.
- GestureTapDownCallback = void Function(TapDownDetails details)
- Signature for when a pointer that might cause a tap has contacted the screen.
- GestureTapDragDownCallback = void Function(TapDragDownDetails details)
- Signature for when a pointer that might cause a tap has contacted the screen.
- GestureTapDragEndCallback = void Function(TapDragEndDetails endDetails)
- Signature for when a pointer that was previously in contact with the screen and moving is no longer in contact with the screen.
- GestureTapDragStartCallback = void Function(TapDragStartDetails details)
- Signature for when a pointer has contacted the screen and has begun to move.
- GestureTapDragUpCallback = void Function(TapDragUpDetails details)
- Signature for when a pointer that will trigger a tap has stopped contacting the screen.
- GestureTapDragUpdateCallback = void Function(TapDragUpdateDetails details)
- Signature for when a pointer that is in contact with the screen and moving has moved again.
- GestureTapUpCallback = void Function(TapUpDetails details)
- Signature for when a pointer that will trigger a tap has stopped contacting the screen.
- GestureVelocityTrackerBuilder = VelocityTracker Function(PointerEvent event)
- Signature for a function that builds a VelocityTracker.
- HandleEventCallback = void Function(PointerEvent event)
-
A callback used by PointerEventResampler.sample and
PointerEventResampler.stop to process a resampled
event
. -
InformationCollector
= Iterable<
DiagnosticsNode> Function() - Signature for FlutterErrorDetails.informationCollector callback and other callbacks that collect information describing an error.
- PointerRoute = void Function(PointerEvent event)
- A callback that receives a PointerEvent
- PointerSignalResolvedCallback = void Function(PointerSignalEvent event)
- The callback to register with a PointerSignalResolver to express interest in a pointer signal event.
-
RecognizerCallback<
T> = T Function() - Generic signature for callbacks passed to GestureRecognizer.invokeCallback. This allows the GestureRecognizer.invokeCallback mechanism to be generically used with anonymous functions that return objects of particular types.
- RespondPointerEventCallback = void Function({required bool allowPlatformDefault})
- A function that implements the PointerSignalEvent.respond method.