TooltipMultiPlacementDelegate class

Multi-content placement: the primary tooltip plus every extra slot of a step, each placed by the shared placeTooltip core — a slot avoids the spotlighted targets AND the already-placed tooltips, so several tooltips around one target never overlap.

Children are LayoutId-wrapped: the primary under primaryId, extras under extraId in order. Placement order matters: the primary first (its side wins the fight for the free space), then the extras one by one (each avoids what is already placed).

Inheritance

Constructors

TooltipMultiPlacementDelegate({required Rect screenLocal, required Rect holeLocal, required TooltipPosition primaryPosition, required List<TooltipPosition> extraPositions, double gap = _kGap, EdgeInsets safeArea = EdgeInsets.zero, List<Rect> extraHoles = const []})

Properties

extraHoles → List<Rect>
Spotlighted targets of the step besides the primary hole: no slot may cover them.
final
extraPositions → List<TooltipPosition>
Preferred sides of the extra slots, in order (index == extraId).
final
gap → double
final
hashCode → int
The hash code for this object.
no setterinherited
holeLocal → Rect
final
primaryPosition → TooltipPosition
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
safeArea → EdgeInsets
final
screenLocal → Rect
final

Methods

getSize(BoxConstraints constraints) → Size
The box is the screen (same as the single-tooltip path — tooltip buttons are hit-testable anywhere on screen, taps past the tooltips fall through onto the scrim).
override
hasChild(Object childId) → bool
True if a non-null LayoutChild was provided for the specified id.
inherited
layoutChild(Object childId, BoxConstraints constraints) → Size
Ask the child to update its layout within the limits specified by the constraints parameter. The child's size is returned.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
performLayout(Size size) → void
Override this method to lay out and position all children given this widget's size.
override
positionChild(Object childId, Offset offset) → void
Specify the child's origin relative to this origin.
inherited
shouldRelayout(covariant TooltipMultiPlacementDelegate oldDelegate) → bool
Override this method to return true when the children need to be laid out.
override
toString() → String
Override this method to include additional information in the debugging data printed by debugDumpRenderTree and friends.
inherited

Operators

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

Static Methods

extraId(int index) → String
Layout id of the extra slot with index.

Constants

primaryId → const String
Layout id of the primary tooltip child.