Chromium Code Reviews| Index: gm/downsamplebitmap.cpp |
| diff --git a/gm/downsamplebitmap.cpp b/gm/downsamplebitmap.cpp |
| index 771eb6ab53d34c8b75ae246b777eb3f09e850e45..901d9d3db9ec54f62cdebc34cb3e1b9bbaa71a0a 100644 |
| --- a/gm/downsamplebitmap.cpp |
| +++ b/gm/downsamplebitmap.cpp |
| @@ -8,9 +8,10 @@ |
| #include "gm.h" |
| #include "Resources.h" |
| +#include "SkData.h" |
| +#include "SkImage.h" |
| #include "SkGradientShader.h" |
| #include "SkTypeface.h" |
| -#include "SkImageDecoder.h" |
| #include "SkStream.h" |
| #include "SkPaint.h" |
| @@ -171,21 +172,14 @@ class DownsampleBitmapImageGM: public DownsampleBitmapGM { |
| int fSize; |
| void make_bitmap() override { |
| - SkImageDecoder* codec = nullptr; |
| - SkString resourcePath = GetResourcePath(fFilename.c_str()); |
| - SkFILEStream stream(resourcePath.c_str()); |
| - if (stream.isValid()) { |
| - codec = SkImageDecoder::Factory(&stream); |
| - } |
| - if (codec) { |
| - stream.rewind(); |
| - codec->decode(&stream, &fBM, kN32_SkColorType, SkImageDecoder::kDecodePixels_Mode); |
| - delete codec; |
| - } else { |
| - fBM.allocN32Pixels(1, 1); |
| - *(fBM.getAddr32(0,0)) = 0xFF0000FF; // red == bad |
| - } |
| - fSize = fBM.height(); |
| + SkAutoTUnref<SkData> data(SkData::NewFromFileName( |
| + GetResourcePath(fFilename.c_str()).c_str())); |
| + SkAutoTDelete<SkImage> image(SkImage::NewFromEncoded(data)); |
| + if (!image || !image->asLegacyBitmap(&fBM, SkImage::kRW_LegacyBitmapMode)) { |
|
scroggo
2016/03/17 13:05:48
Could you simplify this by using GetResourceAsBitm
msarett
2016/03/17 13:53:38
Done.
|
| + fBM.allocN32Pixels(1, 1); |
| + fBM.eraseARGB(255, 255, 0 , 0); // red == bad |
| + } |
| + fSize = fBM.height(); |
| } |
| private: |
| typedef DownsampleBitmapGM INHERITED; |