TooltipTailPainter class
Paints the tail as part of the tooltip surface.
The tooltip's global position is read at paint time from positionKey (the tooltip's render object): by then layout is final, so the geometry always matches the actual placement — no snapshot, no canvas-matrix introspection (which would be polluted by the device pixel ratio).
The hole is read live from holeOf at paint time: the tooltip content is cached across movement frames (see overlay_engine), so a painted-with-stale-hole tail would keep pointing at the target's old position while the scrim/tooltip follow it. Repainting is driven by the tooltip's own repaint on movement (layout offset change → paint) — the painter then reads both the current tooltip position and the current hole.
- Inheritance
-
- Object
- Listenable
- CustomPainter
- TooltipTailPainter
Constructors
-
TooltipTailPainter({required GlobalKey<
State< positionKey, required Rect holeOf(), required Color color, double tailLength = _kTailLength, double tailWidth = _kTailWidth})StatefulWidget> >
Properties
- color → Color
-
Filled with the tooltip's background color — the tail looks like part
of the same surface.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- holeOf → Rect Function()
-
The target (scrim hole) rect in global overlay coordinates, resolved at
paint time (the hole moves with the target on scroll).
final
-
positionKey
→ GlobalKey<
State< StatefulWidget> > -
Key of the tooltip's render object (the painter's child subtree) — the
source of the tooltip's global position.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- semanticsBuilder → SemanticsBuilderCallback?
-
Returns a function that builds semantic information for the picture drawn
by this painter.
no setterinherited
- tailLength → double
-
final
- tailWidth → double
-
final
Methods
-
addListener(
VoidCallback listener) → void -
Register a closure to be notified when it is time to repaint.
inherited
-
hitTest(
Offset position) → bool? -
Called whenever a hit test is being performed on an object that is using
this custom paint delegate.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
paint(
Canvas canvas, Size size) → void -
Called whenever the object needs to paint. The given Canvas has its
coordinate space configured such that the origin is at the top left of the
box. The area of the box is the size of the
sizeargument.override -
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that the
object notifies when it is time to repaint.
inherited
-
shouldRebuildSemantics(
covariant CustomPainter oldDelegate) → bool -
Called whenever a new instance of the custom painter delegate class is
provided to the RenderCustomPaint object, or any time that a new
CustomPaint object is created with a new instance of the custom painter
delegate class (which amounts to the same thing, because the latter is
implemented in terms of the former).
inherited
-
shouldRepaint(
covariant TooltipTailPainter oldDelegate) → bool -
Called whenever a new instance of the custom painter delegate class is
provided to the RenderCustomPaint object, or any time that a new
CustomPaint object is created with a new instance of the custom painter
delegate class (which amounts to the same thing, because the latter is
implemented in terms of the former).
override
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited