DragProbe<TKey> class

The session's resolution core: the ONE owner of grab geometry and the ONE site that turns a PointerSample into a TreeDropTarget. Both the per-event pipeline (DragSession.resolve) and endDrag's commit re-resolution go through resolveTarget, so the committed slot is always the slot the feedback showed.

Constructors

DragProbe({required ReorderRenderPort<TKey> renderPort, required DropZoneResolver<TKey> resolver, required TKey draggedKey, required int depthForPointerX(double sliverLocalX)?})

Properties

grabDy → double
Drag-proxy grab geometry, captured once by captureGrab: the pointer's offset within the dragged row (so the floating preview doesn't jump to the pointer) and the row's extent (to size the preview). Read by the public dragProxyGeometry getter and the settler's release-anchor math.
no setter
grabRowExtent → double
no setter
hashCode → int
The hash code for this object.
no setterinherited
probeDy → double
Touch-first probe offset: shifts slot resolution from the raw pointer to the PROXY MIDPOINT, grabRowExtent / 2 - grabDy. On touch there is no visible cursor, so the card in hand is the only thing the user can steer by and selection has to track it. Non-zero only when the caller enables the midpoint probe (make-room plus release-settle, where the anchor IS the visible floating card) and the grab capture succeeded. A session constant, so the whole resolution pipeline simply probes at pointer + probeDy.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

captureGrab({required PointerSample start, required bool midpointProbe}) → void
Captures grab geometry once at session start against the start sample.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
resolveTarget({required PointerSample? sample, required TreeDropTarget<TKey>? previous}) → TreeDropTarget<TKey>?
Finds the live row under the probe via ReorderRenderPort.findRowAtPaintedY and hands classification to the DropZoneResolver. Pending-deletion rows are vanishing and cannot be valid drop targets; the lookup skips them.
toString() → String
A string representation of this object.
inherited

Operators

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