aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/etc1bitmap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gm/etc1bitmap.cpp')
-rw-r--r--gm/etc1bitmap.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/gm/etc1bitmap.cpp b/gm/etc1bitmap.cpp
index d2cd726886..bb8ca6f406 100644
--- a/gm/etc1bitmap.cpp
+++ b/gm/etc1bitmap.cpp
@@ -7,6 +7,8 @@
#include "gm.h"
#include "SkCanvas.h"
+#include "SkData.h"
+#include "SkDecodingImageGenerator.h"
#include "SkImageDecoder.h"
#include "SkOSFile.h"
@@ -35,13 +37,20 @@ protected:
SkBitmap bm;
SkString filename = SkOSPath::SkPathJoin(
INHERITED::gResourcePath.c_str(), "mandrill_512.pkm");
- if (!SkImageDecoder::DecodeFile(filename.c_str(), &bm,
- SkBitmap::kARGB_8888_Config,
- SkImageDecoder::kDecodePixels_Mode)) {
- SkDebugf("Could not decode the file. Did you forget to set the "
- "resourcePath?\n");
+
+ SkData *fileData = SkData::NewFromFileName(filename.c_str());
+ if (NULL == fileData) {
+ SkDebugf("Could not open the file. Did you forget to set the resourcePath?\n");
return;
}
+
+ if (!SkInstallDiscardablePixelRef(
+ SkDecodingImageGenerator::Create(
+ fileData, SkDecodingImageGenerator::Options()), &bm)) {
+ SkDebugf("Could not install discardable pixel ref.\n");
+ return;
+ }
+
canvas->drawBitmap(bm, 0, 0);
}