diff options
Diffstat (limited to 'gfx/skia/skia/src/android/SkBitmapRegionCodec.h')
-rw-r--r-- | gfx/skia/skia/src/android/SkBitmapRegionCodec.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gfx/skia/skia/src/android/SkBitmapRegionCodec.h b/gfx/skia/skia/src/android/SkBitmapRegionCodec.h new file mode 100644 index 000000000..79774173b --- /dev/null +++ b/gfx/skia/skia/src/android/SkBitmapRegionCodec.h @@ -0,0 +1,37 @@ +/* + * Copyright 2015 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "SkBitmap.h" +#include "SkBitmapRegionDecoder.h" +#include "SkAndroidCodec.h" + +/* + * This class implements SkBitmapRegionDecoder using an SkAndroidCodec. + */ +class SkBitmapRegionCodec : public SkBitmapRegionDecoder { +public: + + /* + * Takes ownership of pointer to codec + */ + SkBitmapRegionCodec(SkAndroidCodec* codec); + + bool decodeRegion(SkBitmap* bitmap, SkBRDAllocator* allocator, + const SkIRect& desiredSubset, int sampleSize, + SkColorType colorType, bool requireUnpremul) override; + + bool conversionSupported(SkColorType colorType) override; + + SkEncodedFormat getEncodedFormat() override { return fCodec->getEncodedFormat(); } + +private: + + SkAutoTDelete<SkAndroidCodec> fCodec; + + typedef SkBitmapRegionDecoder INHERITED; + +}; |