package MyJar;
|
|
import android.graphics.Canvas;
|
import android.graphics.ColorFilter;
|
import android.graphics.PixelFormat;
|
import android.graphics.Rect;
|
import android.graphics.drawable.Animatable;
|
import android.graphics.drawable.Drawable;
|
|
|
public class LoadingDrawable extends Drawable implements Animatable {
|
private final LoadingRenderer mLoadingRender;
|
|
private final Callback mCallback = new Callback() {
|
@Override
|
public void invalidateDrawable(Drawable d) {
|
invalidateSelf();
|
}
|
|
@Override
|
public void scheduleDrawable(Drawable d, Runnable what, long when) {
|
scheduleSelf(what, when);
|
}
|
|
@Override
|
public void unscheduleDrawable(Drawable d, Runnable what) {
|
unscheduleSelf(what);
|
}
|
};
|
|
public LoadingDrawable(LoadingRenderer loadingRender) {
|
this.mLoadingRender = loadingRender;
|
this.mLoadingRender.setCallback(mCallback);
|
}
|
|
@Override
|
protected void onBoundsChange(Rect bounds) {
|
super.onBoundsChange(bounds);
|
this.mLoadingRender.setBounds(bounds);
|
}
|
|
@Override
|
public void draw(Canvas canvas) {
|
if (!getBounds().isEmpty()) {
|
this.mLoadingRender.draw(canvas);
|
}
|
}
|
|
@Override
|
public void setAlpha(int alpha) {
|
this.mLoadingRender.setAlpha(alpha);
|
}
|
|
@Override
|
public void setColorFilter(ColorFilter cf) {
|
this.mLoadingRender.setColorFilter(cf);
|
}
|
|
@Override
|
public int getOpacity() {
|
return PixelFormat.TRANSLUCENT;
|
}
|
|
@Override
|
public void start() {
|
this.mLoadingRender.start();
|
}
|
|
@Override
|
public void stop() {
|
this.mLoadingRender.stop();
|
}
|
|
@Override
|
public boolean isRunning() {
|
return this.mLoadingRender.isRunning();
|
}
|
|
@Override
|
public int getIntrinsicHeight() {
|
return (int) this.mLoadingRender.mHeight;
|
}
|
|
@Override
|
public int getIntrinsicWidth() {
|
return (int) this.mLoadingRender.mWidth;
|
}
|
}
|