package hillfly.wifichat.common.view;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.util.AttributeSet;
import android.widget.ImageView;
public class RotateImageView extends ImageView {
private Bitmap mBitmap;
public RotateImageView(Context context) {
super(context);
}
public RotateImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public RotateImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void setImageBitmap(Bitmap bm) {
mBitmap = bm;
super.setImageBitmap(bm);
}
@Override
public void setImageResource(int resId) {
mBitmap = BitmapFactory.decodeResource(getResources(), resId);
super.setImageResource(resId);
}
public Bitmap rotate(RotateType type, float degrees) {
Matrix matrix = new Matrix();
if (type.equals(RotateType.LEFT)) {
matrix.setRotate(degrees * -1);
} else {
matrix.setRotate(degrees);
}
Bitmap bitmap = Bitmap.createBitmap(mBitmap, 0, 0, mBitmap.getWidth(),
mBitmap.getHeight(), matrix, true);
setImageBitmap(bitmap);
return bitmap;
}
public Bitmap getImageViewBitmap() {
return mBitmap;
}
public enum RotateType {
DEFAULT, LEFT, RIGHT;
}
}