make pixelsnap textblob* etc gm portable
TBR=reed@google.com
Review URL: https://codereview.chromium.org/1263553002
diff --git a/gm/bitmapshader.cpp b/gm/bitmapshader.cpp
index 3e66456..2b6906f 100644
--- a/gm/bitmapshader.cpp
+++ b/gm/bitmapshader.cpp
@@ -44,7 +44,7 @@
protected:
void onOnceBeforeDraw() override {
- this->setBGColor(SK_ColorGRAY);
+ this->setBGColor(sk_tool_utils::color_to_565(SK_ColorGRAY));
draw_bm(&fBitmap);
draw_mask(&fMask);
}
diff --git a/gm/blurroundrect.cpp b/gm/blurroundrect.cpp
index 6b11f84..4b3f3bc 100644
--- a/gm/blurroundrect.cpp
+++ b/gm/blurroundrect.cpp
@@ -66,10 +66,11 @@
SkBlurMask::ConvertRadiusToSigma(SK_ScalarHalf),
SkBlurMaskFilter::kHighQuality_BlurFlag);
paint->setMaskFilter(maskFilter)->unref();
- SkColorFilter* colorFilter = SkColorFilter::CreateModeFilter(SK_ColorLTGRAY,
+ SkColorFilter* colorFilter = SkColorFilter::CreateModeFilter(
+ sk_tool_utils::color_to_565(SK_ColorLTGRAY),
SkXfermode::kSrcIn_Mode);
paint->setColorFilter(colorFilter)->unref();
- paint->setColor(SK_ColorGRAY);
+ paint->setColor(sk_tool_utils::color_to_565(SK_ColorGRAY));
}
{
SkLayerDrawLooper::LayerInfo info;
diff --git a/gm/gm.cpp b/gm/gm.cpp
index 8d269d9..575ffc1 100644
--- a/gm/gm.cpp
+++ b/gm/gm.cpp
@@ -79,6 +79,7 @@
paint.setAntiAlias(true);
paint.setTextSize(20);
paint.setColor(SK_ColorRED);
+ sk_tool_utils::set_portable_typeface(&paint);
static const char kTxt[] = "GPU Only";
bmpCanvas.drawText(kTxt, strlen(kTxt), 20, 40, paint);
SkMatrix localM;
diff --git a/gm/imageblur2.cpp b/gm/imageblur2.cpp
index 480f093..58e4096 100644
--- a/gm/imageblur2.cpp
+++ b/gm/imageblur2.cpp
@@ -64,7 +64,8 @@
SkRandom rand;
SkPaint textPaint;
textPaint.setAntiAlias(false);
- textPaint.setColor(rand.nextBits(24) | 0xFF000000);
+ textPaint.setColor(sk_tool_utils::color_to_565(rand.nextBits(24) | 0xFF000000));
+ sk_tool_utils::set_portable_typeface(&textPaint);
textPaint.setTextSize(textSize);
for (int i = 0; i < testStringCount; i++) {
diff --git a/gm/multipicturedraw.cpp b/gm/multipicturedraw.cpp
index 0e11b06..21c9d18 100644
--- a/gm/multipicturedraw.cpp
+++ b/gm/multipicturedraw.cpp
@@ -98,7 +98,7 @@
SkPaint greyFill;
greyFill.setStyle(SkPaint::kFill_Style);
- greyFill.setColor(SK_ColorLTGRAY);
+ greyFill.setColor(sk_tool_utils::color_to_565(SK_ColorLTGRAY));
SkPaint stroke;
stroke.setStyle(SkPaint::kStroke_Style);
@@ -154,7 +154,7 @@
SkPaint fill;
fill.setStyle(SkPaint::kFill_Style);
- fill.setColor(SK_ColorLTGRAY);
+ fill.setColor(sk_tool_utils::color_to_565(SK_ColorLTGRAY));
SkPaint stroke;
stroke.setStyle(SkPaint::kStroke_Style);
@@ -488,7 +488,7 @@
void onOnceBeforeDraw() override {
fPictures[0] = make_hex_plane_picture(SK_ColorWHITE);
- fPictures[1] = make_hex_plane_picture(SK_ColorGRAY);
+ fPictures[1] = make_hex_plane_picture(sk_tool_utils::color_to_565(SK_ColorGRAY));
fPictures[2] = make_sierpinski_picture();
fPictures[3] = make_single_layer_hex_plane_picture();
}
diff --git a/gm/ovals.cpp b/gm/ovals.cpp
index b0c207b..32c9e71 100755
--- a/gm/ovals.cpp
+++ b/gm/ovals.cpp
@@ -132,7 +132,7 @@
hsv[1] = rand->nextRangeF(0.75f, 1.0f);
hsv[2] = rand->nextRangeF(0.75f, 1.0f);
- return SkHSVToColor(hsv);
+ return sk_tool_utils::color_to_565(SkHSVToColor(hsv));
}
void onDraw(SkCanvas* canvas) override {
@@ -150,7 +150,7 @@
rectPaint.setAntiAlias(true);
rectPaint.setStyle(SkPaint::kStroke_Style);
rectPaint.setStrokeWidth(SkIntToScalar(0));
- rectPaint.setColor(SK_ColorLTGRAY);
+ rectPaint.setColor(sk_tool_utils::color_to_565(SK_ColorLTGRAY));
int testCount = 0;
for (int i = 0; i < fPaints.count(); ++i) {
diff --git a/gm/pathinterior.cpp b/gm/pathinterior.cpp
index 24fea68..88efb3a 100644
--- a/gm/pathinterior.cpp
+++ b/gm/pathinterior.cpp
@@ -44,7 +44,7 @@
bool hasInterior = false;
#endif
- paint.setColor(hasInterior ? 0xFF8888FF : SK_ColorGRAY);
+ paint.setColor(sk_tool_utils::color_to_565(hasInterior ? 0xFF8888FF : SK_ColorGRAY));
canvas->drawPath(path, paint);
paint.setStyle(SkPaint::kStroke_Style);
paint.setColor(SK_ColorRED);
diff --git a/gm/pictureshader.cpp b/gm/pictureshader.cpp
index 220649b..3f719be 100644
--- a/gm/pictureshader.cpp
+++ b/gm/pictureshader.cpp
@@ -143,7 +143,7 @@
SkPaint paint;
paint.setStyle(SkPaint::kFill_Style);
- paint.setColor(SK_ColorLTGRAY);
+ paint.setColor(sk_tool_utils::color_to_565(SK_ColorLTGRAY));
canvas->save();
canvas->concat(matrix);
@@ -193,9 +193,9 @@
SkRect r = tile;
r.inset(4, 4);
SkPaint p;
- p.setColor(0xFF303F9F); // dark blue
+ p.setColor(sk_tool_utils::color_to_565(0xFF303F9F)); // dark blue
c->drawRect(r, p);
- p.setColor(0xFFC5CAE9); // light blue
+ p.setColor(sk_tool_utils::color_to_565(0xFFC5CAE9)); // light blue
p.setStrokeWidth(10);
c->drawLine(20, 20, 80, 80, p);
@@ -207,11 +207,11 @@
NULL,
NULL));
- p.setColor(0xFF8BC34A); // green
+ p.setColor(sk_tool_utils::color_to_565(0xFF8BC34A)); // green
canvas->drawPaint(p);
canvas->clipRect(SkRect::MakeXYWH(0, 0, 400, 350));
- p.setColor(0xFFB6B6B6); // gray
+ p.setColor(sk_tool_utils::color_to_565(0xFFB6B6B6)); // gray
canvas->drawPaint(p);
p.setShader(shader.get());
diff --git a/gm/pixelsnap.cpp b/gm/pixelsnap.cpp
index 8a513f3..3358e9d 100644
--- a/gm/pixelsnap.cpp
+++ b/gm/pixelsnap.cpp
@@ -35,7 +35,9 @@
void onDraw(SkCanvas* canvas) override {
SkPaint bgPaint;
bgPaint.setShader(
- sk_tool_utils::create_checkerboard_shader(0xFFAAAAAA, 0xFF777777, 1))->unref();
+ sk_tool_utils::create_checkerboard_shader(
+ sk_tool_utils::color_to_565(0xFFAAAAAA),
+ sk_tool_utils::color_to_565(0xFF777777), 1))->unref();
canvas->drawPaint(bgPaint);
SkString offset;
@@ -43,33 +45,31 @@
labelPaint.setAntiAlias(true);
labelPaint.setColor(SK_ColorWHITE);
labelPaint.setTextSize(SkIntToScalar(kLabelTextSize));
+ sk_tool_utils::set_portable_typeface(&labelPaint);
SkPaint linePaint;
linePaint.setColor(SK_ColorWHITE);
- // Drawing labels is useful for debugging, but bad for baselining (x-platform txt diffs).
- if (false) {
- // Draw row labels
- canvas->save();
- canvas->translate(0, SkIntToScalar(kLabelOffsetY));
- for (int i = 0; i <= kSubPixelSteps; ++i) {
- offset.printf("%d", i);
- canvas->drawText(offset.c_str(), offset.size(),
- 0, i * kTrans + labelPaint.getTextSize(),
- labelPaint);
- }
- canvas->restore();
+ // Draw row labels
+ canvas->save();
+ canvas->translate(0, SkIntToScalar(kLabelOffsetY));
+ for (int i = 0; i <= kSubPixelSteps; ++i) {
+ offset.printf("%d", i);
+ canvas->drawText(offset.c_str(), offset.size(),
+ 0, i * kTrans + labelPaint.getTextSize(),
+ labelPaint);
+ }
+ canvas->restore();
- // Draw col labels
- canvas->save();
- canvas->translate(SkIntToScalar(kLabelOffsetX), 0);
- for (int i = 0; i <= kSubPixelSteps; ++i) {
- offset.printf("%d", i);
- canvas->drawText(offset.c_str(), offset.size(),
- i * SkIntToScalar(kTrans), labelPaint.getTextSize(),
- labelPaint);
- }
- canvas->restore();
- }
+ // Draw col labels
+ canvas->save();
+ canvas->translate(SkIntToScalar(kLabelOffsetX), 0);
+ for (int i = 0; i <= kSubPixelSteps; ++i) {
+ offset.printf("%d", i);
+ canvas->drawText(offset.c_str(), offset.size(),
+ i * SkIntToScalar(kTrans), labelPaint.getTextSize(),
+ labelPaint);
+ }
+ canvas->restore();
canvas->translate(SkIntToScalar(kLabelOffsetX), SkIntToScalar(kLabelOffsetY));
diff --git a/gm/poly2poly.cpp b/gm/poly2poly.cpp
index 72ab727..c1d9b7e 100644
--- a/gm/poly2poly.cpp
+++ b/gm/poly2poly.cpp
@@ -6,6 +6,8 @@
*/
#include "gm.h"
+#include "Resources.h"
+#include "SkTypeface.h"
class SkJSCanvas {
public:
@@ -215,19 +217,22 @@
paint->setStyle(SkPaint::kFill_Style);
SkScalar x = D/2;
SkScalar y = D/2 - (fm.fAscent + fm.fDescent)/2;
- SkString str;
- str.appendS32(count);
- canvas->drawText(str.c_str(), str.size(), x, y, *paint);
-
+ uint16_t glyphID = 3; // X
+ canvas->drawText((void*) &glyphID, sizeof(glyphID), x, y, *paint);
canvas->restore();
}
+ void onOnceBeforeDraw() override {
+ fEmFace.reset(GetResourceAsTypeface("/fonts/Em.ttf"));
+ }
+
void onDraw(SkCanvas* canvas) override {
if (false) { test_stroke(canvas); return; }
SkPaint paint;
paint.setAntiAlias(true);
- sk_tool_utils::set_portable_typeface(&paint);
+ paint.setTypeface(fEmFace);
+ paint.setTextEncoding(SkPaint::kGlyphID_TextEncoding);
paint.setStrokeWidth(SkIntToScalar(4));
paint.setTextSize(SkIntToScalar(40));
paint.setTextAlign(SkPaint::kCenter_Align);
@@ -267,6 +272,7 @@
private:
typedef skiagm::GM INHERITED;
+ SkAutoTUnref<SkTypeface> fEmFace;
};
//////////////////////////////////////////////////////////////////////////////
diff --git a/gm/roundrects.cpp b/gm/roundrects.cpp
index 5e2813b..b27d0f4 100644
--- a/gm/roundrects.cpp
+++ b/gm/roundrects.cpp
@@ -133,7 +133,7 @@
hsv[1] = rand->nextRangeF(0.75f, 1.0f);
hsv[2] = rand->nextRangeF(0.75f, 1.0f);
- return SkHSVToColor(hsv);
+ return sk_tool_utils::color_to_565(SkHSVToColor(hsv));
}
void onDraw(SkCanvas* canvas) override {
@@ -153,7 +153,7 @@
rectPaint.setAntiAlias(true);
rectPaint.setStyle(SkPaint::kStroke_Style);
rectPaint.setStrokeWidth(SkIntToScalar(0));
- rectPaint.setColor(SK_ColorLTGRAY);
+ rectPaint.setColor(sk_tool_utils::color_to_565(SK_ColorLTGRAY));
int testCount = 0;
for (int i = 0; i < fPaints.count(); ++i) {
diff --git a/gm/samplerstress.cpp b/gm/samplerstress.cpp
index ec07270..38b94bf 100644
--- a/gm/samplerstress.cpp
+++ b/gm/samplerstress.cpp
@@ -101,6 +101,7 @@
paint.setTextSize(72);
paint.setShader(fShader.get());
paint.setMaskFilter(fMaskFilter.get());
+ sk_tool_utils::set_portable_typeface(&paint);
SkRect temp;
temp.set(SkIntToScalar(115),
@@ -131,7 +132,7 @@
SkIntToScalar(100), SkIntToScalar(100),
paint2);
- paint2.setColor(SK_ColorGRAY);
+ paint2.setColor(sk_tool_utils::color_to_565(SK_ColorGRAY));
canvas->drawPath(path, paint2);
}
diff --git a/gm/strokerect.cpp b/gm/strokerect.cpp
index 8854c6b..c190495 100644
--- a/gm/strokerect.cpp
+++ b/gm/strokerect.cpp
@@ -17,7 +17,7 @@
paint.setAntiAlias(true);
paint.setStyle(doFill ? SkPaint::kStrokeAndFill_Style : SkPaint::kStroke_Style);
- paint.setColor(SK_ColorGRAY);
+ paint.setColor(sk_tool_utils::color_to_565(SK_ColorGRAY));
paint.setStrokeWidth(STROKE_WIDTH);
paint.setStrokeJoin(join);
canvas->drawRect(rect, paint);
diff --git a/gm/surface.cpp b/gm/surface.cpp
index 913de99..694a0d0 100644
--- a/gm/surface.cpp
+++ b/gm/surface.cpp
@@ -53,6 +53,7 @@
paint.setColor(SK_ColorWHITE);
paint.setTextSize(32);
paint.setTextAlign(SkPaint::kCenter_Align);
+ sk_tool_utils::set_portable_typeface(&paint);
canvas->drawText(label, strlen(label), W / 2, H * 3 / 4, paint);
}
diff --git a/gm/textbloblooper.cpp b/gm/textbloblooper.cpp
index 2fbd30b..337942c 100644
--- a/gm/textbloblooper.cpp
+++ b/gm/textbloblooper.cpp
@@ -148,6 +148,7 @@
paint.setSubpixelText(true);
paint.setLCDRenderText(true);
paint.setAntiAlias(true);
+ sk_tool_utils::set_portable_typeface(&paint);
add_to_text_blob(&builder, text, paint, 0, 0);
fBlob.reset(builder.build());
@@ -225,7 +226,7 @@
void onDraw(SkCanvas* canvas) override {
- canvas->drawColor(SK_ColorGRAY);
+ canvas->drawColor(sk_tool_utils::color_to_565(SK_ColorGRAY));
SkPaint paint;
canvas->translate(10, 40);
diff --git a/gm/textblobshader.cpp b/gm/textblobshader.cpp
index 5b9b2e9..bd5ea22 100644
--- a/gm/textblobshader.cpp
+++ b/gm/textblobshader.cpp
@@ -33,6 +33,7 @@
p.setSubpixelText(true);
p.setTextSize(30);
p.setTextEncoding(SkPaint::kGlyphID_TextEncoding);
+ sk_tool_utils::set_portable_typeface(&p);
SkTextBlobBuilder builder;
int glyphCount = fGlyphs.count();
diff --git a/gm/transparency.cpp b/gm/transparency.cpp
index 1a6275e..62c277a 100644
--- a/gm/transparency.cpp
+++ b/gm/transparency.cpp
@@ -63,7 +63,8 @@
* checkerboard pattern looks correct.
*/
DEF_SIMPLE_GM(transparency_check, canvas, 1792, 1080) {
- checkerboard(canvas, 0xFF999999, 0xFF666666, 8);
+ checkerboard(canvas, sk_tool_utils::color_to_565(0xFF999999),
+ sk_tool_utils::color_to_565(0xFF666666), 8);
{
SkAutoCanvasRestore autoCanvasRestore(canvas, true);
SkAutoTUnref<SkSurface> surface(SkSurface::NewRasterN32Premul(256, 9));