StageData class
Constructors
StageData ({Key ? key , required OriginRect origin , required OriginRect ? originContainer , required OriginRect display , required OriginRect ? displayContainer , required double aspectRatio , required ValueNotifier <Rect > rect , required ValueNotifier <Rect > crop , required bool interacting , required bool openingOrDismissing , required ValueNotifier <Rotation ? > rotation , required ValueNotifier <double > originToBaseProgress , required Widget ? widget , required ValueSetter <Widget ? > setWidget , required double ? perspective , required Color ? backgroundColor , required StageBuilder ? gestureBuilder , required OnRelease ? onRelease , required Overrides ? overrides , required DragHybrid ? dragHybridFromStage , required ScaleHybrid ? scaleHybridFromStage , required OriginGesture ? originGesture (), required ValueSetter <OriginGesture ? > setOriginGesture , required ValueSetter <Map <int , Offset > > setOriginPointers , required DisplayConfig ? displayConfig (), required bool isHybridDriving (), required int stagePointerCount (), required ({double scaleVelocity , Velocity velocity } )? hybridReleaseVelocity (), required double ? scaleVelocityCancel (), required FutureOr <void > onEnd ()?, required Object ? tag , required bool locked , required bool dismissing , required bool changingMode , required ValueListenable <double > transitionProgressMin , required ValueListenable <double > transitionProgressMean , required ValueListenable <double > transitionProgressMax , required Map <Object , TagState > tagStates , required ValueNotifier <OriginRect ? > container , required ValueSetter <OriginRect > setOrigin , required ValueSetter <OriginRect ? > setOriginContainer , required ValueSetter <OriginRect > setDisplay , required ValueSetter <OriginRect ? > setDisplayContainer , required ValueSetter <double > setAspectRatio , required ValueSetter <double ? > setPerspective , required ValueSetter <Color ? > setBackgroundColor , required ValueSetter <StageBuilder ? > setGestureBuilder , required ValueSetter <DisplayConfig ? > setDisplayConfig , required void setOriginConfig ({StageBuilder ? builder , DisplayConfig ? defaults , OriginRect ? display , OriginRect ? displayContainer , Map <Object , DisplayConfig > ? modes , WidgetBuilder ? overlay , OriginRect ? screen }), required ValueSetter <Object ? > setMode , required ValueSetter <FutureOr <void > Function() ? > setOnEnd , required ValueSetter <Object ? > setTag , required ValueSetter <bool > setLocked , required ValueSetter <Rect > setRect , required AnimateRect animateRect , required AnimateRect animateCrop , required Future <void > animateCenterX ({Curve curve , Duration ? duration , required double to }), required Future <void > animateCenterY ({Curve curve , Duration ? duration , required double to }), required Future <void > animateWidth ({Curve curve , Duration ? duration , double ? height , required double to }), required void setReleaseDecomposed ({required Offset displayCenter , required double initialWidth , required double initialX , required double initialY }), required VoidCallback clearReleaseDecomposed , required VoidCallback reset , required Future <void > animateToBase (), required Future <void > dismiss ({Object ? except , Settle ? settle , Object ? tag }), required void displace (Object tag , {bool park , required Object target }), required void releaseSend (Object tag ), required Future <void > runEffect ({Curve curve , Duration duration , double ? perspective , double ? rotateX , double ? rotateY , double ? rotateZ }), required void register (Object tag , OriginEntry entry ), required void unregister (Object tag , OriginEntry entry ), required OriginRect ? measureEntry (Object tag ), required Widget ? captureEntry (Object tag ), required Future <void > openEntry (Object tag ), required Future <void > sendEntry (Object tag , Rect (Rect ), {VoidCallback ? onEnd }), required Widget child })
const
Properties
animateCenterX
→ Future <void > Function({Curve curve , Duration ? duration , required double to })
final
animateCenterY
→ Future <void > Function({Curve curve , Duration ? duration , required double to })
final
animateCrop
→ AnimateRect
Animates crop from its current value to the given rect. Used for
reset transitions and other places that want a smooth crop-rect change
instead of an instant stage.crop.value = newRect assignment.
final
animateRect
→ AnimateRect
final
animateToBase
→ Future <void > Function()
final
animateWidth
→ Future <void > Function({Curve curve , Duration ? duration , double ? height , required double to })
final
aspectRatio
→ double
final
backgroundColor
→ Color ?
final
captureEntry
→ Widget ? Function(Object tag )
final
changingMode
→ bool
True while setMode is animating its rect/crop transition. Use to
gate mode-transition fades without firing on user interaction.
final
child
→ Widget
The widget below this widget in the tree.
final inherited
clearReleaseDecomposed
→ VoidCallback
final
container
→ ValueNotifier <OriginRect ? >
final
crop
→ ValueNotifier <Rect >
Live crop rect, seeded from CropConfig.initialRect when a crop mode
activates and mutated by Stage's recognizer (1-pointer drag inside the
rect) or the Cropper widget's handles. Consumers read it (e.g. on
apply) via Stage.of(context).crop.value. Reset to Rect.zero when
no crop mode is active.
final
dismiss
→ Future <void > Function({Object ? except , Settle ? settle , Object ? tag })
final
dismissing
→ bool
final
displace
→ void Function(Object tag , {bool park , required Object target })
final
display
→ OriginRect
final
displayConfig
→ DisplayConfig ? Function()
Live reader: the currently-active DisplayConfig (the displayed
origin's, merged with any active mode override). Null when no origin
is displayed. Tools (e.g., Cropper ) read this to check whether they
should be active in the current state.
final
displayContainer
→ OriginRect ?
final
dragHybridFromStage
→ DragHybrid ?
Stage-level cascade fallback for hybrid pointer routing. Resolved last
before DragHybrid.lock / ScaleHybrid.lock .
final
gestureBuilder
→ StageBuilder ?
final
hashCode
→ int
The hash code for this object.
no setter inherited
hybridReleaseVelocity
→ ({double scaleVelocity , Velocity velocity } )? Function()
Live reader: the hybrid merger's combined release velocity computed
from its last two focal/spread samples. Returns null if the merger
didn't run recently — callers should fall back to the firing
recognizer's own ScaleEndDetails.velocity.
final
interacting
→ bool
True while Stage's recognizer holds > 0 pointers. A coarse x vs 0 pointers signal — read via Stage.isInteractingOf for tag-aware access
(which folds in a check that the queried tag is the active stage tag).
Independent of which gesture committed in arena.
final
isHybridDriving
→ bool Function()
Live reader: true while Stage's hybrid merger is driving the rect.
Origin reads this to silence its own rect manipulation while Stage is
in control.
final
key
→ Key ?
Controls how one widget replaces another widget in the tree.
final inherited
locked
→ bool
final
measureEntry
→ OriginRect ? Function(Object tag )
final
onEnd
→ FutureOr <void > Function() ?
final
onRelease
→ OnRelease ?
final
openEntry
→ Future <void > Function(Object tag )
final
openingOrDismissing
→ bool
True during an open (Stage.animateToBase) or dismiss (Stage.dismiss)
animation. Release rubber-back / settle paths don't touch this. Used
by crop-mode chrome to fade only during real open/dismiss and stay
solid through interaction + settle.
final
origin
→ OriginRect
final
originContainer
→ OriginRect ?
final
originGesture
→ OriginGesture ? Function()
Live reader: currently-in-flight Origin gesture (drag or scale on an
un-displayed item), with its hybrid mode partially resolved up to
Origin's level. Stage uses this to decide what to do with new pointers
landing in stage-area regions while the Origin is gesturing. Null when
no Origin is gesturing.
final
originToBaseProgress
→ ValueNotifier <double >
final
overrides
→ Overrides ?
final
perspective
→ double ?
final
rect
→ ValueNotifier <Rect >
final
register
→ void Function(Object tag , OriginEntry entry )
final
releaseSend
→ void Function(Object tag )
final
reset
→ VoidCallback
final
rotation
→ ValueNotifier <Rotation ? >
final
runEffect
→ Future <void > Function({Curve curve , Duration duration , double ? perspective , double ? rotateX , double ? rotateY , double ? rotateZ })
final
runtimeType
→ Type
A representation of the runtime type of the object.
no setter inherited
scaleHybridFromStage
→ ScaleHybrid ?
final
scaleVelocityCancel
→ double ? Function()
Live reader: Stage-level scaleVelocityCancel (raw nullable), the
bottom of the cascade before the package default of 0.5. Callers
resolve gesture > Origin/DisplayConfig > this > 0.5.
final
sendEntry
→ Future <void > Function(Object tag , Rect (Rect ), {VoidCallback ? onEnd })
final
setAspectRatio
→ ValueSetter <double >
final
setBackgroundColor
→ ValueSetter <Color ? >
final
setDisplay
→ ValueSetter <OriginRect >
final
setDisplayConfig
→ ValueSetter <DisplayConfig ? >
final
setDisplayContainer
→ ValueSetter <OriginRect ? >
final
setGestureBuilder
→ ValueSetter <StageBuilder ? >
final
setLocked
→ ValueSetter <bool >
final
setMode
→ ValueSetter <Object ? >
Switches the active mode for the currently-displayed origin. Looks
the key up in the origin's modes map (registered via
setOriginConfig ), merges with the origin's default config, and
swaps displayConfig . Passing null returns to the default config.
final
setOnEnd
→ ValueSetter <FutureOr <void > Function() ? >
final
setOrigin
→ ValueSetter <OriginRect >
final
setOriginConfig
→ void Function({StageBuilder ? builder , DisplayConfig ? defaults , OriginRect ? display , OriginRect ? displayContainer , Map <Object , DisplayConfig > ? modes , WidgetBuilder ? overlay , OriginRect ? screen })
Registers the active origin's mode lookup so setMode can resolve a
key into a merged DisplayConfig . Origin calls this in its _setup.
Also carries Origin-level cascade fallbacks (e.g. overlay, display
rect overrides) that Stage merges with the active DisplayConfig.
final
setOriginContainer
→ ValueSetter <OriginRect ? >
final
setOriginGesture
→ ValueSetter <OriginGesture ? >
final
setOriginPointers
→ ValueSetter <Map <int , Offset > >
Origin forwards its recognizer's pointerPositions here whenever they
change. Stage merges with its own recognizer's positions to drive the
hybrid gesture math.
final
setPerspective
→ ValueSetter <double ? >
final
setRect
→ ValueSetter <Rect >
final
setReleaseDecomposed
→ void Function({required Offset displayCenter , required double initialWidth , required double initialX , required double initialY })
Enters decomposed-release mode: while active, the X/Y tweens are
interpreted as offsets from the proportional scale-driven position.
Lets the three axes animate with independent curves/durations while
the displayed center stays consistent mid-frame.
final
setTag
→ ValueSetter <Object ? >
final
setWidget
→ ValueSetter <Widget ? >
final
stagePointerCount
→ int Function()
Live reader: count of stage's recognizer pointers. Origin reads this to
decide whether to defer release until stage's pointers also leave.
final
tag
→ Object ?
final
tagStates
→ Map <Object , TagState >
final
transitionProgressMax
→ ValueListenable <double >
final
transitionProgressMean
→ ValueListenable <double >
final
transitionProgressMin
→ ValueListenable <double >
Progress 0..1 derived from the four rect/crop animation
controllers, gated by openingOrDismissing || changingMode so
release/settle don't move it. Three aggregations exposed —
consumer picks based on desired fade timing:
final
unregister
→ void Function(Object tag , OriginEntry entry )
final
widget
→ Widget ?
final
Methods
backToBase ()
→ Future <void >
backToOrigin (ReleaseContext data , {Object ? except })
→ Future <void >
createElement ()
→ InheritedModelElement <Object >
Inflates this configuration to a concrete instance.
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
isSupportedAspect (Object aspect )
→ bool
Returns true if this model supports the given aspect.
inherited
noSuchMethod (Invocation invocation )
→ dynamic
Invoked when a nonexistent method or property is accessed.
inherited
release (Release plan )
→ Future <void >
run ({List <AxisFling > ? x , List <AxisFling > ? y , List <AxisFling > ? scale })
→ Future <void >
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
updateShouldNotify (covariant StageData oldWidget )
→ bool
Whether the framework should notify widgets that inherit from this widget.
override
updateShouldNotifyDependent (covariant StageData oldWidget , Set <Object > dependencies )
→ bool
Return true if the changes between this model and oldWidget match any
of the dependencies.
override