Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(371)

Unified Diff: gm/gammatext.cpp

Issue 1776973003: partial switch over to sp usage of shaders (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: move into lua container Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gm/gamma.cpp ('k') | gm/giantbitmap.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gm/gammatext.cpp
diff --git a/gm/gammatext.cpp b/gm/gammatext.cpp
index 63acb40c134336ed493075661ced90b985a27e80..e978b6bc05dad8ebd7d18a74d00ae089e4e5a0ab 100644
--- a/gm/gammatext.cpp
+++ b/gm/gammatext.cpp
@@ -11,12 +11,11 @@
#include "SkGradientShader.h"
#include "SkTypeface.h"
-static SkShader* make_heatGradient(const SkPoint pts[2]) {
+static sk_sp<SkShader> make_heatGradient(const SkPoint pts[2]) {
const SkColor bw[] = { SK_ColorBLACK, SK_ColorWHITE };
- return SkGradientShader::CreateLinear(pts, bw, nullptr,
- SK_ARRAY_COUNT(bw),
- SkShader::kClamp_TileMode);
+ return SkGradientShader::MakeLinear(pts, bw, nullptr, SK_ARRAY_COUNT(bw),
+ SkShader::kClamp_TileMode);
}
static bool setFont(SkPaint* paint, const char name[]) {
@@ -50,12 +49,11 @@ protected:
}
static void drawGrad(SkCanvas* canvas) {
- SkPoint pts[] = { { 0, 0 }, { 0, SkIntToScalar(HEIGHT) } };
- SkShader* s = make_heatGradient(pts);
+ const SkPoint pts[] = { { 0, 0 }, { 0, SkIntToScalar(HEIGHT) } };
canvas->clear(SK_ColorRED);
SkPaint paint;
- paint.setShader(s)->unref();
+ paint.setShader(make_heatGradient(pts));
SkRect r = { 0, 0, SkIntToScalar(1024), SkIntToScalar(HEIGHT) };
canvas->drawRect(r, paint);
}
@@ -101,12 +99,12 @@ DEF_GM( return new GammaTextGM; )
//////////////////////////////////////////////////////////////////////////////
-static SkShader* make_gradient(SkColor c) {
+static sk_sp<SkShader> make_gradient(SkColor c) {
const SkPoint pts[] = { { 0, 0 }, { 240, 0 } };
SkColor colors[2];
colors[0] = c;
colors[1] = SkColorSetA(c, 0);
- return SkGradientShader::CreateLinear(pts, colors, nullptr, 2, SkShader::kClamp_TileMode);
+ return SkGradientShader::MakeLinear(pts, colors, nullptr, 2, SkShader::kClamp_TileMode);
}
static void set_face(SkPaint* paint) {
@@ -114,37 +112,30 @@ static void set_face(SkPaint* paint) {
SkSafeUnref(paint->setTypeface(face));
}
-static void draw_pair(SkCanvas* canvas, SkPaint* paint, SkShader* shader) {
+static void draw_pair(SkCanvas* canvas, SkPaint* paint, const sk_sp<SkShader>& shader) {
const char text[] = "Now is the time for all good";
const size_t len = strlen(text);
paint->setShader(nullptr);
canvas->drawText(text, len, 10, 20, *paint);
- paint->setShader(SkShader::CreateColorShader(paint->getColor()))->unref();
+ paint->setShader(SkShader::MakeColorShader(paint->getColor()));
canvas->drawText(text, len, 10, 40, *paint);
paint->setShader(shader);
canvas->drawText(text, len, 10, 60, *paint);
}
class GammaShaderTextGM : public skiagm::GM {
- SkShader* fShaders[3];
+ sk_sp<SkShader> fShaders[3];
SkColor fColors[3];
public:
GammaShaderTextGM() {
const SkColor colors[] = { SK_ColorBLACK, SK_ColorRED, SK_ColorBLUE };
for (size_t i = 0; i < SK_ARRAY_COUNT(fShaders); ++i) {
- fShaders[i] = nullptr;
fColors[i] = colors[i];
}
}
- ~GammaShaderTextGM() override {
- for (size_t i = 0; i < SK_ARRAY_COUNT(fShaders); ++i) {
- SkSafeUnref(fShaders[i]);
- }
- }
-
protected:
SkString onShortName() override {
return SkString("gammagradienttext");
« no previous file with comments | « gm/gamma.cpp ('k') | gm/giantbitmap.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698