aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/transparency.cpp
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2016-03-13 13:01:57 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-03-13 13:01:57 -0700
commit9283d20afc27571f7a871d1bd1100dd5df584941 (patch)
tree3688fa1847d47e1f2493b040bbe91594f6274cf0 /gm/transparency.cpp
parentce563cdd48ec7ce4e0420dd88760df9be9dba50c (diff)
Revert of more shader-->sp conversions (patchset #5 id:80001 of https://codereview.chromium.org/1789633002/ )
Reason for revert: seems to have changed pictureshadertile Original issue's description: > more shader-->sp conversions > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1789633002 > > Committed: https://skia.googlesource.com/skia/+/ce563cdd48ec7ce4e0420dd88760df9be9dba50c TBR=fmalita@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1790353002
Diffstat (limited to 'gm/transparency.cpp')
-rw-r--r--gm/transparency.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/gm/transparency.cpp b/gm/transparency.cpp
index 5e057617d4..73bd8b2023 100644
--- a/gm/transparency.cpp
+++ b/gm/transparency.cpp
@@ -9,7 +9,9 @@
#include "SkSurface.h"
#include "gm.h"
-static void make_transparency(SkCanvas* canvas, SkScalar width, SkScalar height) {
+static void make_transparency(SkCanvas* canvas,
+ SkScalar width,
+ SkScalar height) {
SkPoint pts[2];
pts[0] = SkPoint::Make(0, 0);
pts[1] = SkPoint::Make(width, 0);
@@ -29,27 +31,30 @@ static void make_transparency(SkCanvas* canvas, SkScalar width, SkScalar height)
SkColor shaderColors[2];
shaderColors[0] = SK_AlphaTRANSPARENT;
shaderColors[1] = kColors[i];
+ SkAutoTUnref<SkShader> shader(SkGradientShader::CreateLinear(
+ pts, shaderColors, nullptr, 2, SkShader::kClamp_TileMode));
+ SkRect r = SkRect::MakeXYWH(0, i * kRowHeight, width, kRowHeight);
SkPaint p;
- p.setShader(SkGradientShader::MakeLinear(pts, shaderColors, nullptr, 2,
- SkShader::kClamp_TileMode));
- canvas->drawRect(SkRect::MakeXYWH(0, i * kRowHeight, width, kRowHeight), p);
+ p.setShader(shader);
+ canvas->drawRect(r, p);
}
}
// http://crrev.com/834303005
-static sk_sp<SkShader> create_checkerboard_shader(SkColor c1, SkColor c2, int size) {
+static SkShader* create_checkerboard_shader(SkColor c1, SkColor c2, int size) {
SkBitmap bm;
bm.allocN32Pixels(2 * size, 2 * size);
bm.eraseColor(c1);
bm.eraseArea(SkIRect::MakeLTRB(0, 0, size, size), c2);
bm.eraseArea(SkIRect::MakeLTRB(size, size, 2 * size, 2 * size), c2);
- return SkShader::MakeBitmapShader(bm, SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode);
+ return SkShader::CreateBitmapShader(bm, SkShader::kRepeat_TileMode,
+ SkShader::kRepeat_TileMode);
}
// http://crrev.com/834303005
static void checkerboard(SkCanvas* canvas, SkColor c1, SkColor c2, int size) {
SkPaint paint;
- paint.setShader(create_checkerboard_shader(c1, c2, size));
+ paint.setShader(create_checkerboard_shader(c1, c2, size))->unref();
canvas->drawPaint(paint);
}