public class

AnimationBackendDelegate

extends Object
implements AnimationBackend
java.lang.Object
   ↳ com.facebook.fresco.animation.backend.AnimationBackendDelegate<T extends com.facebook.fresco.animation.backend.AnimationBackend>
Known Direct Subclasses

Class Overview

Animation backend delegate that forwards all calls to a given AnimationBackend

Summary

[Expand]
Inherited Constants
From interface com.facebook.fresco.animation.backend.AnimationBackend
From interface com.facebook.fresco.animation.backend.AnimationInformation
Public Constructors
AnimationBackendDelegate(T animationBackend)
Public Methods
void clear()
Clean up animation data.
boolean drawFrame(Drawable parent, Canvas canvas, int frameNumber)
Draw the frame for the given frame number on the canvas.
T getAnimationBackend()
Get the current animation backend.
int getFrameCount()
Get the number of frames for the animation
int getFrameDurationMs(int frameNumber)
Get the frame duration for a given frame number in milliseconds.
int getIntrinsicHeight()
Get the intrinsic height of the underlying animation or INTRINSIC_DIMENSION_UNSET if not available.
int getIntrinsicWidth()
Get the intrinsic width of the underlying animation or INTRINSIC_DIMENSION_UNSET if not available.
int getLoopCount()
Get the number of loops the animation has or LOOP_COUNT_INFINITE for infinite looping.
int getSizeInBytes()
Get the size of the animation backend.
void setAlpha(int alpha)
Set the alpha value to be used for drawing frames in drawFrame(Drawable, Canvas, int) if supported.
void setAnimationBackend(T animationBackend)
Set the animation backend to forward calls to.
void setBounds(Rect bounds)
Called when the bounds of the parent drawable are updated.
void setColorFilter(ColorFilter colorFilter)
The color filter to be used for drawing frames in drawFrame(Drawable, Canvas, int) if supported.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.facebook.fresco.animation.backend.AnimationBackend
From interface com.facebook.fresco.animation.backend.AnimationInformation

Public Constructors

public AnimationBackendDelegate (T animationBackend)

Public Methods

public void clear ()

Clean up animation data. This will be called when the backing drawable is cleared as well. For example, drop all cached frames.

public boolean drawFrame (Drawable parent, Canvas canvas, int frameNumber)

Draw the frame for the given frame number on the canvas.

Parameters
parent the parent that draws the frame
canvas the canvas to draw an
frameNumber the frame number of the frame to draw
Returns
  • true if successful, false if the frame could not be rendered

public T getAnimationBackend ()

Get the current animation backend.

Returns
  • the current animation backend in use or null if not set

public int getFrameCount ()

Get the number of frames for the animation

Returns
  • the number of frames

public int getFrameDurationMs (int frameNumber)

Get the frame duration for a given frame number in milliseconds.

Parameters
frameNumber the frame to get the duration for
Returns
  • the duration in ms

public int getIntrinsicHeight ()

Get the intrinsic height of the underlying animation or INTRINSIC_DIMENSION_UNSET if not available.

This value is used by the underlying drawable for aspect ratio computations, similar to getIntrinsicHeight().

Returns

public int getIntrinsicWidth ()

Get the intrinsic width of the underlying animation or INTRINSIC_DIMENSION_UNSET if not available.

This value is used by the underlying drawable for aspect ratio computations, similar to getIntrinsicWidth().

Returns

public int getLoopCount ()

Get the number of loops the animation has or LOOP_COUNT_INFINITE for infinite looping.

Returns

public int getSizeInBytes ()

Get the size of the animation backend.

Returns
  • the size in bytes

public void setAlpha (int alpha)

Set the alpha value to be used for drawing frames in drawFrame(Drawable, Canvas, int) if supported.

Parameters
alpha the alpha value between 0 and 255

public void setAnimationBackend (T animationBackend)

Set the animation backend to forward calls to. If called with null, the current backend will be removed.

Parameters
animationBackend the backend to use or null to remove the current backend

public void setBounds (Rect bounds)

Called when the bounds of the parent drawable are updated. This can be used to perform some ahead-of-time computations if needed.

The supplied bounds do not have to be stored. It is possible to just use getBounds() of the parent drawable of drawFrame(Drawable, Canvas, int) instead.

Parameters
bounds the bounds to be used for drawing frames

public void setColorFilter (ColorFilter colorFilter)

The color filter to be used for drawing frames in drawFrame(Drawable, Canvas, int) if supported.

Parameters
colorFilter the color filter to use