aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/dftext.cpp
diff options
context:
space:
mode:
authorGravatar Jim Van Verth <jvanverth@google.com>2018-06-07 09:41:28 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-06-07 14:05:28 +0000
commit2525a37c08c07eedfb7e4562f1c5a0800069132b (patch)
treedec8d0adee8c2f5963ae52a30c5ad96f0db76253 /gm/dftext.cpp
parent18562b8adb9108e6bcd9ae5b89cc66deb0e49c5d (diff)
Add test of tiny text with perspective.
There is an issue with rendering tiny text with SDFs, and it's unclear which platforms this occurs on. Adding this to the GM will make it clearer. Bug: skia:8042 Change-Id: I0596c8e17a3b3cc7d6b51bef33097cfaba3bc64e Reviewed-on: https://skia-review.googlesource.com/132823 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
Diffstat (limited to 'gm/dftext.cpp')
-rw-r--r--gm/dftext.cpp39
1 files changed, 36 insertions, 3 deletions
diff --git a/gm/dftext.cpp b/gm/dftext.cpp
index b420567292..ab8d1e6840 100644
--- a/gm/dftext.cpp
+++ b/gm/dftext.cpp
@@ -179,12 +179,45 @@ protected:
canvas->drawText(text, textLen, 580, 125, paint);
}
+ // check perspective
+ {
+ paint.setLCDRenderText(false);
+ SkAutoCanvasRestore acr(canvas, true);
+ SkMatrix persp;
+ persp.setAll(0.9839f, 0, 0,
+ 0.2246f, 0.6829f, 0,
+ 0.0002352f, -0.0003844f, 1);
+ canvas->concat(persp);
+ canvas->translate(1100, -295);
+ canvas->scale(375, 375);
+ paint.setTextSize(0.1f);
+ canvas->drawText(text, textLen, 0, 0, paint);
+ }
+ {
+ paint.setSubpixelText(false);
+ paint.setAntiAlias(false);
+ SkAutoCanvasRestore acr(canvas, true);
+ SkMatrix persp;
+ persp.setAll(0.9839f, 0, 0,
+ 0.2246f, 0.6829f, 0,
+ 0.0002352f, -0.0003844f, 1);
+ canvas->concat(persp);
+ canvas->translate(1075, -245);
+ canvas->scale(375, 375);
+ paint.setTextSize(0.1f);
+ canvas->drawText(text, textLen, 0, 0, paint);
+ }
+
// check color emoji
if (fEmojiTypeface) {
- paint.setTypeface(fEmojiTypeface);
- paint.setTextSize(SkIntToScalar(19));
- canvas->drawString(fEmojiText, 670, 90, paint);
+ SkPaint emojiPaint;
+ emojiPaint.setSubpixelText(true);
+ emojiPaint.setAntiAlias(true);
+ emojiPaint.setTypeface(fEmojiTypeface);
+ emojiPaint.setTextSize(SkIntToScalar(19));
+ canvas->drawString(fEmojiText, 670, 90, emojiPaint);
}
+
// render offscreen buffer
if (surface) {
SkAutoCanvasRestore acr(inputCanvas, true);