FollowerLayer class Null safety

A composited layer that applies a transformation matrix to its children such that they are positioned to match a LeaderLayer.

If any of the ancestors of this layer have a degenerate matrix (e.g. scaling by zero), then the FollowerLayer will not be able to transform its child to the coordinate space of the LeaderLayer.

A linkedOffset property can be provided to further offset the child layer from the leader layer, for example if the child is to follow the linked layer at a distance rather than directly overlapping it.

Inheritance

Constructors

FollowerLayer({required LayerLink link, bool? showWhenUnlinked, Offset? unlinkedOffset, Offset? linkedOffset})
Creates a follower layer. [...]

Properties

alwaysNeedsAddToScene bool
This disables retained rendering. [...]
read-only, override
attached bool
Whether this node is in a tree whose root is attached to something. [...]
read-only, inherited
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
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
The link to the LeaderLayer. [...]
read / write
linkedOffset Offset?
Offset from the origin of the leader layer to the origin of the child layers, used when the layer is linked to a LeaderLayer. [...]
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
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
showWhenUnlinked bool?
Whether to show the layer's contents when the link does not point to a LeaderLayer. [...]
read / write
unlinkedOffset Offset?
Offset from parent in the parent's coordinate system, used when the layer is not linked to a LeaderLayer. [...]
read / write

Methods

addChildrenToScene(SceneBuilder builder, [Offset childOffset = Offset.zero]) → void
Uploads all of this layer's children to the engine. [...]
inherited
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
append(Layer child) → void
Adds the given layer to the end of this layer's child list.
inherited
applyTransform(Layer? child, Matrix4 transform) → void
Applies the transform that would be applied when compositing the given child to the given matrix. [...]
override
attach(covariant Object owner) → void
Mark this node as attached to the given owner. [...]
inherited
buildScene(SceneBuilder builder) Scene
Consider this layer as the root and build a scene (a tree of layers) in the engine.
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
depthFirstIterateChildren() List<Layer>
Returns the descendants of this layer in depth first order.
@visibleForTesting, inherited
detach() → void
Mark this node as detached. [...]
inherited
dispose() → void
Clears any retained resources that this layer holds. [...]
inherited
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
getLastTransform() Matrix4?
The transform that was used during the last composition phase. [...]
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
removeAllChildren() → void
Removes all of this layer's children from its child list.
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. [...]
inherited

Operators

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