Back to Fresco

ForwardingDrawable

docs/javadoc/reference/com/facebook/drawee/drawable/ForwardingDrawable.html

3.6.028.2 KB
Original Source

Fresco

|

|

Packages | Classes

Interfaces

Classes

Enums

Packages | Classes

Summary: Fields | Ctors | Methods | Protected Methods | Inherited Methods | [Expand All]

public class

ForwardingDrawable

extends Drawable
implements Drawable.Callback DrawableParentTransformAwareDrawableTransformCallback

| java.lang.Object | | ↳ | android.graphics.drawable.Drawable | | | ↳ | com.facebook.drawee.drawable.ForwardingDrawable |

| Known Direct Subclasses

AutoRotateDrawable, InstrumentedDrawable, MatrixDrawable, OrientedDrawable, RootDrawable, RoundedCornersDrawable, ScaleTypeDrawable

| AutoRotateDrawable | Drawable that automatically rotates underlying drawable. | | InstrumentedDrawable | Used to log image params at draw-time. | | MatrixDrawable | Drawable that can adjust underlying drawable based on specified Matrix. | | OrientedDrawable | Drawable that automatically rotates the underlying drawable with a pivot in the center of the drawable bounds based on a rotation angle. | | RootDrawable | The root drawable of a DraweeHierarchy. | | RoundedCornersDrawable | Drawable that draws underlying drawable with rounded corners. | | ScaleTypeDrawable | Drawable that can scale underlying drawable based on specified ScalingUtils.ScaleType options. |

|

Class Overview

A forwarding drawable class - the goal is to forward (delegate) drawable functionality to an inner drawable instance. ForwardingDrawable intercepts the public (and protected) methods of Drawable, maintains local state if needed.

Design note: It would have been very helpful to re-use Android library classes like DrawableContainer, LevelListDrawable etc. DrawableContainer is not directly subclassable, and the others don't allow changing the member drawables.

Summary

Fields
protected TransformCallback
Public Constructors
Constructs a new forwarding drawable.
Public Methods
void
Drawable.ConstantState
Drawable
Drawable
Gets the child drawable.
int
int
int
boolean
void
Called when the drawable needs to get its root bounds.
void
Called when the drawable needs to get all matrices applied to it.
void
Gets the transformed bounds of this drawable.
void
boolean
Drawable
void
void
void
Drawable
Sets a new drawable to be the delegate, and returns the old one (or null).
void
Drawable
Sets the new child drawable.
void
void
void
Sets a transform callback.
boolean
void
Protected Methods
void
void
boolean
boolean
Drawable
As setCurrent, but without invalidating a drawable.

| [Expand] Inherited Methods | | --- | | From class android.graphics.drawable.Drawable

| void | applyTheme(Resources.Theme arg0) | | boolean | canApplyTheme() | | void | clearColorFilter() | | final Rect | copyBounds() | | final void | copyBounds(Rect arg0) | | static Drawable | createFromPath(String arg0) | | static Drawable | createFromResourceStream(Resources arg0, TypedValue arg1, InputStream arg2, String arg3, BitmapFactory.Options arg4) | | static Drawable | createFromResourceStream(Resources arg0, TypedValue arg1, InputStream arg2, String arg3) | | static Drawable | createFromStream(InputStream arg0, String arg1) | | static Drawable | createFromXml(Resources arg0, XmlPullParser arg1) | | static Drawable | createFromXml(Resources arg0, XmlPullParser arg1, Resources.Theme arg2) | | static Drawable | createFromXmlInner(Resources arg0, XmlPullParser arg1, AttributeSet arg2, Resources.Theme arg3) | | static Drawable | createFromXmlInner(Resources arg0, XmlPullParser arg1, AttributeSet arg2) | | abstract void | draw(Canvas arg0) | | int | getAlpha() | | final Rect | getBounds() | | Drawable.Callback | getCallback() | | int | getChangingConfigurations() | | ColorFilter | getColorFilter() | | Drawable.ConstantState | getConstantState() | | Drawable | getCurrent() | | Rect | getDirtyBounds() | | void | getHotspotBounds(Rect arg0) | | int | getIntrinsicHeight() | | int | getIntrinsicWidth() | | int | getLayoutDirection() | | final int | getLevel() | | int | getMinimumHeight() | | int | getMinimumWidth() | | abstract int | getOpacity() | | void | getOutline(Outline arg0) | | boolean | getPadding(Rect arg0) | | int[] | getState() | | Region | getTransparentRegion() | | void | inflate(Resources arg0, XmlPullParser arg1, AttributeSet arg2, Resources.Theme arg3) | | void | inflate(Resources arg0, XmlPullParser arg1, AttributeSet arg2) | | void | invalidateSelf() | | boolean | isAutoMirrored() | | boolean | isFilterBitmap() | | boolean | isStateful() | | final boolean | isVisible() | | void | jumpToCurrentState() | | Drawable | mutate() | | void | onBoundsChange(Rect arg0) | | boolean | onLayoutDirectionChanged(int arg0) | | boolean | onLevelChange(int arg0) | | boolean | onStateChange(int[] arg0) | | static int | resolveOpacity(int arg0, int arg1) | | void | scheduleSelf(Runnable arg0, long arg1) | | abstract void | setAlpha(int arg0) | | void | setAutoMirrored(boolean arg0) | | void | setBounds(int arg0, int arg1, int arg2, int arg3) | | void | setBounds(Rect arg0) | | final void | setCallback(Drawable.Callback arg0) | | void | setChangingConfigurations(int arg0) | | void | setColorFilter(int arg0, PorterDuff.Mode arg1) | | abstract void | setColorFilter(ColorFilter arg0) | | void | setDither(boolean arg0) | | void | setFilterBitmap(boolean arg0) | | void | setHotspot(float arg0, float arg1) | | void | setHotspotBounds(int arg0, int arg1, int arg2, int arg3) | | final boolean | setLayoutDirection(int arg0) | | final boolean | setLevel(int arg0) | | boolean | setState(int[] arg0) | | void | setTint(int arg0) | | void | setTintList(ColorStateList arg0) | | void | setTintMode(PorterDuff.Mode arg0) | | boolean | setVisible(boolean arg0, boolean arg1) | | void | unscheduleSelf(Runnable arg0) |

