RenderBoxyMixin<ChildType extends RenderObject, ParentDataType extends BaseBoxyParentData<ChildType>, ChildHandleType extends BaseBoxyChild> mixin

Base mixin of CustomBoxy's RenderObject logic, this extends InflatingRenderObjectMixin to manage a BaseBoxyDelegate delegate.

This mixin is typically not used directly, instead consider using the CustomBoxy widget.

Superclass Constraints
Implemented types
Mixin Applications

Properties

alwaysNeedsCompositing bool
Whether this render object always needs compositing.
no setteroverride
attached bool
Whether the render tree this render object belongs to is attached to a PipelineOwner.
no setterinherited
childCount int
The number of children.
no setterinherited
childFactory InflatedChildHandleFactory
Factory function that constructs an appropriate InflatedChildHandle based on the the generic type argument.
no setterinherited
childHandleMap Map<Object, ChildHandleType>
A map of ids to child handles for the associated context to manage.
finalinherited
childHandles List<ChildHandleType>
A list of child handles for the associated context to manage.
finalinherited
constraints Constraints
The layout constraints most recently supplied by the parent.
no setterinherited
context InflatingElement
The current element that manages this RenderObject.
no setterinherited
debugCanParentUseSize bool
Whether the parent render object is permitted to use this render object's size.
no setterinherited
debugChildrenNeedingLayout Set<Object>
A set of child ids that need layout.
finalinherited
debugCreator Object?
The object responsible for creating this render object.
getter/setter pairinherited
debugDisposed bool?
Whether this has been disposed.
no setterinherited
debugDoingThisLayout bool
Whether performLayout for this render object is currently running.
no setterinherited
debugDoingThisLayoutWithCallback bool
Whether invokeLayoutCallback for this render object is currently running.
no setterinherited
debugDoingThisPaint bool
Whether paint for this render object is currently running.
no setterinherited
debugDoingThisResize bool
Whether performResize for this render object is currently running.
no setterinherited
debugLayer ContainerLayer?
In debug mode, the compositing layer that this render object uses to repaint.
no setterinherited
debugLayoutParent RenderObject?
The RenderObject that's expected to call layout on this RenderObject in its performLayout implementation.
no setterinherited
debugNeedsCompositedLayerUpdate bool
Whether this render object's layer information is dirty.
no setterinherited
debugNeedsLayout bool
Whether this render object's layout information is dirty.
no setterinherited
debugNeedsPaint bool
Whether this render object's paint information is dirty.
no setterinherited
debugPhase BoxyDelegatePhase
The current phase in the render pipeline that this boxy is performing.
getter/setter pair
debugSemantics SemanticsNode?
The semantics of this render object.
no setterinherited
delegate BaseBoxyDelegate<Object, BaseBoxyChild>
The current delegate of this boxy.
covariantgetter/setter pair
depth int
The depth of this render object in the render tree.
no setterinherited
firstChild → ChildType?
The first child in the child list.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
hitPosition SliverOffset?
The current hit test offset, only valid during hit testing.
getter/setter pair
hitTestResult HitTestResult?
The current hit test result, only valid during hit testing.
no setter
indexedChildCount int
The number of children with an integer id in order.
no setterinherited
isDryLayout bool
Whether this Boxy is currently performing a dry layout.
no setter
isRepaintBoundary bool
Whether this render object repaints separately from its parent.
no setterinherited
lastChild → ChildType?
The last child in the child list.
no setterinherited
layer ContainerLayer?
The compositing layer that this render object uses to repaint.
getter/setter pairinherited
layoutData ↔ dynamic
A variable that can be used by delegate to store data between layout.
getter/setter pair
needsCompositing bool
Whether we or one of our descendants has a compositing layer.
no setterinherited
owner PipelineOwner?
The owner for this render object (null if unattached).
no setterinherited
paintBounds Rect
An estimate of the bounds within which this render object will paint. Useful for debugging flags such as debugPaintLayerBordersEnabled.
no setterinherited
paintingContext PaintingContext?
The current painting context, only valid during paint.
getter/setter pair
paintOffset Offset?
The current paint offset passed to paint, only valid during paint.
getter/setter pair
parent RenderObject?
The parent of this render object in the render tree.
no setterinherited
parentData ParentData?
Data for use by the parent render object.
getter/setter pairinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
semanticBounds Rect
The bounding box, in the local coordinate system, of this object, for accessibility purposes.
no setterinherited
sizedByParent bool
Whether the constraints are the only input to the sizing algorithm (in particular, child nodes have no impact).
no setterinherited

Methods

