From 3ffa126066542590dc7430514a1174e49191b875 Mon Sep 17 00:00:00 2001 From: bungeman Date: Thu, 30 Apr 2015 17:12:58 -0400 Subject: 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 --- tools/Resources.cpp | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'tools/Resources.cpp') 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 resourceData( - SkData::NewFromFileName(resourcePath.c_str())); + SkAutoTUnref resourceData(SkData::NewFromFileName(resourcePath.c_str())); return resourceData && SkInstallDiscardablePixelRef(resourceData, dst); } + +SkStreamAsset* GetResourceAsStream(const char* resource) { + SkString resourcePath = GetResourcePath(resource); + SkAutoTDelete 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 stream(GetResourceAsStream(resource)); + if (!stream) { + return NULL; + } + SkAutoTUnref typeface(SkTypeface::CreateFromStream(stream.detach())); + if (!typeface) { + SkDebugf("Resource %s not a valid font.", resource); + } + return typeface.detach(); +} -- cgit v1.2.3