ClipRectLayer class Null safety

A composite layer that clips its children using a rectangle.

When debugging, setting debugDisableClipLayers to true will cause this layer to be skipped (directly replaced by its children). This can be helpful to track down the cause of performance problems.



ClipRectLayer({Rect? clipRect, Clip clipBehavior: Clip.hardEdge})
Creates a layer with a rectangular clip. [...]


alwaysNeedsAddToScene bool
Subclasses may override this to true to disable retained rendering.
@protected, read-only, inherited
attached bool
Whether this node is in a tree whose root is attached to something. [...]
read-only, inherited
clipBehavior Clip
Controls how to clip. [...]
read / write
clipRect Rect?
The rectangle to clip in the parent's coordinate system. [...]
read / write
debugCreator ↔ dynamic
The object responsible for creating this layer. [...]
read / write, inherited
debugSubtreeNeedsAddToScene bool?
Whether this or any descendant layer in the subtree needs addToScene. [...]
@visibleForTesting, read-only, inherited
depth int
The depth of this node in the tree. [...]
read-only, inherited
engineLayer EngineLayer?
Stores the engine layer created for this layer in order to reuse engine resources across frames for better app performance. [...]
@protected, read / write, inherited
firstChild Layer?
The first composited layer in this layer's child list.
read-only, inherited
hasChildren bool
Returns whether this layer has at least one child layer.
read-only, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
lastChild Layer?
The last composited layer in this layer's child list.
read-only, inherited
nextSibling Layer?
This layer's next sibling in the parent layer's child list.
read-only, inherited
owner Object?
The owner for this node (null if unattached). [...]
read-only, inherited
parent ContainerLayer?
This layer's parent in the layer tree. [...]
read-only, inherited
previousSibling Layer?
This layer's previous sibling in the parent layer's child list.
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited


addChildrenToScene(SceneBuilder builder, [Offset childOffset =]) → void
Uploads all of this layer's children to the engine. [...]
addToScene(SceneBuilder builder, [Offset layerOffset =]) → void
Override this method to upload this layer to the engine. [...]
adoptChild(covariant AbstractNode child) → void
Mark the given node as being a child of this node. [...]
append(Layer child) → void
Adds the given layer to the end of this layer's child list.
applyTransform(Layer? child, Matrix4 transform) → void
Applies the transform that would be applied when compositing the given child to the given matrix. [...]
attach(covariant Object owner) → void
Mark this node as attached to the given owner. [...]
buildScene(SceneBuilder builder) Scene
Consider this layer as the root and build a scene (a tree of layers) in the engine.
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children. [...]
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node. [...]
debugMarkClean() → void
Mark that this layer is in sync with engine. [...]
@visibleForTesting, inherited
depthFirstIterateChildren() List<Layer>
Returns the descendants of this layer in depth first order.
@visibleForTesting, inherited
detach() → void
Mark this node as detached. [...]
dropChild(covariant AbstractNode child) → void
Disconnect the given node from this node. [...]
find<S extends Object>(Offset localPosition) → S?
Search this layer and its subtree for the first annotation of type S under the point described by localPosition. [...]
findAllAnnotations<S extends Object>(Offset localPosition) AnnotationResult<S>
Search this layer and its subtree for all annotations of type S under the point described by localPosition. [...]
findAnnotations<S extends Object>(AnnotationResult<S> result, Offset localPosition, {required bool onlyFirst}) bool
Search this layer and its subtree for annotations of type S at the location described by localPosition. [...]
markNeedsAddToScene() → void
Mark that this layer has changed and addToScene needs to be called.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
redepthChild(AbstractNode child) → void
Adjust the depth of the given child to be greater than this node's own depth. [...]
@protected, inherited
redepthChildren() → void
Adjust the depth of this node's children, if any. [...]
remove() → void
Removes this layer from its parent layer's child list. [...]
@mustCallSuper, inherited
removeAllChildren() → void
Removes all of this layer's children from its child list.
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep. [...]
toString({DiagnosticLevel minLevel:}) String
A string representation of this object. [...]
toStringDeep({String prefixLineOne: '', String? prefixOtherLines, DiagnosticLevel minLevel: DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants. [...]
toStringShallow({String joiner: ', ', DiagnosticLevel minLevel: DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object. [...]
toStringShort() String
A brief description of this object, usually just the runtimeType and the hashCode. [...]
updateSubtreeNeedsAddToScene() → void
Traverses the layer subtree starting from this layer and determines whether it needs addToScene. [...]


operator ==(Object other) bool
The equality operator. [...]