com.bumptech.glide.load
Interface Transformation<T>

Type Parameters:
T - The type of the resource being transformed.
All Known Implementing Classes:
BitmapTransformation, CenterCrop, FitCenter, GifBitmapWrapperTransformation, GifDrawableTransformation, MultiTransformation, UnitTransformation

public interface Transformation<T>

A class for performing an arbitrary transformation on a resource.


Method Summary
 String getId()
          A method to get a unique identifier for this particular transformation that can be used as part of a cache key.
 Resource<T> transform(Resource<T> resource, int outWidth, int outHeight)
          Transforms the given resource and returns the transformed resource.
 

Method Detail

transform

Resource<T> transform(Resource<T> resource,
                      int outWidth,
                      int outHeight)
Transforms the given resource and returns the transformed resource.

Note - Transformations should be idempotent so if given a resource that has already been transformed by this transformation, this method must return the given resource object.

Note - If the original resource object is not returned, the original resource will be recycled and it's internal resources may be reused. This means it is not safe to rely on the original resource or any internal state of the original resource in any new resource that is created. Usually this shouldn't occur, but if absolutely necessary either the original resource object can be returned with modified internal state, or the data in the original resource can be copied into the transformed resource.

Parameters:
resource - The resource to transform.
outWidth - The width of the view or target the resource will be displayed in.
outHeight - The height of the view or target the resource will be displayed in.
Returns:
The transformed resource.

getId

String getId()
A method to get a unique identifier for this particular transformation that can be used as part of a cache key. The fully qualified class name for this class is appropriate if written out, but getClass().getName() is not because the name may be changed by proguard.

If this transformation does not affect the data that will be stored in cache, returning an empty string here is acceptable.

Returns:
A string that uniquely identifies this transformation.