• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef SkBitmapRegionDecoder_DEFINED
2 #define SkBitmapRegionDecoder_DEFINED
3 
4 #include "SkBitmap.h"
5 #include "SkRect.h"
6 #include "SkImageDecoder.h"
7 #include "SkStream.h"
8 
9 class SkBitmapRegionDecoder {
10 public:
SkBitmapRegionDecoder(SkImageDecoder * decoder,SkStream * stream,int width,int height)11     SkBitmapRegionDecoder(SkImageDecoder *decoder, SkStream *stream,
12             int width, int height) {
13         fDecoder = decoder;
14         fStream = stream;
15         fWidth = width;
16         fHeight = height;
17     }
~SkBitmapRegionDecoder()18     virtual ~SkBitmapRegionDecoder() {
19         delete fDecoder;
20         fStream->unref();
21     }
22 
23     virtual bool decodeRegion(SkBitmap* bitmap, SkIRect rect,
24                               SkBitmap::Config pref, int sampleSize);
25 
getWidth()26     virtual int getWidth() { return fWidth; }
getHeight()27     virtual int getHeight() { return fHeight; }
28 
getDecoder()29     virtual SkImageDecoder* getDecoder() { return fDecoder; }
30 
31 private:
32     SkImageDecoder *fDecoder;
33     SkStream *fStream;
34     int fWidth;
35     int fHeight;
36 };
37 
38 #endif
39