Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(666)

Side by Side Diff: tools/sk_tool_utils.h

Issue 1256903002: make fontscalar gammatext lcdtext typeface verttext2 gm portable (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: remove useless gm; fix nit Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gm/verttext2.cpp ('k') | tools/sk_tool_utils.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef sk_tool_utils_DEFINED 8 #ifndef sk_tool_utils_DEFINED
9 #define sk_tool_utils_DEFINED 9 #define sk_tool_utils_DEFINED
10 10
11 #include "SkColor.h" 11 #include "SkColor.h"
12 #include "SkImageEncoder.h" 12 #include "SkImageEncoder.h"
13 #include "SkImageInfo.h" 13 #include "SkImageInfo.h"
14 #include "SkPixelSerializer.h" 14 #include "SkPixelSerializer.h"
15 #include "SkTypeface.h" 15 #include "SkTypeface.h"
16 16
17 class SkBitmap; 17 class SkBitmap;
18 class SkCanvas; 18 class SkCanvas;
19 class SkPaint; 19 class SkPaint;
20 class SkShader; 20 class SkShader;
21 class SkTestFont; 21 class SkTestFont;
22 class SkTextBlobBuilder; 22 class SkTextBlobBuilder;
23 23
24 namespace sk_tool_utils { 24 namespace sk_tool_utils {
25 25
26 const char* colortype_name(SkColorType); 26 const char* colortype_name(SkColorType);
27
28 /**
29 * Map opaque colors from 8888 to 565.
30 */
27 SkColor color_to_565(SkColor color); 31 SkColor color_to_565(SkColor color);
32
33 /**
34 * Return a color emoji typeface if available.
35 */
28 void emoji_typeface(SkAutoTUnref<SkTypeface>* ); 36 void emoji_typeface(SkAutoTUnref<SkTypeface>* );
37
38 /**
39 * If the platform supports color emoji, return sample text the emoji can re nder.
40 */
29 const char* emoji_sample_text(); 41 const char* emoji_sample_text();
42
43 /**
44 * If the platform supports color emoji, return the type (i.e. "CBDT", "SBIX ", "").
45 */
30 const char* platform_os_emoji(); 46 const char* platform_os_emoji();
47
48 /**
49 * Return the platform name with the version number ("Mac10.9", "Win8", etc. ) if available.
50 */
31 const char* platform_os_name(); 51 const char* platform_os_name();
52
53 /**
54 * Return the platform name without the version number ("Mac", "Win", etc.) if available.
55 */
56 SkString major_platform_os_name();
57
58 /**
59 * Return the platform extra config (e.g. "GDI") if available.
60 */
32 const char* platform_extra_config(const char* config); 61 const char* platform_extra_config(const char* config);
33 62
34 /** 63 /**
64 * Map serif, san-serif, and monospace to the platform-specific font name.
65 */
66 const char* platform_font_name(const char* name);
67
68 /**
35 * Sets the paint to use a platform-independent text renderer if FLAGS_porta bleFonts is set. 69 * Sets the paint to use a platform-independent text renderer if FLAGS_porta bleFonts is set.
36 * FIXME: will become obsolete as GMs migrate to set portable typeface alway s. 70 * FIXME: will become obsolete as GMs migrate to set portable typeface alway s.
37 */ 71 */
38 void set_portable_typeface(SkPaint* paint, const char* name = NULL, 72 void set_portable_typeface(SkPaint* paint, const char* name = NULL,
39 SkTypeface::Style style = SkTypeface::kNormal); 73 SkTypeface::Style style = SkTypeface::kNormal);
74
75 /**
76 * Sets the paint to use a platform-independent text renderer
77 */
40 void set_portable_typeface_always(SkPaint* paint, const char* name = NULL, 78 void set_portable_typeface_always(SkPaint* paint, const char* name = NULL,
41 SkTypeface::Style style = SkTypeface::kNormal); 79 SkTypeface::Style style = SkTypeface::kNormal);
80
81 /**
82 * Returns a platform-independent text renderer if FLAGS_portableFonts is se t.
83 * FIXME: will become obsolete as GMs migrate to set portable typeface alway s.
84 */
42 SkTypeface* create_portable_typeface(const char* name, SkTypeface::Style sty le); 85 SkTypeface* create_portable_typeface(const char* name, SkTypeface::Style sty le);
86
87 /**
88 * Returns a platform-independent text renderer.
89 */
43 SkTypeface* create_portable_typeface_always(const char* name, SkTypeface::St yle style); 90 SkTypeface* create_portable_typeface_always(const char* name, SkTypeface::St yle style);
91
44 /** Call to clean up portable font references. */ 92 /** Call to clean up portable font references. */
45 void release_portable_typefaces(); 93 void release_portable_typefaces();
46 void report_used_chars();
47 94
48 /** 95 /**
49 * Call canvas->writePixels() by using the pixels from bitmap, but with an info that claims 96 * Call canvas->writePixels() by using the pixels from bitmap, but with an info that claims
50 * the pixels are colorType + alphaType 97 * the pixels are colorType + alphaType
51 */ 98 */
52 void write_pixels(SkCanvas*, const SkBitmap&, int x, int y, SkColorType, SkA lphaType); 99 void write_pixels(SkCanvas*, const SkBitmap&, int x, int y, SkColorType, SkA lphaType);
53 100
54 // private to sk_tool_utils 101 // private to sk_tool_utils
55 SkTypeface* create_font(const char* name, SkTypeface::Style ); 102 SkTypeface* create_font(const char* name, SkTypeface::Style );
56 SkTypeface* resource_font(const char* name, SkTypeface::Style );
57 103
58 /** Returns a newly created CheckerboardShader. */ 104 /** Returns a newly created CheckerboardShader. */
59 SkShader* create_checkerboard_shader(SkColor c1, SkColor c2, int size); 105 SkShader* create_checkerboard_shader(SkColor c1, SkColor c2, int size);
60 106
61 /** Draw a checkerboard pattern in the current canvas, restricted to 107 /** Draw a checkerboard pattern in the current canvas, restricted to
62 the current clip, using SkXfermode::kSrc_Mode. */ 108 the current clip, using SkXfermode::kSrc_Mode. */
63 void draw_checkerboard(SkCanvas* canvas, 109 void draw_checkerboard(SkCanvas* canvas,
64 SkColor color1, 110 SkColor color1,
65 SkColor color2, 111 SkColor color2,
66 int size); 112 int size);
(...skipping 15 matching lines...) Expand all
82 } 128 }
83 }; 129 };
84 130
85 // A helper for inserting a drawtext call into a SkTextBlobBuilder 131 // A helper for inserting a drawtext call into a SkTextBlobBuilder
86 void add_to_text_blob(SkTextBlobBuilder* builder, const char* text, const Sk Paint& origPaint, 132 void add_to_text_blob(SkTextBlobBuilder* builder, const char* text, const Sk Paint& origPaint,
87 SkScalar x, SkScalar y); 133 SkScalar x, SkScalar y);
88 134
89 } // namespace sk_tool_utils 135 } // namespace sk_tool_utils
90 136
91 #endif // sk_tool_utils_DEFINED 137 #endif // sk_tool_utils_DEFINED
OLDNEW
« no previous file with comments | « gm/verttext2.cpp ('k') | tools/sk_tool_utils.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698