| | From class java.lang.Object

| Object | clone() | | boolean | equals(Object arg0) | | void | finalize() | | final Class<?> | getClass() | | int | hashCode() | | final void | notify() | | final void | notifyAll() | | String | toString() | | final void | wait(long arg0, int arg1) | | final void | wait(long arg0) | | final void | wait() |

| | From interface android.graphics.drawable.Drawable.Callback

| abstract void | invalidateDrawable(Drawable arg0) | | abstract void | scheduleDrawable(Drawable arg0, Runnable arg1, long arg2) | | abstract void | unscheduleDrawable(Drawable arg0, Runnable arg1) |

| | From interface com.facebook.drawee.drawable.DrawableParent

| abstract Drawable | getDrawable() Gets the child drawable. | | abstract Drawable | setDrawable(Drawable newDrawable) Sets the new child drawable. |

| | From interface com.facebook.drawee.drawable.TransformAwareDrawable

| abstract void | setTransformCallback(TransformCallback transformCallback) Sets a transform callback. |

| | From interface com.facebook.drawee.drawable.TransformCallback

| abstract void | getRootBounds(RectF bounds) Called when the drawable needs to get its root bounds. | | abstract void | getTransform(Matrix transform) Called when the drawable needs to get all matrices applied to it. |

|

Fields

protected TransformCallback mTransformCallback

Public Constructors

public ForwardingDrawable(Drawable drawable)

Constructs a new forwarding drawable.

Parameters

| drawable | drawable that this forwarding drawable will forward to |

Public Methods

public void draw(Canvas canvas)

public Drawable.ConstantState getConstantState()

public Drawable getCurrent()

public Drawable getDrawable()

Gets the child drawable.

Returns
  • the current child drawable

public int getIntrinsicHeight()

public int getIntrinsicWidth()

public int getOpacity()

public boolean getPadding(Rect padding)

public void getRootBounds(RectF bounds)

Called when the drawable needs to get its root bounds.

Parameters

| bounds | The root bounds of the drawable. |

public void getTransform(Matrix transform)

Called when the drawable needs to get all matrices applied to it.

Parameters

| transform | Matrix that is applied to the drawable by the parent drawables. |

public void getTransformedBounds(RectF outBounds)

Gets the transformed bounds of this drawable. Note: bounds are not cropped (otherwise they would likely be the same as drawable's bounds).

Parameters

| outBounds | rect to fill with bounds |

public void invalidateDrawable(Drawable who)

public boolean isStateful()

public Drawable mutate()

public void scheduleDrawable(Drawable who, Runnable what, long when)

public void setAlpha(int alpha)

public void setColorFilter(ColorFilter colorFilter)

public Drawable setCurrent(Drawable newDelegate)

Sets a new drawable to be the delegate, and returns the old one (or null).

This method will cause the drawable to be invalidated.

Returns
  • the previous delegate

public void setDither(boolean dither)

public Drawable setDrawable(Drawable newDrawable)

Sets the new child drawable.

Parameters

| newDrawable | a new child drawable to set |

Returns
  • the old child drawable

public void setFilterBitmap(boolean filterBitmap)

public void setHotspot(float x, float y)

public void setTransformCallback(TransformCallback transformCallback)

Sets a transform callback.

Parameters

| transformCallback | the transform callback to be set |

public boolean setVisible(boolean visible, boolean restart)

public void unscheduleDrawable(Drawable who, Runnable what)

Protected Methods

protected void getParentTransform(Matrix transform)

protected void onBoundsChange(Rect bounds)

protected boolean onLevelChange(int level)

protected boolean onStateChange(int[] state)

protected Drawable setCurrentWithoutInvalidate(Drawable newDelegate)

As setCurrent, but without invalidating a drawable. Subclasses are responsible to call invalidateSelf on their own.

Returns
  • the previous delegate

+Generated by Doclava. +