com.bumptech.glide.load.resource.gif
Class GifDrawable

java.lang.Object
  extended by android.graphics.drawable.Drawable
      extended by com.bumptech.glide.load.resource.drawable.GlideDrawable
          extended by com.bumptech.glide.load.resource.gif.GifDrawable
All Implemented Interfaces:
Animatable, com.bumptech.glide.load.resource.gif.GifFrameManager.FrameCallback

public class GifDrawable
extends GlideDrawable
implements com.bumptech.glide.load.resource.gif.GifFrameManager.FrameCallback

An animated Drawable that plays the frames of an animated GIF.


Nested Class Summary
 
Nested classes/interfaces inherited from class android.graphics.drawable.Drawable
Drawable.Callback, Drawable.ConstantState
 
Field Summary
 
Fields inherited from class com.bumptech.glide.load.resource.drawable.GlideDrawable
LOOP_FOREVER, LOOP_INTRINSIC
 
Constructor Summary
GifDrawable(Context context, GifDecoder.BitmapProvider bitmapProvider, Transformation<Bitmap> frameTransformation, int targetFrameWidth, int targetFrameHeight, String id, GifHeader gifHeader, byte[] data, int finalFrameWidth, int finalFrameHeight)
          Constructor for GifDrawable.
 
Method Summary
 void draw(Canvas canvas)
           
 Drawable.ConstantState getConstantState()
           
 byte[] getData()
           
 Transformation<Bitmap> getFrameTransformation()
           
 int getIntrinsicHeight()
           
 int getIntrinsicWidth()
           
 int getOpacity()
           
 boolean isAnimated()
          Returns true if this drawable is animated.
 boolean isRunning()
           
 void onFrameRead(Bitmap frame, int frameIndex)
           
 void recycle()
          Clears any resources for loading frames that are currently held on to by this object.
 void setAlpha(int i)
           
 void setColorFilter(ColorFilter colorFilter)
           
 void setFrameTransformation(Transformation<Bitmap> frameTransformation, int finalFrameWidth, int finalFrameHeight)
           
 void setLoopCount(int loopCount)
          Sets the number of times the animation should loop.
 boolean setVisible(boolean visible, boolean restart)
           
 void start()
           
 void stop()
           
 
Methods inherited from class android.graphics.drawable.Drawable
clearColorFilter, copyBounds, copyBounds, createFromPath, createFromResourceStream, createFromResourceStream, createFromStream, createFromXml, createFromXmlInner, getAlpha, getBounds, getCallback, getChangingConfigurations, getCurrent, getLevel, getMinimumHeight, getMinimumWidth, getPadding, getState, getTransparentRegion, inflate, invalidateSelf, isAutoMirrored, isStateful, isVisible, jumpToCurrentState, mutate, onBoundsChange, onLevelChange, onStateChange, resolveOpacity, scheduleSelf, setAutoMirrored, setBounds, setBounds, setCallback, setChangingConfigurations, setColorFilter, setDither, setFilterBitmap, setLevel, setState, unscheduleSelf
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GifDrawable

public GifDrawable(Context context,
                   GifDecoder.BitmapProvider bitmapProvider,
                   Transformation<Bitmap> frameTransformation,
                   int targetFrameWidth,
                   int targetFrameHeight,
                   String id,
                   GifHeader gifHeader,
                   byte[] data,
                   int finalFrameWidth,
                   int finalFrameHeight)
Constructor for GifDrawable.

Parameters:
context - A context.
bitmapProvider - An GifDecoder.BitmapProvider that can be used to retrieve re-usable Bitmaps.
frameTransformation - An Transformation that can be applied to each frame.
targetFrameWidth - The desired width of the frames displayed by this drawable (the width of the view or Target this drawable is being loaded into).
targetFrameHeight - The desired height of the frames displayed by this drawable (the height of the view or Target this drawable is being loaded into).
id - An id that uniquely identifies this particular gif.
gifHeader - The header data for this gif.
data - The full bytes of the gif.
finalFrameWidth - The final width of the frames displayed by this drawable after they have been transformed.
finalFrameHeight - The final height of the frames displayed by this drwaable after they have been transformed.
See Also:
setFrameTransformation(com.bumptech.glide.load.Transformation, int, int)
Method Detail

setFrameTransformation

public void setFrameTransformation(Transformation<Bitmap> frameTransformation,
                                   int finalFrameWidth,
                                   int finalFrameHeight)

getFrameTransformation

public Transformation<Bitmap> getFrameTransformation()

getData

public byte[] getData()

start

public void start()
Specified by:
start in interface Animatable

stop

public void stop()
Specified by:
stop in interface Animatable

setVisible

public boolean setVisible(boolean visible,
                          boolean restart)
Overrides:
setVisible in class Drawable

getIntrinsicWidth

public int getIntrinsicWidth()
Overrides:
getIntrinsicWidth in class Drawable

getIntrinsicHeight

public int getIntrinsicHeight()
Overrides:
getIntrinsicHeight in class Drawable

isRunning

public boolean isRunning()
Specified by:
isRunning in interface Animatable

draw

public void draw(Canvas canvas)
Specified by:
draw in class Drawable

setAlpha

public void setAlpha(int i)
Specified by:
setAlpha in class Drawable

setColorFilter

public void setColorFilter(ColorFilter colorFilter)
Specified by:
setColorFilter in class Drawable

getOpacity

public int getOpacity()
Specified by:
getOpacity in class Drawable

onFrameRead

public void onFrameRead(Bitmap frame,
                        int frameIndex)
Specified by:
onFrameRead in interface com.bumptech.glide.load.resource.gif.GifFrameManager.FrameCallback

getConstantState

public Drawable.ConstantState getConstantState()
Overrides:
getConstantState in class Drawable

recycle

public void recycle()
Clears any resources for loading frames that are currently held on to by this object.


isAnimated

public boolean isAnimated()
Description copied from class: GlideDrawable
Returns true if this drawable is animated.

Specified by:
isAnimated in class GlideDrawable

setLoopCount

public void setLoopCount(int loopCount)
Description copied from class: GlideDrawable
Sets the number of times the animation should loop. This method will only have an affect if ()} returns true. A loop count of <=0 indicates loop forever.

Specified by:
setLoopCount in class GlideDrawable