RenderEffect
public
final
class
RenderEffect
extends Object
Intermediate rendering step used to render drawing commands with a corresponding
visual effect. A RenderEffect
can be configured on a RenderNode
through
RenderNode.setRenderEffect(RenderEffect)
and will be applied when drawn through
Canvas.drawRenderNode(RenderNode)
.
Additionally a RenderEffect
can be applied to a View's backing RenderNode through
View.setRenderEffect(RenderEffect)
Summary
Public methods |
static
RenderEffect
|
createBitmapEffect(Bitmap bitmap)
Create a RenderEffect that renders the contents of the input Bitmap .
|
static
RenderEffect
|
createBitmapEffect(Bitmap bitmap, Rect src, Rect dst)
Create a RenderEffect that renders the contents of the input Bitmap .
|
static
RenderEffect
|
createBlendModeEffect(RenderEffect dst, RenderEffect src, BlendMode blendMode)
Create a RenderEffect that is a composition of 2 other RenderEffect instances
combined by the specified BlendMode
|
static
RenderEffect
|
createBlurEffect(float radiusX, float radiusY, Shader.TileMode edgeTreatment)
Create a RenderEffect that blurs the contents of the
RenderNode that this RenderEffect is installed on with the
specified radius along the x and y axis.
|
static
RenderEffect
|
createBlurEffect(float radiusX, float radiusY, RenderEffect inputEffect, Shader.TileMode edgeTreatment)
Create a RenderEffect that blurs the contents of the optional input RenderEffect
with the specified radius along the x and y axis.
|
static
RenderEffect
|
createChainEffect(RenderEffect outer, RenderEffect inner)
Create a RenderEffect that composes 'inner' with 'outer', such that the results of
'inner' are treated as the source bitmap passed to 'outer', i.e.
|
static
RenderEffect
|
createColorFilterEffect(ColorFilter colorFilter, RenderEffect renderEffect)
Create a RenderEffect that applies the color filter to the provided RenderEffect
|
static
RenderEffect
|
createColorFilterEffect(ColorFilter colorFilter)
Create a RenderEffect that applies the color filter to the contents of the
RenderNode that this RenderEffect is installed on
|
static
RenderEffect
|
createOffsetEffect(float offsetX, float offsetY, RenderEffect input)
Create a RenderEffect instance with the provided x and y offset
|
static
RenderEffect
|
createOffsetEffect(float offsetX, float offsetY)
Create a RenderEffect instance that will offset the drawing content
by the provided x and y offset.
|
static
RenderEffect
|
createRuntimeShaderEffect(RuntimeShader shader, String uniformShaderName)
Create a RenderEffect that executes the provided RuntimeShader and passes
the contents of the RenderNode that this RenderEffect is installed
on as an input to the shader.
|
static
RenderEffect
|
createShaderEffect(Shader shader)
Create a RenderEffect that renders the contents of the input Shader .
|
Inherited methods |
From class
java.lang.Object
Object
|
clone()
Creates and returns a copy of this object.
|
boolean
|
equals(Object obj)
Indicates whether some other object is "equal to" this one.
|
void
|
finalize()
Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.
|
final
Class<?>
|
getClass()
Returns the runtime class of this Object .
|
int
|
hashCode()
Returns a hash code value for the object.
|
final
void
|
notify()
Wakes up a single thread that is waiting on this object's
monitor.
|
final
void
|
notifyAll()
Wakes up all threads that are waiting on this object's monitor.
|
String
|
toString()
Returns a string representation of the object.
|
final
void
|
wait(long timeoutMillis, int nanos)
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted, or until a
certain amount of real time has elapsed.
|
final
void
|
wait(long timeoutMillis)
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted, or until a
certain amount of real time has elapsed.
|
final
void
|
wait()
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted.
|
|
Public methods
createBlendModeEffect
public static RenderEffect createBlendModeEffect (RenderEffect dst,
RenderEffect src,
BlendMode blendMode)
Create a RenderEffect
that is a composition of 2 other RenderEffect
instances
combined by the specified BlendMode
Parameters |
dst |
RenderEffect : The Dst pixels used in blending
This value cannot be null . |
src |
RenderEffect : The Src pixels used in blending
This value cannot be null . |
blendMode |
BlendMode : The BlendMode to be used to combine colors from the two
RenderEffect s
This value cannot be null . |
createBlurEffect
public static RenderEffect createBlurEffect (float radiusX,
float radiusY,
Shader.TileMode edgeTreatment)
Create a RenderEffect
that blurs the contents of the
RenderNode
that this RenderEffect is installed on with the
specified radius along the x and y axis.
Parameters |
radiusX |
float : Radius of blur along the X axis |
radiusY |
float : Radius of blur along the Y axis |
edgeTreatment |
Shader.TileMode : Policy for how to blur content near edges of the blur kernel
This value cannot be null . |
createBlurEffect
public static RenderEffect createBlurEffect (float radiusX,
float radiusY,
RenderEffect inputEffect,
Shader.TileMode edgeTreatment)
Create a RenderEffect
that blurs the contents of the optional input RenderEffect
with the specified radius along the x and y axis. If no input RenderEffect is provided
then all drawing commands issued with a RenderNode
that this
RenderEffect is installed in will be blurred
Parameters |
radiusX |
float : Radius of blur along the X axis |
radiusY |
float : Radius of blur along the Y axis |
inputEffect |
RenderEffect : Input RenderEffect that provides the content to be blurred, can be null
to indicate that the drawing commands on the RenderNode are to be
blurred instead of the input RenderEffect |
edgeTreatment |
Shader.TileMode : Policy for how to blur content near edges of the blur kernel
This value cannot be null . |
createChainEffect
public static RenderEffect createChainEffect (RenderEffect outer,
RenderEffect inner)
Create a RenderEffect
that composes 'inner' with 'outer', such that the results of
'inner' are treated as the source bitmap passed to 'outer', i.e.
result = outer(inner(source))
Consumers should favor explicit chaining of
RenderEffect
instances at creation time
rather than using chain effect. Chain effects are useful for situations where the input or
output are provided from elsewhere and the input or output
RenderEffect
need to be
changed.
Parameters |
outer |
RenderEffect : RenderEffect that consumes the output of as its input
This value cannot be null . |
inner |
RenderEffect : RenderEffect that is consumed as input by
This value cannot be null . |
createColorFilterEffect
public static RenderEffect createColorFilterEffect (ColorFilter colorFilter,
RenderEffect renderEffect)
Create a RenderEffect
that applies the color filter to the provided RenderEffect
Parameters |
colorFilter |
ColorFilter : ColorFilter applied to the content in the input RenderEffect
This value cannot be null . |
renderEffect |
RenderEffect : Source to be transformed by the specified ColorFilter
This value cannot be null . |
createColorFilterEffect
public static RenderEffect createColorFilterEffect (ColorFilter colorFilter)
Create a RenderEffect
that applies the color filter to the contents of the
RenderNode
that this RenderEffect is installed on
Parameters |
colorFilter |
ColorFilter : ColorFilter applied to the content in the input RenderEffect
This value cannot be null . |
createOffsetEffect
public static RenderEffect createOffsetEffect (float offsetX,
float offsetY,
RenderEffect input)
Create a RenderEffect
instance with the provided x and y offset
Parameters |
offsetX |
float : offset along the x axis in pixels |
offsetY |
float : offset along the y axis in pixels |
input |
RenderEffect : target RenderEffect used to render in the offset coordinates.
This value cannot be null . |
createOffsetEffect
public static RenderEffect createOffsetEffect (float offsetX,
float offsetY)
Create a RenderEffect
instance that will offset the drawing content
by the provided x and y offset.
Parameters |
offsetX |
float : offset along the x axis in pixels |
offsetY |
float : offset along the y axis in pixels |
createRuntimeShaderEffect
public static RenderEffect createRuntimeShaderEffect (RuntimeShader shader,
String uniformShaderName)
Create a RenderEffect
that executes the provided RuntimeShader
and passes
the contents of the RenderNode
that this RenderEffect is installed
on as an input to the shader.
Parameters |
shader |
RuntimeShader : the runtime shader that will bind the inputShaderName to the RenderEffect input
This value cannot be null . |
uniformShaderName |
String : the uniform name defined in the RuntimeShader's program to which
the contents of the RenderNode will be bound
This value cannot be null . |