diff options
Diffstat (limited to 'tools/Resources.cpp')
-rw-r--r-- | tools/Resources.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/tools/Resources.cpp b/tools/Resources.cpp index 606c5c4968..50c08922fa 100644 --- a/tools/Resources.cpp +++ b/tools/Resources.cpp @@ -6,8 +6,10 @@ */ #include "Resources.h" - +#include "SkBitmap.h" #include "SkCommandLineFlags.h" +#include "SkData.h" +#include "SkDecodingImageGenerator.h" #include "SkOSFile.h" DEFINE_string2(resourcePath, i, "resources", "Directory with test resources: images, fonts, etc."); @@ -19,3 +21,12 @@ SkString GetResourcePath(const char* resource) { void SetResourcePath(const char* resource) { FLAGS_resourcePath.set(0, resource); } + +bool GetResourceAsBitmap(const char* resource, SkBitmap* dst) { + SkString resourcePath = GetResourcePath(resource); + SkAutoTUnref<SkData> resourceData( + SkData::NewFromFileName(resourcePath.c_str())); + return resourceData && SkInstallDiscardablePixelRef( + SkDecodingImageGenerator::Create( + resourceData, SkDecodingImageGenerator::Options()), dst); +} |