ForcePressGestureRecognizer class Null safety

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

Constructors

ForcePressGestureRecognizer({double startPressure = 0.4, double peakPressure = 0.85, GestureForceInterpolation interpolation = _inverseLerp, Object? debugOwner, @Deprecated('Migrate to supportedDevices. ' 'This feature was deprecated after v2.3.0-1.0.pre.') PointerDeviceKind? kind, Set<PointerDeviceKind>? supportedDevices})
Creates a force press gesture recognizer.

Properties

debugDescription String
Returns a very short pretty description of the gesture that the recognizer looks for, like 'tap' or 'horizontal drag'.
read-onlyoverride
debugOwner Object?
The recognizer's owner.
finalinherited
gestureSettings DeviceGestureSettings?
Optional device specific configuration for device gestures that will take precedence over framework defaults.
read / writeinherited
hashCode int
The hash code for this object.
read-onlyinherited
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.
read / write
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).
read / write
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.
read / write
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.
read / write
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.
read-onlyinherited
startPressure double
The pressure of the press required to initiate a force press.
final
team GestureArenaTeam?
The team that this recognizer belongs to, if any.
read / writeinherited

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.
protected">@protectedinherited
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.
protected">@protectedinherited
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.
protected">@protectedinherited
handleNonAllowedPointerPanZoom(PointerPanZoomStartEvent event) → void
Handles a pointer pan/zoom being added that's not allowed by this recognizer.
protected">@protectedinherited
invokeCallback<T>(String name, RecognizerCallback<T> callback, {String debugReport()?}) → T?
Invoke a callback provided by the application, catching and logging any exceptions.
protected">@protectedinherited
isPointerAllowed(PointerDownEvent event) bool
Checks whether or not a pointer is allowed to be tracked by this recognizer.
protected">@protectedinherited
isPointerPanZoomAllowed(PointerPanZoomStartEvent event) bool
Checks whether or not a pointer pan/zoom is allowed to be tracked by this recognizer.
protected">@protectedinherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent 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.
mustCallSuper">@mustCallSuperprotected">@protectedinherited
resolvePointer(int pointer, GestureDisposition disposition) → void
Resolves this recognizer's participation in the given gesture arena with the given disposition.
mustCallSuper">@mustCallSuperprotected">@protectedinherited
startTrackingPointer(int pointer, [Matrix4? transform]) → void
Causes events related to the given pointer ID to be routed to this recognizer.
protected">@protectedinherited
stopTrackingIfPointerNoLongerDown(PointerEvent event) → void
Stops tracking the pointer associated with the given event if the event is a PointerUpEvent or a PointerCancelEvent event.
protected">@protectedinherited
stopTrackingPointer(int pointer) → void
Stops events related to the given pointer ID from being routed to this recognizer.
protected">@protectedinherited
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