ShaderMask class
A widget that applies a mask generated by a Shader to its child.
For example, ShaderMask can be used to gradually fade out the edge
of a child by using a new ui.Gradient.linear
mask.
This example makes the text look like it is on fire:
ShaderMask(
shaderCallback: (Rect bounds) {
return RadialGradient(
center: Alignment.topLeft,
radius: 1.0,
colors: <Color>[Colors.yellow, Colors.deepOrange.shade900],
tileMode: TileMode.mirror,
).createShader(bounds);
},
child: const Text('I’m burning the memories'),
)
See also:
- Opacity, which can apply a uniform alpha effect to its child.
- CustomPaint, which lets you draw directly on the canvas.
- DecoratedBox, for another approach at decorating child widgets.
- BackdropFilter, which applies an image filter to the background.
- Inheritance
Constructors
- ShaderMask({Key key, @required ShaderCallback shaderCallback, BlendMode blendMode: BlendMode.modulate, Widget child })
-
Creates a widget that applies a mask generated by a Shader to its child. [...]
const
Properties
- blendMode → BlendMode
-
The BlendMode to use when applying the shader to the child. [...]
final
- shaderCallback → ShaderCallback
-
Called to create the dart:ui.Shader that generates the mask. [...]
final
- child → Widget
-
The widget below this widget in the tree. [...]
final, inherited
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- key → Key
-
Controls how one widget replaces another widget in the tree. [...]
final, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Methods
-
createRenderObject(
BuildContext context) → RenderShaderMask -
Creates an instance of the RenderObject class that this
RenderObjectWidget represents, using the configuration described by this
RenderObjectWidget. [...]
override
-
updateRenderObject(
BuildContext context, covariant RenderShaderMask renderObject) → void -
Copies the configuration described by this RenderObjectWidget to the
given RenderObject, which will be of the same type as returned by this
object's createRenderObject. [...]
override
-
createElement(
) → SingleChildRenderObjectElement -
RenderObjectWidgets always inflate to a RenderObjectElement subclass.
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children. [...]
@protected, inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node. [...]
inherited
-
didUnmountRenderObject(
covariant RenderObject renderObject) → void -
A render object previously associated with this widget has been removed
from the tree. The given RenderObject will be of the same type as
returned by this object's createRenderObject.
@protected, inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
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 short, textual description of this widget.
inherited
Operators
-
operator ==(
dynamic other) → bool -
The equality operator. [...]
inherited