PictureLayer class Null safety

A composited layer containing a Picture.

Picture layers are always leaves in the layer tree. They are also responsible for disposing of the Picture object they hold. This is typically done when their parent and all RenderObjects that participated in painting the picture have been disposed.

Inheritance

Constructors

PictureLayer(Rect canvasBounds)
Creates a leaf layer for the layer tree.

Properties

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
canvasBounds Rect
The bounds that were used for the canvas that drew this layer's picture. [...]
final
debugCreator Object?
The object responsible for creating this layer. [...]
read / write, inherited
debugDisposed bool
If asserts are enabled, returns whether dispose has been called since the last time any retained resources were created. [...]
read-only, inherited
debugHandleCount int
Returns the number of objects holding a LayerHandle to this layer. [...]
read-only, 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, @protected, @visibleForTesting, @visibleForTesting, read / write, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
isComplexHint bool
Hints that the painting in this layer is complex and would benefit from caching. [...]
read / write
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
picture Picture?
The picture recorded for this layer. [...]
read / write
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
willChangeHint bool
Hints that the painting in this layer is likely to change next frame. [...]
read / write

Methods

addToScene(SceneBuilder builder, [Offset layerOffset = Offset.zero]) → void
Override this method to upload this layer to the engine. [...]
override
adoptChild(covariant AbstractNode child) → void
Mark the given node as being a child of this node. [...]
inherited
attach(covariant Object owner) → void
Mark this node as attached to the given owner. [...]
@mustCallSuper, inherited
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. [...]
override
debugMarkClean() → void
Mark that this layer is in sync with engine. [...]
@visibleForTesting, inherited
detach() → void
Mark this node as detached. [...]
@mustCallSuper, inherited
dispose() → void
Clears any retained resources that this layer holds. [...]
override
dropChild(covariant AbstractNode child) → void
Disconnect the given node from this node. [...]
inherited
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. [...]
inherited
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. [...]
inherited
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. [...]
override
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. [...]
inherited
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. [...]
inherited
remove() → void
Removes this layer from its parent layer's child list. [...]
@mustCallSuper, 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 string representation of this node and its descendants. [...]
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object. [...]
inherited
toStringShort() String
A brief description of this object, usually just the runtimeType and the hashCode. [...]
inherited
updateSubtreeNeedsAddToScene() → void
Traverses the layer subtree starting from this layer and determines whether it needs addToScene. [...]

Operators

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