//Edge Effects...
package android.support.v4.view;
import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Canvas;
import android.view.View;
import android.widget.EdgeEffect;
/**
* Wrapper around {@link EdgeEffect} for compatibility with older versions of
* Android.
*/
@TargetApi(14)
public class EdgeEffectCompat {
/**
* The wrapped EdgeEffect.
*/
private EdgeEffect mEdge;
/**
* Call {@link EdgeEffect#EdgeEffect(Context)}.
*/
public EdgeEffectCompat(Context context)
{
mEdge = new EdgeEffect(context);
}
/**
* Call {@link EdgeEffect#onPull(float)}.
*/
public void onPull(float deltaDistance)
{
mEdge.onPull(deltaDistance);
}
/**
* Call {@link EdgeEffect#finish()}.
*/
public void finish()
{
mEdge.finish();
}
/**
* Call {@link EdgeEffect#isFinished()}.
*/
public boolean isFinished()
{
return mEdge.isFinished();
}
/**
* Call {@link EdgeEffect#onRelease()}.
*/
public void onRelease()
{
mEdge.onRelease();
}
/**
* Call {@link EdgeEffect#draw(Canvas)}.
*/
public boolean draw(Canvas canvas)
{
return mEdge.draw(canvas);
}
/**
* Call {@link EdgeEffect#setSize(int,int)}.
*/
public void setSize(int width, int height)
{
mEdge.setSize(width, height);
}
/**
* Call {@link View#getOverScrollMode()}.
*
* (This is unrelated to EdgeEffect; it's thrown in here since ViewPager
* also uses it.)
*/
public static int getOverScrollMode(View view)
{
return view.getOverScrollMode();
}
/**
* Call {@link View#canScrollHorizontally(int)}.
*
* (This is unrelated to EdgeEffect; it's thrown in here since ViewPager
* also uses it.)
*/
public static boolean canScrollHorizontally(View view, int direction)
{
return view.canScrollHorizontally(direction);
}
}