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
-
- Object
- MultiChildLayoutDelegate
- TooltipMultiPlacementDelegate
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