Chromium Code Reviews| Index: src/image/SkImage_Codec.cpp |
| diff --git a/src/image/SkImage_Codec.cpp b/src/image/SkImage_Codec.cpp |
| index 61661de3569f86b4faf479ad43fb17219468d29c..a7e494fc831d29ce3e21f7d7c9d919613364a3dc 100644 |
| --- a/src/image/SkImage_Codec.cpp |
| +++ b/src/image/SkImage_Codec.cpp |
| @@ -19,6 +19,7 @@ public: |
| virtual ~SkImage_Codec(); |
| virtual void onDraw(SkCanvas*, SkScalar, SkScalar, const SkPaint*) SK_OVERRIDE; |
| + virtual void onDrawRectToRect(SkCanvas*, const SkRect*, const SkRect&, const SkPaint*) SK_OVERRIDE; |
| private: |
| SkData* fEncodedData; |
| @@ -48,6 +49,16 @@ void SkImage_Codec::onDraw(SkCanvas* canvas, SkScalar x, SkScalar y, const SkPai |
| canvas->drawBitmap(fBitmap, x, y, paint); |
| } |
| +void SkImage_Codec::onDrawRectToRect(SkCanvas* canvas, const SkRect* src, const SkRect& dst, const SkPaint* paint) { |
|
reed1
2013/07/19 20:28:52
exceeding 80/100 cols
|
| + if (!fBitmap.pixelRef()) { |
| + if (!SkImageDecoder::DecodeMemory(fEncodedData->bytes(), fEncodedData->size(), |
| + &fBitmap)) { |
| + return; |
| + } |
| + } |
| + canvas->drawBitmapRectToRect(fBitmap, src, dst, paint); |
| +} |
| + |
| /////////////////////////////////////////////////////////////////////////////// |
| SkImage* SkImage::NewEncodedData(SkData* data) { |