BaseBoxyDelegate<LayoutData extends Object, ChildHandleType extends BaseBoxyChild> class abstract

Base class for delegates that control the layout and paint of multiple children.

This class is typically not used directly, instead consider using BoxyDelegate with a CustomBoxy widget.

See also:

Implementers

Constructors

BaseBoxyDelegate({Listenable? relayout, Listenable? repaint})
Constructs a BaseBoxyDelegate with optional relayout and repaint Listenables.

Properties

buildContext → BuildContext
Gets the BuildContext of this boxy.
no setter
canvas → Canvas
The current canvas, should only be accessed from paint methods.
no setter
children → List<ChildHandleType>
A list of each BoxyChild handle associated with the boxy, the list itself should not be modified by the delegate.
no setter
childrenForSemantics → Iterable<ChildHandleType>
An iterable of children to be visited for semantics, in paint order, skipping children that are not semantically relevant.
no setter
constraints → Constraints
The most recent constraints given to this boxy by its parent.
no setter
debugPhase → BoxyDelegatePhase
The current phase in the render pipeline that this boxy is performing, only valid in debug mode.
no setter
hashCode → int
The hash code for this object.
no setterinherited
hitTestResult → HitTestResult
The current hit test result, should only be accessed from hitTest.
no setter
indexedChildCount → int
The number of children that have not been given a BoxyId, this guarantees there are child ids between 0 (inclusive) and indexedChildCount (exclusive).
no setter
layers → BoxyLayerContext
The current layer context, useful for pushing Layers to the scene during paintChildren.
no setter
layoutData ↔ LayoutData?
A variable to hold additional data created during layout which can be used while painting and hit testing.
getter/setter pair
needsCompositing → bool
Override this method to return true if the paint method will push one or more layers to paintingContext.
no setter
paintingContext → PaintingContext
The current painting context, should only be accessed from paint methods.
no setter
paintOffset → Offset
The offset of the current paint context.
no setter
render → RenderBoxyMixin<RenderObject, BaseBoxyParentData<RenderObject>, ChildHandleType>
The RenderBoxyMixin of the current context.
no setter
renderSize → Size
The last size returned by layout.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

addHit() → void
Adds the boxy to hitTestResult, this should typically be called from hitTest when a hit succeeds.
getChild<T extends ChildHandleType>(Object id) → T
Gets the child handle with the specified id.
getChildOrNull<T extends ChildHandleType>(Object id) → T?
Gets the child handle with the specified id or returns null if there is no child with given id.
hasChild(Object id) → bool
Returns true if a child exists with the specified id.
hitTest(SliverOffset position) → bool
Override this method to change how the boxy gets hit tested.
inflate<T extends ChildHandleType>(Widget widget, {Object? id}) → T
Dynamically inflates a widget as a child of this boxy, should only be called in BoxyChild.layout.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onPointerEvent(PointerEvent event, covariant HitTestEntry<HitTestTarget> entry) → void
Override to handle pointer events that hit this boxy.
paint() → void
Override this method to paint below children.
paintChildren() → void
Override this method to change how children get painted.
paintForeground() → void
Override this method to paint above children.
paintLayer(ContainerLayer layer, {VoidCallback? painter, Offset? offset, Rect? debugBounds}) → void
Paints a ContainerLayer compositing layer in the current painting context with an optional painter callback, this should only be called in paintChildren.
shouldRelayout(covariant BaseBoxyDelegate<Object, BaseBoxyChild> oldDelegate) → bool
Override this method to return true when the children need to be laid out.
shouldRepaint(covariant BaseBoxyDelegate<Object, BaseBoxyChild> oldDelegate) → bool
Override this method to return true when the children need to be repainted.
toString() → String
Override this method to include additional information in the debugging data printed by debugDumpRenderTree and friends.
override

Operators

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