MorphDragController class
Enhanced drag physics controller for morph transitions.
Wraps MorphController to provide:
- Predictive direction-locking (6-sample buffer + 2:1 hysteresis ratio)
- Rubber-band resistance at boundaries (0.3×)
- Velocity dampening (0.85×) to prevent fast swipe overshoots
- Two-axis support (horizontal carousel + vertical morph)
Constructors
- MorphDragController({required MorphController morphController})
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- isHorizontalLocked → bool
-
no setter
- isVerticalLocked → bool
-
no setter
- morphController → MorphController
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onPanCancel(
) → void -
onPanEnd(
DragEndDetails details, {required double availableHeight}) → void -
onPanStart(
DragStartDetails _) → void -
onPanUpdate(
DragUpdateDetails details, {required double availableHeight}) → bool -
Returns
trueif the event was consumed by a vertical morph gesture. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Constants
- lockThreshold → const double
- Raised from 12px to 14px for more deliberate direction locking.
- rubberBandFactor → const double
- Scalar applied to input delta when dragging past a boundary (0–1).