aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar caryclark <caryclark@google.com>2015-06-12 11:49:04 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-06-12 11:49:04 -0700
commitd85093c28fe360650c46971b00a39c6dbf991a6b (patch)
tree5055cc609122b43052adc27adb2ee10305c2e9d0
parent1866b571f18f1ac326e2e8765d79511ecf58164d (diff)
make emptypath portable; add 565 color utility
R=djsollen@google.com Review URL: https://codereview.chromium.org/1182833004
-rw-r--r--gm/emptypath.cpp8
-rw-r--r--tools/sk_tool_utils.cpp6
-rw-r--r--tools/sk_tool_utils.h1
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.