diff options
author | caryclark <caryclark@google.com> | 2015-06-12 11:49:04 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-12 11:49:04 -0700 |
commit | d85093c28fe360650c46971b00a39c6dbf991a6b (patch) | |
tree | 5055cc609122b43052adc27adb2ee10305c2e9d0 | |
parent | 1866b571f18f1ac326e2e8765d79511ecf58164d (diff) |
make emptypath portable; add 565 color utility
R=djsollen@google.com
Review URL: https://codereview.chromium.org/1182833004
-rw-r--r-- | gm/emptypath.cpp | 8 | ||||
-rw-r--r-- | tools/sk_tool_utils.cpp | 6 | ||||
-rw-r--r-- | tools/sk_tool_utils.h | 1 |
3 files changed, 11 insertions, 4 deletions
diff --git a/gm/emptypath.cpp b/gm/emptypath.cpp index 3b6fe8108f..219b9432d3 100644 --- a/gm/emptypath.cpp +++ b/gm/emptypath.cpp @@ -63,7 +63,7 @@ protected: SkPaint titlePaint; titlePaint.setColor(SK_ColorBLACK); titlePaint.setAntiAlias(true); - sk_tool_utils::set_portable_typeface(&titlePaint); + sk_tool_utils::set_portable_typeface_always(&titlePaint); titlePaint.setLCDRenderText(true); titlePaint.setTextSize(15 * SK_Scalar1); const char title[] = "Empty Paths Drawn Into Rectangle Clips With " @@ -92,7 +92,8 @@ protected: SkColor color = rand.nextU(); - color = 0xff000000| color; // force solid + color = 0xff000000 | color; // force solid + sk_tool_utils::color_to_565(&color); this->drawEmpty(canvas, color, rect, gStyles[style].fStyle, gFills[fill].fFill); @@ -106,8 +107,7 @@ protected: SkPaint labelPaint; labelPaint.setColor(color); labelPaint.setAntiAlias(true); - sk_tool_utils::set_portable_typeface(&labelPaint); - labelPaint.setLCDRenderText(true); + sk_tool_utils::set_portable_typeface_always(&labelPaint); labelPaint.setTextSize(12 * SK_Scalar1); canvas->drawText(gStyles[style].fName, strlen(gStyles[style].fName), diff --git a/tools/sk_tool_utils.cpp b/tools/sk_tool_utils.cpp index 6fcd33751f..ec7942b165 100644 --- a/tools/sk_tool_utils.cpp +++ b/tools/sk_tool_utils.cpp @@ -34,6 +34,12 @@ const char* colortype_name(SkColorType ct) { } } +void color_to_565(SkColor* color) { + SkPMColor pmColor = SkPreMultiplyColor(*color); + U16CPU color16 = SkPixel32ToPixel16(pmColor); + *color = SkPixel16ToColor(color16); +} + SkTypeface* create_portable_typeface(const char* name, SkTypeface::Style style) { SkTypeface* face; if (FLAGS_portableFonts) { diff --git a/tools/sk_tool_utils.h b/tools/sk_tool_utils.h index 484a81008c..4d4a5b4fcd 100644 --- a/tools/sk_tool_utils.h +++ b/tools/sk_tool_utils.h @@ -24,6 +24,7 @@ class SkTextBlobBuilder; namespace sk_tool_utils { const char* colortype_name(SkColorType); + void color_to_565(SkColor* color); /** * Sets the paint to use a platform-independent text renderer if FLAGS_portableFonts is set. |