PointerTracker class
A widget that tracks pointer movements and reports normalized positions.
This widget replaces the previous accelerometer-based implementation and provides similar functionality but using pointer (mouse/touch) input instead. It normalizes pointer positions to a range of -1.0 to 1.0 and applies scaling based on the provided scalar.
When useRelativePosition is true, the widget tracks movement relative to the initial touch position rather than absolute position within the widget bounds.
Use this widget when you need to create effects that respond to pointer movement, such as the rainbow shimmer effect in Foil.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- PointerTracker
Constructors
- PointerTracker.new({Key? key, required bool disabled, required Scalar scalar, required Widget child, required PointerCallback onPositionChange, bool useRelativePosition = true})
-
Creates a PointerTracker widget.
const
Properties
- child → Widget
-
The widget below this widget in the tree.
final
- disabled → bool
-
Whether pointer tracking is disabled.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- onPositionChange → PointerCallback
-
Callback that receives normalized pointer position.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scalar → Scalar
-
Scaling factors to apply to normalized pointer position values.
final
- useRelativePosition → bool
-
Whether to track movement relative to initial touch position.
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → _PointerTrackerState -
Creates the mutable state for this widget at a given location in the tree.
override
-
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
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
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 short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited