diff options
author | bungeman <bungeman@google.com> | 2015-04-30 17:12:58 -0400 |
---|---|---|
committer | bungeman <bungeman@google.com> | 2015-04-30 17:12:58 -0400 |
commit | 3ffa126066542590dc7430514a1174e49191b875 (patch) | |
tree | be4f38159a515b02340ae6c24a7c253513b52177 /tools/Resources.cpp | |
parent | a09c0461463a5976908af5232b755e1663b972bf (diff) |
Move resource fonts to common location.
Move resource fonts to resources/fonts, add a destortable font for
testing, and clean up how the tests create fonts from resources.
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/1120823002
Diffstat (limited to 'tools/Resources.cpp')
-rw-r--r-- | tools/Resources.cpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/tools/Resources.cpp b/tools/Resources.cpp index 43cc21d209..4767edde5f 100644 --- a/tools/Resources.cpp +++ b/tools/Resources.cpp @@ -11,6 +11,8 @@ #include "SkData.h" #include "SkImageGenerator.h" #include "SkOSFile.h" +#include "SkStream.h" +#include "SkTypeface.h" DEFINE_string2(resourcePath, i, "resources", "Directory with test resources: images, fonts, etc."); @@ -24,7 +26,29 @@ void SetResourcePath(const char* resource) { bool GetResourceAsBitmap(const char* resource, SkBitmap* dst) { SkString resourcePath = GetResourcePath(resource); - SkAutoTUnref<SkData> resourceData( - SkData::NewFromFileName(resourcePath.c_str())); + SkAutoTUnref<SkData> resourceData(SkData::NewFromFileName(resourcePath.c_str())); return resourceData && SkInstallDiscardablePixelRef(resourceData, dst); } + +SkStreamAsset* GetResourceAsStream(const char* resource) { + SkString resourcePath = GetResourcePath(resource); + SkAutoTDelete<SkFILEStream> stream(new SkFILEStream(resourcePath.c_str())); + if (stream->isValid()) { + return stream.detach(); + } else { + SkDebugf("Resource %s not found.\n", resource); + return NULL; + } +} + +SkTypeface* GetResourceAsTypeface(const char* resource) { + SkAutoTDelete<SkStreamAsset> stream(GetResourceAsStream(resource)); + if (!stream) { + return NULL; + } + SkAutoTUnref<SkTypeface> typeface(SkTypeface::CreateFromStream(stream.detach())); + if (!typeface) { + SkDebugf("Resource %s not a valid font.", resource); + } + return typeface.detach(); +} |