Home | History | Annotate | Download | only in images
      1 /*
      2  * Copyright 2011 The Android Open Source Project
      3  *
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 
      9 #ifndef SkBitmapRegionDecoder_DEFINED
     10 #define SkBitmapRegionDecoder_DEFINED
     11 
     12 #include "SkBitmap.h"
     13 #include "SkRect.h"
     14 #include "SkImageDecoder.h"
     15 #include "SkStream.h"
     16 
     17 class SkBitmapRegionDecoder {
     18 public:
     19     SkBitmapRegionDecoder(SkImageDecoder *decoder, SkStream *stream,
     20             int width, int height) {
     21         fDecoder = decoder;
     22         fStream = stream;
     23         fWidth = width;
     24         fHeight = height;
     25     }
     26     virtual ~SkBitmapRegionDecoder() {
     27         delete fDecoder;
     28         fStream->unref();
     29     }
     30 
     31     virtual bool decodeRegion(SkBitmap* bitmap, SkIRect rect,
     32                               SkBitmap::Config pref, int sampleSize);
     33 
     34     virtual int getWidth() { return fWidth; }
     35     virtual int getHeight() { return fHeight; }
     36 
     37     virtual SkImageDecoder* getDecoder() { return fDecoder; }
     38 
     39 private:
     40     SkImageDecoder *fDecoder;
     41     SkStream *fStream;
     42     int fWidth;
     43     int fHeight;
     44 };
     45 
     46 #endif
     47