Generic mixin for render objects with one child.

Provides a child model for a render object subclass that has a unique child.

Implements
  • RenderObject

Constructors

RenderObjectWithChildMixin()

Properties

child → ChildType

The render object's unique child

read / write
alwaysNeedsCompositing bool

Whether this render object always needs compositing.

read-only, inherited
attached bool

Whether this node is in a tree whose root is attached to something.

read-only, inherited
constraints Constraints

The layout constraints most recently supplied by the parent.

read-only, inherited
debugCanParentUseSize bool

Whether the parent render object is permitted to use this render object's size.

read-only, inherited
debugCreator → dynamic

The object responsible for creating this render object.

read / write, inherited
debugDoingThisLayout bool

Whether performLayout for this render object is currently running.

read-only, inherited
debugDoingThisPaint bool

Whether paint for this render object is currently running.

read-only, inherited
debugDoingThisResize bool

Whether performResize for this render object is currently running.

read-only, inherited
debugSemantics SemanticsNode

The semantics of this render object.

read-only, inherited
depth int

The depth of this node in the tree.

read-only, inherited
hashCode int

Get a hash code for this object.

read-only, inherited
isRepaintBoundary bool

Whether this render object repaints separately from its parent.

read-only, inherited
isSemanticBoundary bool

Whether this RenderObject introduces a new box for accessibility purposes.

read-only, inherited
layer OffsetLayer

The compositing layer that this render object uses to repaint.

read-only, inherited
needsCompositing bool

Whether we or one of our descendants has a compositing layer.

read-only, inherited
needsLayout bool

Whether this render object's layout information is dirty.

read-only, inherited
owner PipelineOwner

read-only, inherited
paintBounds Rect

The bounds within which this render object will paint.

read-only, inherited
parent AbstractNode

The parent of this node in the tree.

read-only, inherited
parentData ParentData

Data for use by the parent render object.

read / write, inherited
runtimeType Type

A representation of the runtime type of the object.

read-only, inherited
semanticBounds Rect

The bounding box, in the local coordinate system, of this object, for accessibility purposes.

read-only, inherited
semanticsAnnotator SemanticsAnnotator

Returns a function that will annotate a SemanticsNode with the semantics of this RenderObject.

read-only, inherited
sizedByParent bool

Whether the constraints are the only input to the sizing algorithm (in particular, child nodes have no impact).

read-only, inherited

Operators

operator ==(other) bool

The equality operator.

inherited

Methods

attach(PipelineOwner owner) → void

Mark this node as attached to the given owner.

debugDescribeChildren(String prefix) String

Returns a string describing the current node's descendants. Each line of the subtree in the output should be indented by the prefix argument.

detach() → void

Mark this node as detached.

redepthChildren() → void

Adjust the depth of this node's children, if any.

visitChildren(RenderObjectVisitor visitor) → void

Calls visitor for each immediate child of this render object.

adoptChild(RenderObject child) → void

Called by subclasses when they decide a render object is a child.

inherited
applyPaintTransform(RenderObject child, Matrix4 transform) → void

Applies the transform that would be applied when painting the given child to the given matrix.

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
debugFillDescription(List<String> description) → void

Accumulates a list of strings describing the current node's fields, one field per string. Subclasses should override this to have their information included in toStringDeep.

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 checked 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 checked 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
describeApproximatePaintClip(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
dropChild(RenderObject child) → void

Called by subclasses when they decide a render object is no longer a child.

inherited
handleEvent(PointerEvent event, HitTestEntry entry) → void

Override this method to handle pointer events that hit this render object.

inherited
invokeLayoutCallback(LayoutCallback 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
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
markNeedsPaint() → void

Mark this render object as having changed its visual appearance.

inherited
markNeedsSemanticsUpdate({bool onlyChanges: false, bool noGeometry: false }) → 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
noSuchMethod(Invocation invocation) → dynamic

Invoked when a non-existent method or property is accessed.

inherited
paint(PaintingContext context, Offset offset) → void

Paint this render object into the given context at the given offset.

inherited
performLayout() → void

Do the work of computing the layout for this render object.

inherited
performResize() → void

Updates the render objects size using only the constraints.

inherited
reassemble() → void

Cause the entire subtree rooted at the given RenderObject to be marked dirty for layout, paint, etc. This is called by the RendererBinding in response to the ext.flutter.reassemble hook, which is used by development tools when the application code has changed, to cause the widget tree to pick up any changed implementations.

inherited
redepthChild(AbstractNode child) → void

Adjust the depth of the given child to be greated than this node's own depth.

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
rotate({int oldAngle, int newAngle, Duration time }) → void

Rotate this render object (not yet implemented).

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
setupParentData(RenderObject child) → void

Override to setup parent data correctly for your children.

inherited
toString() String

Returns a string representation of this object.

inherited
toStringDeep([String prefixLineOne = '', String prefixOtherLines = '' ]) 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

Returns a one-line detailed description of the render object. This description is often somewhat long.

inherited
visitChildrenForSemantics(RenderObjectVisitor visitor) → void

Called when collecting the semantics of this node. Subclasses that have children that are not semantically relevant (e.g. because they are invisible) should skip those children here.

inherited