InteractiveState class abstract

The state of the interactive layer.

This abstract class defines the interface for different states that the InteractiveLayer can be in. It allows the interactive layer to change its behavior dynamically by switching between different states.

There are three main states implemented:

Each state handles user interactions (tap, pan events) differently and can transition to other states using InteractiveLayerBase.updateStateTo.

Implementers
Available extensions

Constructors

InteractiveState({required InteractiveLayerBehaviour interactiveLayerBehaviour})
Initializes the state with the interactive layer.

Properties

epochFromX EpochFromX
Converts x coordinate (in pixels) to epoch timestamp.
no setter
epochToX EpochToX
Converts epoch timestamp to x coordinate (in pixels).
no setter
hashCode int
The hash code for this object.
no setterinherited
interactiveLayer → InteractiveLayerBase
The interactive layer that owns this state.
no setter
interactiveLayerBehaviour InteractiveLayerBehaviour
The interactive layer.
final
previewDrawings List<DrawingV2>
Additional drawings of the state to be drawn on top of the main drawings.
no setter
previewWidgets List<Widget>
Additional widgets to be rendered on top of the interactive layer.
no setter
quoteFromY QuoteFromY
Converts y coordinate (in pixels) to quote value.
no setter
quoteToY QuoteFromY
Converts quote value to y coordinate (in pixels).
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

anyDrawingHit(Offset hitOffset) InteractableDrawing<DrawingToolConfig>?

Available on InteractiveState, provided by the InteractiveStateExtension extension

Returns the drawing that was hit by the tap event. Returns null if no drawing was hit.
getToolState(DrawingV2 drawing) Set<DrawingToolState>
Returns the state of the drawing tool.
getToolZOrder(DrawingV2 drawing) → DrawingZOrder
Returns the z-order for the tool drawings.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onHover(PointerHoverEvent event) bool
Handles hover event. Returns true if the hover is over a drawing tool, false otherwise.
onLongPress(Offset localPosition) bool
Handles long press event. Returns true if the long press was handled by a drawing tool, false otherwise.
onLongPressEnd() bool
Handles long press end event. Returns true if the long press end was handled by a drawing tool, false otherwise.
onPanEnd(DragEndDetails details) bool
Handles pan end event. Returns true if the pan end is affecting a drawing tool, false otherwise.
onPanStart(DragStartDetails details) bool
Handles pan start event. Returns true if the pan was started on a drawing tool, false otherwise.
onPanUpdate(DragUpdateDetails details) bool
Handles pan update event. Returns true if the pan update is affecting a drawing tool, false otherwise.
onTap(TapUpDetails details) bool
Handles tap event. Returns true if the tap was handled by a drawing tool, false otherwise.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited