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.