Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "gm.h" | 8 #include "gm.h" |
| 9 #include "SkCanvas.h" | 9 #include "SkCanvas.h" |
| 10 #include "SkString.h" | 10 #include "SkString.h" |
| 11 #include "SkTypeface.h" | 11 #include "SkTypeface.h" |
| 12 #include "SkTypes.h" | 12 #include "SkTypes.h" |
| 13 | 13 |
| 14 static const char* gFaces[] = { | 14 static const char* gFaces[] = { |
| 15 "Times Roman", | 15 "serif", |
| 16 "Hiragino Maru Gothic Pro", | 16 "sans-serif", |
| 17 "Papyrus", | 17 "monospace", |
| 18 "Helvetica", | |
| 19 "Courier New" | |
| 20 }; | 18 }; |
| 21 | 19 |
| 22 class TypefaceGM : public skiagm::GM { | 20 class TypefaceGM : public skiagm::GM { |
|
bungeman-skia
2015/07/24 17:54:53
I think the use case for this GM is completely cov
caryclark
2015/07/24 17:59:50
Done.
| |
| 23 public: | 21 public: |
| 24 TypefaceGM() | 22 TypefaceGM() |
| 25 : fFaces(NULL) { | 23 : fFaces(NULL) { |
| 26 } | 24 } |
| 27 | 25 |
| 28 virtual ~TypefaceGM() { | 26 virtual ~TypefaceGM() { |
| 29 if (fFaces) { | 27 if (fFaces) { |
| 30 for (size_t i = 0; i < SK_ARRAY_COUNT(gFaces); i++) { | 28 for (size_t i = 0; i < SK_ARRAY_COUNT(gFaces); i++) { |
| 31 SkSafeUnref(fFaces[i]); | 29 SkSafeUnref(fFaces[i]); |
| 32 } | 30 } |
| 33 delete [] fFaces; | 31 delete [] fFaces; |
| 34 } | 32 } |
| 35 } | 33 } |
| 36 | 34 |
| 37 protected: | 35 protected: |
| 38 void onOnceBeforeDraw() override { | 36 void onOnceBeforeDraw() override { |
| 39 fFaces = new SkTypeface*[SK_ARRAY_COUNT(gFaces)]; | 37 fFaces = new SkTypeface*[SK_ARRAY_COUNT(gFaces)]; |
| 40 for (size_t i = 0; i < SK_ARRAY_COUNT(gFaces); i++) { | 38 for (size_t i = 0; i < SK_ARRAY_COUNT(gFaces); i++) { |
| 41 fFaces[i] = sk_tool_utils::create_portable_typeface(gFaces[i], SkTyp eface::kNormal); | 39 fFaces[i] = SkTypeface::CreateFromName(sk_tool_utils::platform_font_ name( |
| 40 gFaces[i]), SkTypeface::kNormal); | |
| 42 } | 41 } |
| 43 } | 42 } |
| 44 | 43 |
| 45 SkString onShortName() override { | 44 SkString onShortName() override { |
| 46 return SkString("typeface"); | 45 SkString name("typeface"); |
| 46 name.append(sk_tool_utils::major_platform_os_name()); | |
| 47 return name; | |
| 47 } | 48 } |
| 48 | 49 |
| 49 SkISize onISize() override { | 50 SkISize onISize() override { |
| 50 return SkISize::Make(640, 480); | 51 return SkISize::Make(640, 480); |
| 51 } | 52 } |
| 52 | 53 |
| 53 void onDraw(SkCanvas* canvas) override { | 54 void onDraw(SkCanvas* canvas) override { |
| 54 SkString text("Typefaces are fun!"); | 55 SkString text("Typefaces are fun!"); |
| 55 SkScalar y = 0; | 56 SkScalar y = 0; |
| 56 | 57 |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 170 | 171 |
| 171 virtual ~TypefaceStylesGM() { | 172 virtual ~TypefaceStylesGM() { |
| 172 for (int i = 0; i < gFaceStylesCount; i++) { | 173 for (int i = 0; i < gFaceStylesCount; i++) { |
| 173 SkSafeUnref(fFaces[i]); | 174 SkSafeUnref(fFaces[i]); |
| 174 } | 175 } |
| 175 } | 176 } |
| 176 | 177 |
| 177 protected: | 178 protected: |
| 178 void onOnceBeforeDraw() override { | 179 void onOnceBeforeDraw() override { |
| 179 for (int i = 0; i < gFaceStylesCount; i++) { | 180 for (int i = 0; i < gFaceStylesCount; i++) { |
| 180 fFaces[i] = sk_tool_utils::create_portable_typeface(gFaceStyles[i].f Name, | 181 fFaces[i] = SkTypeface::CreateFromName( |
| 181 gFaceStyles[i].fStyle); | 182 sk_tool_utils::platform_font_name(gFaceStyles[i].fName), gFa ceStyles[i].fStyle); |
| 182 } | 183 } |
| 183 } | 184 } |
| 184 | 185 |
| 185 SkString onShortName() override { | 186 SkString onShortName() override { |
| 186 SkString name("typefacestyles"); | 187 SkString name("typefacestyles"); |
| 187 if (fApplyKerning) { | 188 if (fApplyKerning) { |
| 188 name.append("_kerning"); | 189 name.append("_kerning"); |
| 189 } | 190 } |
| 190 return name; | 191 return name; |
| 191 } | 192 } |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 223 | 224 |
| 224 private: | 225 private: |
| 225 typedef skiagm::GM INHERITED; | 226 typedef skiagm::GM INHERITED; |
| 226 }; | 227 }; |
| 227 | 228 |
| 228 /////////////////////////////////////////////////////////////////////////////// | 229 /////////////////////////////////////////////////////////////////////////////// |
| 229 | 230 |
| 230 DEF_GM( return new TypefaceGM; ) | 231 DEF_GM( return new TypefaceGM; ) |
| 231 DEF_GM( return new TypefaceStylesGM(false); ) | 232 DEF_GM( return new TypefaceStylesGM(false); ) |
| 232 DEF_GM( return new TypefaceStylesGM(true); ) | 233 DEF_GM( return new TypefaceStylesGM(true); ) |
| OLD | NEW |