From 37ecbaffd1f9f6841aa562aa31a824d109d52988 Mon Sep 17 00:00:00 2001 From: fmalita Date: Fri, 22 Aug 2014 09:01:19 -0700 Subject: [SkTextBlob] Merge run font data at draw time. R=bungeman@google.com, reed@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/496773002 --- gm/textblob.cpp | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) (limited to 'gm/textblob.cpp') diff --git a/gm/textblob.cpp b/gm/textblob.cpp index e7a0a1d2ef..6837363898 100644 --- a/gm/textblob.cpp +++ b/gm/textblob.cpp @@ -31,21 +31,33 @@ const struct BlobCfg { { { 1024, kPoint_Pos, 1 }, { 0, kPoint_Pos, 0 }, { 0, kPoint_Pos, 0 } }, }, { - { { 4, kDefault_Pos, 1}, { 4, kDefault_Pos, 1}, { 4, kDefault_Pos, 1} }, - { { 4, kScalar_Pos, 1}, { 4, kScalar_Pos, 1}, { 4, kScalar_Pos, 1} }, - { { 4, kPoint_Pos, 1}, { 4, kPoint_Pos, 1}, { 4, kPoint_Pos, 1} }, + { { 4, kDefault_Pos, 1 }, { 4, kDefault_Pos, 1 }, { 4, kDefault_Pos, 1 } }, + { { 4, kScalar_Pos, 1 }, { 4, kScalar_Pos, 1 }, { 4, kScalar_Pos, 1 } }, + { { 4, kPoint_Pos, 1 }, { 4, kPoint_Pos, 1 }, { 4, kPoint_Pos, 1 } }, }, { - { { 4, kDefault_Pos, 1}, { 4, kDefault_Pos, 1}, { 4, kScalar_Pos, 1} }, - { { 4, kScalar_Pos, 1}, { 4, kScalar_Pos, 1}, { 4, kPoint_Pos, 1} }, - { { 4, kPoint_Pos, 1}, { 4, kPoint_Pos, 1}, { 4, kDefault_Pos, 1} }, + { { 4, kDefault_Pos, 1 }, { 4, kDefault_Pos, 1 }, { 4, kScalar_Pos, 1 } }, + { { 4, kScalar_Pos, 1 }, { 4, kScalar_Pos, 1 }, { 4, kPoint_Pos, 1 } }, + { { 4, kPoint_Pos, 1 }, { 4, kPoint_Pos, 1 }, { 4, kDefault_Pos, 1 } }, }, { - { { 4, kDefault_Pos, 1}, { 4, kScalar_Pos, 1}, { 4, kPoint_Pos, 1} }, - { { 4, kScalar_Pos, 1}, { 4, kPoint_Pos, 1}, { 4, kDefault_Pos, 1} }, - { { 4, kPoint_Pos, 1}, { 4, kDefault_Pos, 1}, { 4, kScalar_Pos, 1} }, + { { 4, kDefault_Pos, 1 }, { 4, kScalar_Pos, 1 }, { 4, kPoint_Pos, 1 } }, + { { 4, kScalar_Pos, 1 }, { 4, kPoint_Pos, 1 }, { 4, kDefault_Pos, 1 } }, + { { 4, kPoint_Pos, 1 }, { 4, kDefault_Pos, 1 }, { 4, kScalar_Pos, 1 } }, + }, + + { + { { 4, kDefault_Pos, .75f }, { 4, kDefault_Pos, 1 }, { 4, kScalar_Pos, 1.25f } }, + { { 4, kScalar_Pos, .75f }, { 4, kScalar_Pos, 1 }, { 4, kPoint_Pos, 1.25f } }, + { { 4, kPoint_Pos, .75f }, { 4, kPoint_Pos, 1 }, { 4, kDefault_Pos, 1.25f } }, + }, + + { + { { 4, kDefault_Pos, 1 }, { 4, kScalar_Pos, .75f }, { 4, kPoint_Pos, 1.25f } }, + { { 4, kScalar_Pos, 1 }, { 4, kPoint_Pos, .75f }, { 4, kDefault_Pos, 1.25f } }, + { { 4, kPoint_Pos, 1 }, { 4, kDefault_Pos, .75f }, { 4, kScalar_Pos, 1.25f } }, }, }; @@ -74,14 +86,9 @@ protected: virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { for (unsigned b = 0; b < SK_ARRAY_COUNT(blobConfigs); ++b) { - SkAutoTUnref blob(makeBlob(b)); + SkAutoTUnref blob(this->makeBlob(b)); SkPaint p; - p.setTextEncoding(SkPaint::kGlyphID_TextEncoding); - p.setTextSize(kFontSize); - p.setAntiAlias(true); - p.setSubpixelText(true); - SkPoint offset = SkPoint::Make(SkIntToScalar(10 + 300 * (b % 2)), SkIntToScalar(20 + 150 * (b / 2))); @@ -102,6 +109,8 @@ private: SkPaint font; font.setTextEncoding(SkPaint::kGlyphID_TextEncoding); + font.setAntiAlias(true); + font.setSubpixelText(true); for (unsigned l = 0; l < SK_ARRAY_COUNT(blobConfigs[blobIndex]); ++l) { unsigned currentGlyph = 0; -- cgit v1.2.3