diff options
Diffstat (limited to 'tools/sk_tool_utils.cpp')
-rw-r--r-- | tools/sk_tool_utils.cpp | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/tools/sk_tool_utils.cpp b/tools/sk_tool_utils.cpp index 1b35005d96..6a2beacac1 100644 --- a/tools/sk_tool_utils.cpp +++ b/tools/sk_tool_utils.cpp @@ -6,14 +6,16 @@ */ #include "sk_tool_utils.h" -#include "../src/fonts/SkTestScalerContext.h" +#include "sk_tool_utils_flags.h" #include "SkBitmap.h" #include "SkCanvas.h" +#include "SkTestScalerContext.h" -namespace sk_tool_utils { +DEFINE_bool(portableFonts, false, "Use portable fonts"); +DEFINE_bool(resourceFonts, false, "Use resource fonts"); -bool gEnablePortableTypeface = false; +namespace sk_tool_utils { const char* colortype_name(SkColorType ct) { switch (ct) { @@ -30,12 +32,21 @@ const char* colortype_name(SkColorType ct) { } } -SkPaint::FontMetrics create_font(SkTDArray<SkPath*>& , SkTDArray<SkFixed>& ); - -void set_portable_typeface(SkPaint* paint, SkTypeface::Style style) { - if (gEnablePortableTypeface) { - SkSafeUnref(paint->setTypeface(CreateTestTypeface(create_font, style))); +SkTypeface* create_portable_typeface(const char* name, SkTypeface::Style style) { + SkTypeface* face; + if (FLAGS_portableFonts) { + face = create_font(name, style); + } else if (FLAGS_resourceFonts) { + face = resource_font(name, style); + } else { + face = SkTypeface::CreateFromName(name, style); } + return face; +} + +void set_portable_typeface(SkPaint* paint, const char* name, SkTypeface::Style style) { + SkTypeface* face = create_portable_typeface(name, style); + SkSafeUnref(paint->setTypeface(face)); } void write_pixels(SkCanvas* canvas, const SkBitmap& bitmap, int x, int y, |