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 RenderEffectthat renders the contents of the inputBitmap. | 
  
  
  
  
    | 
        
        
        static
        
        
        RenderEffect | 
      createBitmapEffect(Bitmap bitmap, Rect src, Rect dst)
      Create a RenderEffectthat renders the contents of the inputBitmap. | 
  
  
  
  
    | 
        
        
        static
        
        
        RenderEffect | 
      createBlendModeEffect(RenderEffect dst, RenderEffect src, BlendMode blendMode)
      Create a RenderEffectthat is a composition of 2 otherRenderEffectinstances
 combined by the specifiedBlendMode | 
  
  
  
  
    | 
        
        
        static
        
        
        RenderEffect | 
      createBlurEffect(float radiusX, float radiusY, Shader.TileMode edgeTreatment)
      Create a RenderEffectthat blurs the contents of theRenderNodethat 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 RenderEffectthat 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 RenderEffectthat 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 RenderEffectthat applies the color filter to the provided RenderEffect | 
  
  
  
  
    | 
        
        
        static
        
        
        RenderEffect | 
      createColorFilterEffect(ColorFilter colorFilter)
      Create a RenderEffectthat applies the color filter to the contents of theRenderNodethat this RenderEffect is installed on | 
  
  
  
  
    | 
        
        
        static
        
        
        RenderEffect | 
      createOffsetEffect(float offsetX, float offsetY, RenderEffect input)
      Create a RenderEffectinstance with the provided x and y offset | 
  
  
  
  
    | 
        
        
        static
        
        
        RenderEffect | 
      createOffsetEffect(float offsetX, float offsetY)
      Create a RenderEffectinstance that will offset the drawing content
 by the provided x and y offset. | 
  
  
  
  
    | 
        
        
        static
        
        
        RenderEffect | 
      createRuntimeShaderEffect(RuntimeShader shader, String uniformShaderName)
      Create a RenderEffectthat executes the providedRuntimeShaderand passes
 the contents of theRenderNodethat this RenderEffect is installed
 on as an input to the shader. | 
  
  
  
  
    | 
        
        
        static
        
        
        RenderEffect | 
      createShaderEffect(Shader shader)
      Create a RenderEffectthat renders the contents of the inputShader. | 
  
| 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 benull. | 
      
        | src | RenderEffect: The Src pixels used in blending
 This value cannot benull. | 
      
        | blendMode | BlendMode: TheBlendModeto be used to combine colors from the twoRenderEffects
 This value cannot benull. | 
    
    
 
    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 benull. | 
    
    
 
    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 benull. | 
    
    
 
    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:RenderEffectthat consumes the output of  as its input
 This value cannot benull. | 
      
        | inner | RenderEffect:RenderEffectthat is consumed as input by 
 This value cannot benull. | 
    
    
 
    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 benull. | 
      
        | renderEffect | RenderEffect: Source to be transformed by the specifiedColorFilterThis value cannot benull. | 
    
    
 
    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 benull. | 
    
    
 
    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 benull. | 
    
    
 
    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 benull. | 
      
        | uniformShaderName | String: the uniform name defined in the RuntimeShader's program to which
                         the contents of the RenderNode will be bound
 This value cannot benull. |