add(ChildType child) → void
Append child to the end of this render object's child list.
inherited
addAll(List<ChildType>? children) → void
Add all the children to the end of this render object's child list.
inherited
adoptChild(RenderObject child) → void
Called by subclasses when they decide a render object is a child.
inherited
applyPaintTransform(covariant RenderObject child, Matrix4 transform) → void
Applies the transform that would be applied when painting the given child to the given matrix.
override
assembleSemanticsNode(SemanticsNode node, SemanticsConfiguration config, Iterable<SemanticsNode> children) → void
Assemble the SemanticsNode for this RenderObject.
inherited
attach(PipelineOwner owner) → void
Mark this render object as attached to the given owner.
override
childAfter(ChildType child) → ChildType?
The next child after the given child in the child list.
inherited
childBefore(ChildType child) → ChildType?
The previous child before the given child in the child list.
inherited
clearSemantics() → void
Removes all semantics from this render object and its descendants.
inherited
debugAssertDoesMeetConstraints() → void
Verify that the object's constraints are being met. Override this function in a subclass to verify that your state matches the constraints object. This function is only called in checked mode and only when needsLayout is false. If the constraints are not met, it should assert or throw an exception.
inherited
debugDescribeChild(Object id) String
Describes a child managed by this boxy.
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
debugPaint(PaintingContext context, Offset offset) → void
Override this method to paint debugging information.
inherited
debugRegisterRepaintBoundaryPaint({bool includedParent = true, bool includedChild = false}) → void
Called, in debug mode, if isRepaintBoundary is true, when either the this render object or its parent attempt to paint.
inherited
debugResetSize() → void
If a subclass has a "size" (the state controlled by parentUsesSize, whatever it is in the subclass, e.g. the actual size property of RenderBox), and the subclass verifies that in debug mode this "size" property isn't used when debugCanParentUseSize isn't set, then that subclass should override debugResetSize to reapply the current values of debugCanParentUseSize to that state.
inherited
debugThrowLayout(FlutterError error) → void
Throws an error as a result of an incorrect layout phase e.g. calling inflate during a dry layout.
debugValidateChild(RenderObject child) bool
Checks whether the given render object has the correct runtimeType to be a child of this render object.
inherited
defaultChildFactory<T extends ChildHandleType>({required Object id, required InflatingRenderObjectMixin<RenderObject, InflatingParentData<RenderObject>, InflatedChildHandle> parent, RenderObject? render, Widget? widget}) → T
The default childFactory, returns a base InflatedChildHandle for all types.
inherited
describeApproximatePaintClip(covariant RenderObject child) Rect?
Returns a rect in this object's coordinate system that describes the approximate bounding box of the clip rect that would be applied to the given child during the paint phase, if any.
inherited
describeForError(String name, {DiagnosticsTreeStyle style = DiagnosticsTreeStyle.shallow}) DiagnosticsNode
Adds a debug representation of a RenderObject optimized for including in error messages.
inherited
describeSemanticsClip(covariant RenderObject? child) Rect?
Returns a rect in this object's coordinate system that describes which SemanticsNodes produced by the child should be included in the semantics tree. SemanticsNodes from the child that are positioned outside of this rect will be dropped. Child SemanticsNodes that are positioned inside this rect, but outside of describeApproximatePaintClip will be included in the tree marked as hidden. Child SemanticsNodes that are inside of both rect will be included in the tree as regular nodes.
inherited
describeSemanticsConfiguration(SemanticsConfiguration config) → void
Report the semantics of this node, for example for accessibility purposes.
inherited
detach() → void
Mark this render object as detached from its PipelineOwner.
override
dispose() → void
Release any resources held by this render object.
inherited
dropChild(RenderObject child) → void
Called by subclasses when they decide a render object is no longer a child.
inherited
flushInflateQueue() → void
Flushes the inflate queue so that newly inflated child handles become valid.
inherited
getTransformTo(RenderObject? ancestor) Matrix4
Applies the paint transform up the tree to ancestor.
inherited
handleEvent(PointerEvent event, covariant HitTestEntry<HitTestTarget> entry) → void
Override this method to handle pointer events that hit this render object.
inherited
hitTestBoxChild({required RenderBox child, required Offset position, required Matrix4 transform, required bool checkBounds}) bool
Hit tests a RenderBox child at position with a transform.
hitTestSliverChild({required RenderSliver child, required Offset position, required Matrix4 transform, required bool checkBounds}) bool
Hit tests a RenderSliver child at position with a transform.
inflate<T extends InflatedChildHandle>(Widget widget, {Object? id}) → T
Dynamically inflates a widget as a child, should only be called during layout inside performInflatingLayout.
inherited
insert(ChildType child, {ChildType? after}) → void
Insert child into this render object's child list after the given child.
inherited
invokeLayoutCallback<T extends Constraints>(LayoutCallback<T> callback) → void
Allows mutations to be made to this object's child list (and any descendants) as well as to any other dirty nodes in the render tree owned by the same PipelineOwner as this object. The callback argument is invoked synchronously, and the mutations are allowed only during that callback's execution.
inherited
layout(Constraints constraints, {bool parentUsesSize = false}) → void
Compute the layout for this render object.
inherited
markNeedsCompositedLayerUpdate() → void
Mark this render object as having changed a property on its composited layer.
inherited
markNeedsCompositingBitsUpdate() → void
Mark the compositing state for this render object as dirty.
inherited
markNeedsLayout() → void
Mark this render object's layout information as dirty, and either register this object with its PipelineOwner, or defer to the parent, depending on whether this object is a relayout boundary or not respectively.
inherited
markNeedsLayoutForSizedByParentChange() → void
Mark this render object's layout information as dirty (like markNeedsLayout), and additionally also handle any necessary work to handle the case where sizedByParent has changed value.
inherited
markNeedsPaint() → void
Mark this render object as having changed its visual appearance.
inherited
markNeedsSemanticsUpdate() → void
Mark this node as needing an update to its semantics description.
inherited
markParentNeedsLayout() → void
Mark this render object's layout information as dirty, and then defer to the parent.
inherited
move(ChildType child, {ChildType? after}) → void
Move the given child in the child list to be after another child.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyChangedDelegate(BaseBoxyDelegate<Object, BaseBoxyChild> oldDelegate) → void
Marks the object for needing layout, paint, build. or compositing bits update as a result of the delegate changing.
paint(PaintingContext context, Offset offset) → void
Paint this render object into the given context at the given offset.
override
paintsChild(covariant RenderObject child) bool
Whether the given child would be painted if paint were called.
inherited
performInflatingLayout() → void
Override to perform layout where flushInflateQueue can be called to inflate child widgets.
inherited
performLayout() → void
Do the work of computing the layout for this render object.
override
performResize() → void
Updates the render objects size using only the constraints.
inherited
prepareChild(ChildHandleType child) → void
Override to prepare children before layout, setting defaults for example.
override
reassemble() → void
Cause the entire subtree rooted at the given RenderObject to be marked dirty for layout, paint, etc, so that the effects of a hot reload can be seen, or so that the effect of changing a global debug flag (such as debugPaintSizeEnabled) can be applied.
inherited
redepthChild(RenderObject child) → void
Adjust the depth of the given child to be greater than this node's own depth.
inherited
redepthChildren() → void
Adjust the depth of this node's children, if any.
inherited
remove(ChildType child) → void
Remove this child from the child list.
inherited
removeAll() → void
Remove all their children from this render object's child list.
inherited
replaceRootLayer(OffsetLayer rootLayer) → void
Replace the layer. This is only valid for the root of a render object subtree (whatever object scheduleInitialPaint was called on).
inherited
scheduleInitialLayout() → void
Bootstrap the rendering pipeline by scheduling the very first layout.
inherited
scheduleInitialPaint(ContainerLayer rootLayer) → void
Bootstrap the rendering pipeline by scheduling the very first paint.
inherited
scheduleInitialSemantics() → void
Bootstrap the semantics reporting mechanism by marking this node as needing a semantics update.
inherited
sendSemanticsEvent(SemanticsEvent semanticsEvent) → void
Sends a SemanticsEvent associated with this render object's SemanticsNode.
inherited
setupParentData(covariant RenderObject child) → void
Override to setup parent data correctly for your children.
inherited
showOnScreen({RenderObject? descendant, Rect? rect, Duration duration = Duration.zero, Curve curve = Curves.ease}) → void
Attempt to make (a portion of) this or a descendant RenderObject visible on screen.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines = '', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a description of the tree rooted at this node. If the prefix argument is provided, then every line in the output will be prefixed by that string.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the render object. This description is often somewhat long.
inherited
toStringShort() String
Returns a human understandable name.
inherited
unwrapOffset(double cross, double main, Size size) Offset
Gets the offset at the specified cross and main axis extents.
updateChildHandles({bool doingLayout = false}) → void
Ensures childHandles and childHandleMap are ready to use outside of performLayout, useful for calculating intrinsic sizes.
inherited
updateCompositedLayer({required covariant OffsetLayer? oldLayer}) OffsetLayer
Update the composited layer owned by this render object.
inherited
visitChildren(RenderObjectVisitor visitor) → void
Calls visitor for each immediate child of this render object.
inherited
visitChildrenForSemantics(RenderObjectVisitor visitor) → void
Called when collecting the semantics of this node.
override
wrapOffset(Offset offset, Size size) SliverOffset
Wraps an Offset into a SliverOffset using the sliver constraints of this boxy.
wrapPhase<T>(BoxyDelegatePhase phase, T func()) → T
Wraps func with a new debugPhase.
wrapSize(Size size) SliverSize
Wraps a Size into a SliverSize using the sliver constraints of this boxy.

Operators

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