package me.xiaopan.sketch.drawable;
import android.graphics.Bitmap;
import me.xiaopan.sketch.util.SketchUtils;
public abstract class SketchBitmap {
private String key;
private String uri;
protected Bitmap bitmap;
private ImageAttrs attrs;
protected SketchBitmap(Bitmap bitmap, String key, String uri, ImageAttrs attrs) {
if (bitmap == null || bitmap.isRecycled()) {
throw new IllegalArgumentException("bitmap is null or recycled");
}
this.bitmap = bitmap;
this.key = key;
this.uri = uri;
this.attrs = attrs;
}
public Bitmap getBitmap() {
return bitmap;
}
public String getKey() {
return key;
}
public String getUri() {
return uri;
}
public ImageAttrs getAttrs() {
return attrs;
}
public abstract String getInfo();
public int getByteCount() {
return SketchUtils.getByteCount(getBitmap());
}
public Bitmap.Config getBitmapConfig() {
return bitmap != null ? bitmap.getConfig() : null;
}
}