OLD | NEW |
1 /* | 1 ο»Ώ/* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 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 "sk_tool_utils.h" | 8 #include "sk_tool_utils.h" |
9 #include "sk_tool_utils_flags.h" | 9 #include "sk_tool_utils_flags.h" |
10 | 10 |
| 11 #include "Resources.h" |
11 #include "SkBitmap.h" | 12 #include "SkBitmap.h" |
12 #include "SkCanvas.h" | 13 #include "SkCanvas.h" |
13 #include "SkCommonFlags.h" | 14 #include "SkCommonFlags.h" |
14 #include "SkShader.h" | 15 #include "SkShader.h" |
15 #include "SkTestScalerContext.h" | 16 #include "SkTestScalerContext.h" |
16 #include "SkTextBlob.h" | 17 #include "SkTextBlob.h" |
17 | 18 |
18 DEFINE_bool(portableFonts, false, "Use portable fonts"); | 19 DEFINE_bool(portableFonts, false, "Use portable fonts"); |
19 DEFINE_bool(resourceFonts, false, "Use resource fonts"); | 20 DEFINE_bool(resourceFonts, false, "Use resource fonts"); |
20 | 21 |
21 namespace sk_tool_utils { | 22 namespace sk_tool_utils { |
22 | 23 |
| 24 const char* platform_os_emoji() { |
| 25 const char* osName = platform_os_name(); |
| 26 if (!strcmp(osName, "Android") || !strcmp(osName, "Unbuntu")) { |
| 27 return "CBDT"; |
| 28 } |
| 29 if (!strncmp(osName, "Mac", 3)) { |
| 30 return "SBIX"; |
| 31 } |
| 32 return ""; |
| 33 } |
| 34 |
| 35 SkTypeface* emoji_typeface() { |
| 36 if (!strcmp(sk_tool_utils::platform_os_emoji(), "CBDT")) { |
| 37 return GetResourceAsTypeface("/fonts/Funkster.ttf"); |
| 38 } |
| 39 if (!strcmp(sk_tool_utils::platform_os_emoji(), "SBIX")) { |
| 40 return SkTypeface::CreateFromName("Apple Color Emoji", SkTypeface::kNorm
al); |
| 41 } |
| 42 return NULL; |
| 43 } |
| 44 |
| 45 const char* emoji_sample_text() { |
| 46 if (!strcmp(sk_tool_utils::platform_os_emoji(), "CBDT")) { |
| 47 return "Hamburgefons"; |
| 48 } |
| 49 if (!strcmp(sk_tool_utils::platform_os_emoji(), "SBIX")) { |
| 50 return "\xF0\x9F\x92\xB0" "\xF0\x9F\x8F\xA1" "\xF0\x9F\x8E\x85" // π°π‘π
|
| 51 "\xF0\x9F\x8D\xAA" "\xF0\x9F\x8D\x95" "\xF0\x9F\x9A\x80" // πͺππ |
| 52 "\xF0\x9F\x9A\xBB" "\xF0\x9F\x92\xA9" "\xF0\x9F\x93\xB7" // π»π©π· |
| 53 "\xF0\x9F\x93\xA6" // π¦ |
| 54 "\xF0\x9F\x87\xBA" "\xF0\x9F\x87\xB8" "\xF0\x9F\x87\xA6"; // πΊπΈπ¦ |
| 55 } |
| 56 return ""; |
| 57 } |
| 58 |
23 const char* platform_os_name() { | 59 const char* platform_os_name() { |
24 for (int index = 0; index < FLAGS_key.count(); index += 2) { | 60 for (int index = 0; index < FLAGS_key.count(); index += 2) { |
25 if (!strcmp("os", FLAGS_key[index])) { | 61 if (!strcmp("os", FLAGS_key[index])) { |
26 return FLAGS_key[index + 1]; | 62 return FLAGS_key[index + 1]; |
27 } | 63 } |
28 } | 64 } |
29 // when running SampleApp or dm without a --key pair, omit the platform name | 65 // when running SampleApp or dm without a --key pair, omit the platform name |
30 return ""; | 66 return ""; |
31 } | 67 } |
32 | 68 |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 paint.textToGlyphs(text, len, glyphs.begin()); | 159 paint.textToGlyphs(text, len, glyphs.begin()); |
124 | 160 |
125 paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding); | 161 paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding); |
126 const SkTextBlobBuilder::RunBuffer& run = builder->allocRun(paint, glyphs.co
unt(), x, y, | 162 const SkTextBlobBuilder::RunBuffer& run = builder->allocRun(paint, glyphs.co
unt(), x, y, |
127 NULL); | 163 NULL); |
128 memcpy(run.glyphs, glyphs.begin(), glyphs.count() * sizeof(uint16_t)); | 164 memcpy(run.glyphs, glyphs.begin(), glyphs.count() * sizeof(uint16_t)); |
129 } | 165 } |
130 | 166 |
131 | 167 |
132 } // namespace sk_tool_utils | 168 } // namespace sk_tool_utils |
OLD | NEW |