diff options
author | Yuqian Li <liyuqian@google.com> | 2018-02-09 03:38:20 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-02-09 03:38:31 +0000 |
commit | efcacfa8a86b258c51380588fc5170cb1fb9f6e5 (patch) | |
tree | 044b96bcb4ba18ade0accd8e0b0d67e5be6d06a0 /samplecode | |
parent | 18c46b553a3943337403b510be0a7dd75aacf35c (diff) |
Revert "use SkShaper instead of SkTextBox"
This reverts commit 59dad9111792ca1ceebfb444497f81d9eb357b7d.
Reason for revert: Possibly breaks Build-Win-Clang-arm64-Release-Android
Original change's description:
> use SkShaper instead of SkTextBox
>
> Change-Id: I63fae79007938cb89c122799b8984a88e91ac1e7
> Reviewed-on: https://skia-review.googlesource.com/102863
> Commit-Queue: Hal Canary <halcanary@google.com>
> Reviewed-by: Hal Canary <halcanary@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>
TBR=halcanary@google.com,bungeman@google.com,fmalita@chromium.org,reed@google.com
Change-Id: Id865d9e9cce03b4166f818c2bad659bdecc4f447
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/105941
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Diffstat (limited to 'samplecode')
-rw-r--r-- | samplecode/SampleTextBox.cpp | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/samplecode/SampleTextBox.cpp b/samplecode/SampleTextBox.cpp index 3c1e9eb878..c5fe4cfcd2 100644 --- a/samplecode/SampleTextBox.cpp +++ b/samplecode/SampleTextBox.cpp @@ -5,26 +5,24 @@ * found in the LICENSE file. */ #include "SampleCode.h" - +#include "SkView.h" #include "SkBlurMaskFilter.h" #include "SkCanvas.h" -#include "SkColorFilter.h" -#include "SkColorPriv.h" #include "SkColorShader.h" #include "SkGradientShader.h" #include "SkGraphics.h" -#include "SkOSFile.h" #include "SkPath.h" #include "SkRandom.h" #include "SkRegion.h" #include "SkShader.h" -#include "SkShaper.h" -#include "SkStream.h" -#include "SkTextBlob.h" +#include "SkUtils.h" +#include "SkColorPriv.h" +#include "SkColorFilter.h" #include "SkTime.h" #include "SkTypeface.h" -#include "SkUtils.h" -#include "SkView.h" +#include "SkTextBox.h" +#include "SkOSFile.h" +#include "SkStream.h" extern void skia_set_text_gamma(float blackGamma, float whiteGamma); @@ -59,7 +57,7 @@ public: protected: // overrides from SkEventSink - bool onQuery(SkEvent* evt) override { + virtual bool onQuery(SkEvent* evt) { if (SampleCode::TitleQ(*evt)) { SampleCode::TitleR(evt, "TextBox"); return true; @@ -72,28 +70,27 @@ protected: canvas->clipRect(SkRect::MakeWH(w, h)); canvas->drawColor(bg); - - SkShaper shaper(nullptr); - SkScalar margin = 20; + SkTextBox tbox; + tbox.setMode(SkTextBox::kLineBreak_Mode); + tbox.setBox(margin, margin, + w - margin, h - margin); + tbox.setSpacing(SkIntToScalar(3)/3, 0); SkPaint paint; paint.setAntiAlias(true); paint.setLCDRenderText(true); paint.setColor(fg); + tbox.setText(gText, strlen(gText), paint); for (int i = 9; i < 24; i += 2) { - SkTextBlobBuilder builder; paint.setTextSize(SkIntToScalar(i)); - SkPoint end = shaper.shape(&builder, paint, gText, strlen(gText), true, - { margin, margin }, w - margin); - canvas->drawTextBlob(builder.make(), 0, 0, paint); - - canvas->translate(0, end.y()); + tbox.draw(canvas); + canvas->translate(0, tbox.getTextHeight() + paint.getFontSpacing()); } } - void onDrawContent(SkCanvas* canvas) override { + virtual void onDrawContent(SkCanvas* canvas) { SkScalar width = this->width() / 3; drawTest(canvas, width, this->height(), SK_ColorBLACK, SK_ColorWHITE); canvas->translate(width, 0); |