Target.java revision da4ce795221e0fd9a3d11c84f018b3b5d6a10421
19fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddpackage com.bumptech.glide.request.target;
233943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd
333943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Juddimport android.graphics.drawable.Drawable;
4531667420f0cb59e01e0ae5928392469006148ddSam Juddimport com.bumptech.glide.request.GlideAnimation;
59fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.request.Request;
633943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd
733943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd/**
833943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd * An interface that Glide can load an image into
9ba414a3eba45ab6566a94c48babace5c1d6d721fSam Judd *
10da4ce795221e0fd9a3d11c84f018b3b5d6a10421Sam Judd * @param <R> The type of resource the target can display.
1133943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd */
12531667420f0cb59e01e0ae5928392469006148ddSam Juddpublic interface Target<R> {
1333943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd
1433943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd    /**
1533943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd     * A callback that must be called when the target has determined its size. For fixed size targets it can
1633943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd     * be called synchronously.
1733943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd     */
1833943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd    public interface SizeReadyCallback {
1933943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd        public void onSizeReady(int width, int height);
2033943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd    }
2133943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd
2233943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd    /**
2333943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd     * The method that will be called when the image load has finished
24ba414a3eba45ab6566a94c48babace5c1d6d721fSam Judd     * @param resource the loaded resource.
2533943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd     */
26531667420f0cb59e01e0ae5928392469006148ddSam Judd    public void onResourceReady(R resource, GlideAnimation<R> glideAnimation);
2733943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd
2833943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd    /**
2933943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd     * A method that can optionally be implemented to set any placeholder that might have been passed to Glide to
3033943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd     * display either while an image is loading or after the load has failed.
3133943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd     *
3233943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd     * @param placeholder The drawable to display
3333943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd     */
3433943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd    public void setPlaceholder(Drawable placeholder);
3533943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd
3633943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd    /**
3733943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd     * A method to retrieve the size of this target
3833943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd     * @param cb The callback that must be called when the size of the target has been determined
3933943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd     */
4033943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd    public void getSize(SizeReadyCallback cb);
4133943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd
420ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd    public void setRequest(Request request);
430ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd
440ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd    public Request getRequest();
4533943be3ddf092ffb670ac0b51c884f9f39ee0b0Sam Judd}
46