TextureLayer class
A composited layer that maps a backend texture to a rectangle.
Backend textures are images that can be applied (mapped) to an area of the Flutter view. They are created, managed, and updated using a platform-specific texture registry. This is typically done by a plugin that integrates with host platform video player, camera, or OpenGL APIs, or similar image sources.
A texture layer refers to its backend texture using an integer ID. Texture IDs are obtained from the texture registry and are scoped to the Flutter view. Texture IDs may be reused after deregistration, at the discretion of the registry. The use of texture IDs currently unknown to the registry will silently result in a blank rectangle.
Once inserted into the layer tree, texture layers are repainted autonomously as dictated by the backend (e.g. on arrival of a video frame). Such repainting generally does not involve executing Dart code.
Texture layers are always leaves in the layer tree.
See also:
- docs.flutter.io/javadoc/io/flutter/view/TextureRegistry.html for how to create and manage backend textures on Android.
- docs.flutter.io/objcdoc/Protocols/FlutterTextureRegistry.html for how to create and manage backend textures on iOS.
- Inheritance
- Object
- AbstractNode
- Layer
- TextureLayer
Constructors
- TextureLayer({@required Rect rect, @required int textureId, bool freeze: false })
-
Creates a texture layer bounded by
rect
and with backend texture identified bytextureId
, iffreeze
is true new texture frames will not be populated to the texture.
Properties
- freeze → bool
-
When true the texture that will not be updated with new frames. [...]
final
- rect → Rect
-
Bounding rectangle of this layer.
final
- textureId → int
-
The identity of the backend texture.
final
- 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
- debugCreator ↔ dynamic
-
The object responsible for creating this layer. [...]
read / write, inherited
- debugSubtreeNeedsAddToScene → bool
-
Whether any layer in the subtree needs addToScene. [...]
@visibleForTesting, read-only, inherited
- depth → int
-
The depth of this node in the tree. [...]
read-only, inherited
- hashCode → int
-
The hash code for this object. [...]
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
Methods
-
addToScene(
SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) → EngineLayer -
Override this method to upload this layer to the engine. [...]
override
-
find<
S>( Offset regionOffset) → S -
Returns the value of
S
that corresponds to the point described byregionOffset
. [...]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. [...]
inherited
-
debugMarkClean(
) → void -
Mark that this layer is in sync with engine. [...]
@visibleForTesting, inherited
-
detach(
) → void -
Mark this node as detached. [...]
@mustCallSuper, inherited
-
dropChild(
covariant AbstractNode child) → void -
Disconnect the given node from this node. [...]
inherited
-
markNeedsAddToScene(
) → void -
Mark that this layer has changed and addToScene needs to be called.
@protected, inherited
-
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
-
replaceWith(
Layer newLayer) → void -
Replaces this layer with the given layer in the parent layer's child list.
inherited
-
toDiagnosticsNode(
{String name, DiagnosticsTreeStyle style }) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by toStringDeep. [...]
inherited
-
toString(
{DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String -
Returns 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 -
Traverse the layer tree and compute if any subtree needs addToScene. [...]
@protected, inherited
Operators
-
operator ==(
dynamic other) → bool -
The equality operator. [...]
inherited