Use sk_sp text blob APIs
SkTextBlobBuilder::build() -> make()
SkAutoTUnref<const SkTextBlob> -> sk_sp<SkTextBlob>
drawTextBlob(const SkTextBlob*) -> drawTextBlob(const sk_sp<SkTextBlob>&)
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2335493005
Review-Url: https://codereview.chromium.org/2335493005
diff --git a/gm/largeglyphblur.cpp b/gm/largeglyphblur.cpp
index 235c7cc..19d390b 100644
--- a/gm/largeglyphblur.cpp
+++ b/gm/largeglyphblur.cpp
@@ -32,9 +32,9 @@
sk_tool_utils::add_to_text_blob(&builder, text, paint, 0, 0);
- SkAutoTUnref<const SkTextBlob> blob(builder.build());
- canvas->drawTextBlob(blob.get(), 10, 200, blurPaint);
- canvas->drawTextBlob(blob.get(), 10, 200, paint);
+ sk_sp<SkTextBlob> blob(builder.make());
+ canvas->drawTextBlob(blob, 10, 200, blurPaint);
+ canvas->drawTextBlob(blob, 10, 200, paint);
size_t len = strlen(text);
canvas->drawText(text, len, 10, 500, blurPaint);
diff --git a/gm/lcdoverlap.cpp b/gm/lcdoverlap.cpp
index de159e1..623d746 100644
--- a/gm/lcdoverlap.cpp
+++ b/gm/lcdoverlap.cpp
@@ -44,7 +44,7 @@
paint.setSubpixelText(true);
paint.setLCDRenderText(true);
sk_tool_utils::add_to_text_blob(&builder, text, paint, 0, 0);
- fBlob.reset(builder.build());
+ fBlob = builder.make();
}
SkISize onISize() override { return SkISize::Make(kWidth, kHeight); }
@@ -90,7 +90,7 @@
private:
SkScalar fTextHeight;
- SkAutoTUnref<const SkTextBlob> fBlob;
+ sk_sp<SkTextBlob> fBlob;
typedef skiagm::GM INHERITED;
};
diff --git a/gm/mixedtextblobs.cpp b/gm/mixedtextblobs.cpp
index 66e2379..00081d0 100644
--- a/gm/mixedtextblobs.cpp
+++ b/gm/mixedtextblobs.cpp
@@ -94,7 +94,7 @@
text = "aA";
paint.setTypeface(fReallyBigATypeface);
sk_tool_utils::add_to_text_blob(&builder, text, paint, corruptedAx, corruptedAy);
- fBlob.reset(builder.build());
+ fBlob = builder.make();
}
SkString onShortName() override {
@@ -138,7 +138,7 @@
size_t count = sizeof(clipRects) / sizeof(SkRect);
for (size_t x = 0; x < count; ++x) {
- draw_blob(canvas, fBlob, paint, clipRects[x]);
+ draw_blob(canvas, fBlob.get(), paint, clipRects[x]);
if (x == (count >> 1) - 1) {
canvas->translate(SkScalarFloorToScalar(bounds.width() + SkIntToScalar(25)),
-(x * SkScalarFloorToScalar(bounds.height() +
@@ -153,7 +153,7 @@
sk_sp<SkTypeface> fEmojiTypeface;
sk_sp<SkTypeface> fReallyBigATypeface;
const char* fEmojiText;
- SkAutoTUnref<const SkTextBlob> fBlob;
+ sk_sp<SkTextBlob> fBlob;
static constexpr int kWidth = 1250;
static constexpr int kHeight = 700;
diff --git a/gm/textblob.cpp b/gm/textblob.cpp
index 2ac7d27..aa2bfb0 100644
--- a/gm/textblob.cpp
+++ b/gm/textblob.cpp
@@ -92,7 +92,7 @@
void onDraw(SkCanvas* canvas) override {
for (unsigned b = 0; b < SK_ARRAY_COUNT(blobConfigs); ++b) {
- SkAutoTUnref<const SkTextBlob> blob(this->makeBlob(b));
+ sk_sp<SkTextBlob> blob(this->makeBlob(b));
SkPaint p;
SkPoint offset = SkPoint::Make(SkIntToScalar(10 + 300 * (b % 2)),
@@ -110,7 +110,7 @@
}
private:
- const SkTextBlob* makeBlob(unsigned blobIndex) {
+ sk_sp<SkTextBlob> makeBlob(unsigned blobIndex) {
SkTextBlobBuilder builder;
SkPaint font;
@@ -177,7 +177,7 @@
}
}
- return builder.build();
+ return builder.make();
}
SkTDArray<uint16_t> fGlyphs;
diff --git a/gm/textblobblockreordering.cpp b/gm/textblobblockreordering.cpp
index ea90308..3974aca 100644
--- a/gm/textblobblockreordering.cpp
+++ b/gm/textblobblockreordering.cpp
@@ -35,7 +35,7 @@
sk_tool_utils::add_to_text_blob(&builder, text, paint, 0, yOffset - 30);
// build
- fBlob.reset(builder.build());
+ fBlob = builder.make();
}
SkString onShortName() override {
@@ -77,7 +77,7 @@
}
private:
- SkAutoTUnref<const SkTextBlob> fBlob;
+ sk_sp<SkTextBlob> fBlob;
static constexpr int kWidth = 275;
static constexpr int kHeight = 200;
diff --git a/gm/textblobcolortrans.cpp b/gm/textblobcolortrans.cpp
index 1e7a666..286dc77 100644
--- a/gm/textblobcolortrans.cpp
+++ b/gm/textblobcolortrans.cpp
@@ -48,7 +48,7 @@
sk_tool_utils::add_to_text_blob(&builder, text, paint, 0, yOffset - 8);
// build
- fBlob.reset(builder.build());
+ fBlob = builder.make();
}
SkString onShortName() override {
@@ -87,7 +87,7 @@
}
private:
- SkAutoTUnref<const SkTextBlob> fBlob;
+ sk_sp<SkTextBlob> fBlob;
static constexpr int kWidth = 675;
static constexpr int kHeight = 1600;
diff --git a/gm/textblobgeometrychange.cpp b/gm/textblobgeometrychange.cpp
index 9e33e95..f84a55f 100644
--- a/gm/textblobgeometrychange.cpp
+++ b/gm/textblobgeometrychange.cpp
@@ -40,7 +40,7 @@
sk_tool_utils::add_to_text_blob(&builder, text, paint, 10, 10);
- SkAutoTUnref<const SkTextBlob> blob(builder.build());
+ sk_sp<SkTextBlob> blob(builder.make());
SkImageInfo info = SkImageInfo::MakeN32Premul(200, 200);
SkSurfaceProps props(0, kUnknown_SkPixelGeometry);
@@ -55,12 +55,12 @@
SkPaint rectPaint;
rectPaint.setColor(0xffffffff);
canvas->drawRect(rect, rectPaint);
- canvas->drawTextBlob(blob.get(), 10, 50, paint);
+ canvas->drawTextBlob(blob, 10, 50, paint);
// This should not look garbled since we should disable LCD text in this case
// (i.e., unknown pixel geometry)
c->clear(0x00ffffff);
- c->drawTextBlob(blob.get(), 10, 150, paint);
+ c->drawTextBlob(blob, 10, 150, paint);
surface->draw(canvas, 0, 0, nullptr);
}
diff --git a/gm/textbloblooper.cpp b/gm/textbloblooper.cpp
index 752fd54..3adf349 100644
--- a/gm/textbloblooper.cpp
+++ b/gm/textbloblooper.cpp
@@ -148,7 +148,7 @@
paint.setAntiAlias(true);
sk_tool_utils::set_portable_typeface(&paint);
add_to_text_blob(&builder, text, paint, 0, 0);
- fBlob.reset(builder.build());
+ fBlob = builder.make();
// create a looper which sandwhiches an effect in two normal draws
LooperSettings looperSandwhich[] = {
@@ -245,7 +245,7 @@
}
private:
- SkAutoTUnref<const SkTextBlob> fBlob;
+ sk_sp<SkTextBlob> fBlob;
SkTArray<sk_sp<SkDrawLooper>, true> fLoopers;
typedef GM INHERITED;
diff --git a/gm/textblobmixedsizes.cpp b/gm/textblobmixedsizes.cpp
index 6ce0eaf..8c51cae 100644
--- a/gm/textblobmixedsizes.cpp
+++ b/gm/textblobmixedsizes.cpp
@@ -80,7 +80,7 @@
sk_tool_utils::add_to_text_blob(&builder, text, paint, 0, yOffset);
// build
- fBlob.reset(builder.build());
+ fBlob = builder.make();
}
SkString onShortName() override {
@@ -177,7 +177,7 @@
}
private:
- SkAutoTUnref<const SkTextBlob> fBlob;
+ sk_sp<SkTextBlob> fBlob;
static constexpr int kWidth = 2100;
static constexpr int kHeight = 1900;
diff --git a/gm/textblobrandomfont.cpp b/gm/textblobrandomfont.cpp
index 583f4fc..a2e4697 100644
--- a/gm/textblobrandomfont.cpp
+++ b/gm/textblobrandomfont.cpp
@@ -77,7 +77,7 @@
}
// build
- fBlob.reset(builder.build());
+ fBlob = builder.make();
}
SkString onShortName() override {
@@ -136,7 +136,7 @@
}
private:
- SkAutoTUnref<const SkTextBlob> fBlob;
+ sk_sp<SkTextBlob> fBlob;
static constexpr int kWidth = 2000;
static constexpr int kHeight = 1600;
diff --git a/gm/textblobshader.cpp b/gm/textblobshader.cpp
index bb0e03c..acb6436 100644
--- a/gm/textblobshader.cpp
+++ b/gm/textblobshader.cpp
@@ -56,7 +56,7 @@
run->pos[i * 2 + 1] = 150 + 5 * sinf((float)i * 8 / glyphCount);
}
- fBlob.reset(builder.build());
+ fBlob = builder.make();
SkColor colors[2];
colors[0] = SK_ColorRED;
@@ -102,9 +102,9 @@
}
private:
- SkTDArray<uint16_t> fGlyphs;
- SkAutoTUnref<const SkTextBlob> fBlob;
- sk_sp<SkShader> fShader;
+ SkTDArray<uint16_t> fGlyphs;
+ sk_sp<SkTextBlob> fBlob;
+ sk_sp<SkShader> fShader;
typedef skiagm::GM INHERITED;
};
diff --git a/gm/textblobtransforms.cpp b/gm/textblobtransforms.cpp
index 537ddb1..54c6b44 100644
--- a/gm/textblobtransforms.cpp
+++ b/gm/textblobtransforms.cpp
@@ -49,7 +49,7 @@
sk_tool_utils::add_to_text_blob(&builder, text, paint, xOffset, -yOffset - 10);
// build
- fBlob.reset(builder.build());
+ fBlob = builder.make();
}
SkString onShortName() override {
@@ -158,7 +158,7 @@
}
private:
- SkAutoTUnref<const SkTextBlob> fBlob;
+ sk_sp<SkTextBlob> fBlob;
static constexpr int kWidth = 1000;
static constexpr int kHeight = 1200;
diff --git a/gm/textblobuseaftergpufree.cpp b/gm/textblobuseaftergpufree.cpp
index c104e9b..44fd854 100644
--- a/gm/textblobuseaftergpufree.cpp
+++ b/gm/textblobuseaftergpufree.cpp
@@ -47,18 +47,18 @@
sk_tool_utils::add_to_text_blob(&builder, text, paint, 10, 10);
- SkAutoTUnref<const SkTextBlob> blob(builder.build());
+ sk_sp<SkTextBlob> blob(builder.make());
// draw textblob
SkRect rect = SkRect::MakeLTRB(0.f, 0.f, SkIntToScalar(kWidth), kHeight / 2.f);
SkPaint rectPaint;
rectPaint.setColor(0xffffffff);
canvas->drawRect(rect, rectPaint);
- canvas->drawTextBlob(blob.get(), 10, 50, paint);
+ canvas->drawTextBlob(blob, 10, 50, paint);
// This text should look fine
canvas->getGrContext()->freeGpuResources();
- canvas->drawTextBlob(blob.get(), 10, 150, paint);
+ canvas->drawTextBlob(blob, 10, 150, paint);
}
private:
diff --git a/gm/texteffects.cpp b/gm/texteffects.cpp
index c89b4e0..6a5a9c1 100644
--- a/gm/texteffects.cpp
+++ b/gm/texteffects.cpp
@@ -351,7 +351,7 @@
namespace {
-sk_sp<const SkTextBlob> MakeFancyBlob(const SkPaint& paint, const char* text) {
+sk_sp<SkTextBlob> MakeFancyBlob(const SkPaint& paint, const char* text) {
SkPaint blobPaint(paint);
const size_t textLen = strlen(text);
@@ -411,7 +411,7 @@
}
}
- return sk_sp<const SkTextBlob>(blobBuilder.build());
+ return blobBuilder.make();
}
} // anonymous ns
@@ -431,8 +431,8 @@
paint.setStrokeWidth(uWidth);
paint.setStyle(SkPaint::kFill_Style);
- sk_sp<const SkTextBlob> blob = MakeFancyBlob(paint, test);
- canvas->drawTextBlob(blob.get(), blobOffset.x(), blobOffset.y(), paint);
+ sk_sp<SkTextBlob> blob = MakeFancyBlob(paint, test);
+ canvas->drawTextBlob(blob, blobOffset.x(), blobOffset.y(), paint);
const SkScalar uPos = uWidth;
const SkScalar bounds[2] = { uPos - uWidth / 2, uPos + uWidth / 2 };