ForcePressGestureRecognizer class
Recognizes a force press on devices that have force sensors.
Only the force from a single pointer is used to invoke events. A tap
recognizer will win against this recognizer on pointer up as long as the
pointer has not pressed with a force greater than
ForcePressGestureRecognizer.startPressure
. A long press recognizer will
win when the press down time exceeds the threshold time as long as the
pointer's pressure was never greater than
ForcePressGestureRecognizer.startPressure
in that duration.
As of November, 2018 iPhone devices of generation 6S and higher have force touch functionality, with the exception of the iPhone XR. In addition, a small handful of Android devices have this functionality as well.
Devices with faux screen pressure sensors like the Pixel 2 and 3 will not send any force press related callbacks.
Reported pressure will always be in the range 0.0 to 1.0, where 1.0 is maximum pressure and 0.0 is minimum pressure. If using a custom interpolation callback, the pressure reported will correspond to that custom curve.
- Inheritance
-
- Object
- GestureArenaMember
- GestureRecognizer
- OneSequenceGestureRecognizer
- ForcePressGestureRecognizer
Constructors
-
ForcePressGestureRecognizer({double startPressure = 0.4, double peakPressure = 0.85, GestureForceInterpolation interpolation = _inverseLerp, Object? debugOwner, Set<
PointerDeviceKind> ? supportedDevices, AllowedButtonsFilter allowedButtonsFilter = _defaultButtonAcceptBehavior}) - Creates a force press gesture recognizer.
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
- interpolation → GestureForceInterpolation
-
The function used to convert the raw device pressure values into a value
in the range 0.0 to 1.0.
final
- onEnd ↔ GestureForcePressEndCallback?
-
A pointer is no longer in contact with the screen.
getter/setter pair
- onPeak ↔ GestureForcePressPeakCallback?
-
A pointer is in contact with the screen and has just pressed with a force
exceeding the peakPressure. This is an arbitrary second level action
threshold and isn't necessarily the maximum possible device pressure
(which is 1.0).
getter/setter pair
- onStart ↔ GestureForcePressStartCallback?
-
A pointer is in contact with the screen and has just pressed with a force
exceeding the startPressure. Consequently, if there were other gesture
detectors, only the force press gesture will be detected and all others
will be rejected.
getter/setter pair
- onUpdate ↔ GestureForcePressUpdateCallback?
-
A pointer is in contact with the screen and is either moving on the plane
of the screen, pressing the screen with varying forces or both
simultaneously.
getter/setter pair
- peakPressure → double
-
The pressure of the press required to peak a force press.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- startPressure → double
-
The pressure of the press required to initiate a force press.
final
-
supportedDevices
↔ Set<
PointerDeviceKind> ? -
The kind of devices that are allowed to be recognized as provided by
supportedDevices
in 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 - team ↔ GestureArenaTeam?
-
The team that this recognizer belongs to, if any.
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
-
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.
inherited
-
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
-
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
-
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, 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