diff options
author | Andrew Dolgov <[email protected]> | 2012-10-17 14:21:48 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2012-10-17 14:21:48 +0400 |
commit | 7a3c544825e7c6c7fe3af8b947f2ea463b4723cb (patch) | |
tree | 5119a4230de29bafb3568245e902dfaefa3a1985 /src/it/sephiroth/android/library/imagezoom/graphics/FastBitmapDrawable.java | |
parent | 8ef5f5aa357aac7d3be22604c95ebed1597c6d55 (diff) |
switch to ImageViewTouch
Diffstat (limited to 'src/it/sephiroth/android/library/imagezoom/graphics/FastBitmapDrawable.java')
-rw-r--r-- | src/it/sephiroth/android/library/imagezoom/graphics/FastBitmapDrawable.java | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/src/it/sephiroth/android/library/imagezoom/graphics/FastBitmapDrawable.java b/src/it/sephiroth/android/library/imagezoom/graphics/FastBitmapDrawable.java new file mode 100644 index 0000000..8afc38e --- /dev/null +++ b/src/it/sephiroth/android/library/imagezoom/graphics/FastBitmapDrawable.java @@ -0,0 +1,84 @@ +package it.sephiroth.android.library.imagezoom.graphics; + +import java.io.InputStream; +import android.content.res.Resources; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.PixelFormat; +import android.graphics.drawable.Drawable; + +/** + * Fast bitmap drawable. Does not support states. it only + * support alpha and colormatrix + * @author alessandro + * + */ +public class FastBitmapDrawable extends Drawable implements IBitmapDrawable { + + protected Bitmap mBitmap; + protected Paint mPaint; + + public FastBitmapDrawable( Bitmap b ) { + mBitmap = b; + mPaint = new Paint(); + mPaint.setDither( true ); + mPaint.setFilterBitmap( true ); + } + + public FastBitmapDrawable( Resources res, InputStream is ){ + this(BitmapFactory.decodeStream(is)); + } + + @Override + public void draw( Canvas canvas ) { + canvas.drawBitmap( mBitmap, 0.0f, 0.0f, mPaint ); + } + + @Override + public int getOpacity() { + return PixelFormat.TRANSLUCENT; + } + + @Override + public void setAlpha( int alpha ) { + mPaint.setAlpha( alpha ); + } + + @Override + public void setColorFilter( ColorFilter cf ) { + mPaint.setColorFilter( cf ); + } + + @Override + public int getIntrinsicWidth() { + return mBitmap.getWidth(); + } + + @Override + public int getIntrinsicHeight() { + return mBitmap.getHeight(); + } + + @Override + public int getMinimumWidth() { + return mBitmap.getWidth(); + } + + @Override + public int getMinimumHeight() { + return mBitmap.getHeight(); + } + + public void setAntiAlias( boolean value ){ + mPaint.setAntiAlias( value ); + invalidateSelf(); + } + + @Override + public Bitmap getBitmap() { + return mBitmap; + } +}
\ No newline at end of file |