diff options
author | Brian Salomon <bsalomon@google.com> | 2017-01-03 09:42:58 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-01-03 15:22:16 +0000 |
commit | f8334781914363caf537f22f012fcd5c03c60dad (patch) | |
tree | cfa54aa4a80cd7841959300c245d633fbcd382a0 /gm/beziereffects.cpp | |
parent | 5f500920e719b215d5e0e36a6679995ed3c9b4ad (diff) |
Remove ref counting from GrOp.
Instead use std::unique_ptr to manage GrOp lifetime.
Change-Id: Ic1dc1e0ffd7254c3994221f498677af5bbf66a71
Reviewed-on: https://skia-review.googlesource.com/6479
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Diffstat (limited to 'gm/beziereffects.cpp')
-rw-r--r-- | gm/beziereffects.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/gm/beziereffects.cpp b/gm/beziereffects.cpp index e529ded76f..07fc977882 100644 --- a/gm/beziereffects.cpp +++ b/gm/beziereffects.cpp @@ -34,9 +34,10 @@ public: const char* name() const override { return "BezierCubicOrConicTestOp"; } - static sk_sp<GrDrawOp> Make(sk_sp<GrGeometryProcessor> gp, const SkRect& bounds, GrColor color, - const SkScalar klmEqs[9], SkScalar sign) { - return sk_sp<GrDrawOp>(new BezierCubicOrConicTestOp(gp, bounds, color, klmEqs, sign)); + static std::unique_ptr<GrDrawOp> Make(sk_sp<GrGeometryProcessor> gp, const SkRect& bounds, + GrColor color, const SkScalar klmEqs[9], SkScalar sign) { + return std::unique_ptr<GrDrawOp>( + new BezierCubicOrConicTestOp(gp, bounds, color, klmEqs, sign)); } private: @@ -194,7 +195,7 @@ protected: GrPaint grPaint; grPaint.setXPFactory(GrPorterDuffXPFactory::Make(SkBlendMode::kSrc)); - sk_sp<GrDrawOp> op = + std::unique_ptr<GrDrawOp> op = BezierCubicOrConicTestOp::Make(gp, bounds, color, klmEqs, klmSigns[c]); renderTargetContext->priv().testingOnly_addDrawOp(grPaint, GrAAType::kNone, @@ -327,7 +328,7 @@ protected: GrPaint grPaint; grPaint.setXPFactory(GrPorterDuffXPFactory::Make(SkBlendMode::kSrc)); - sk_sp<GrDrawOp> op = + std::unique_ptr<GrDrawOp> op = BezierCubicOrConicTestOp::Make(gp, bounds, color, klmEqs, 1.f); renderTargetContext->priv().testingOnly_addDrawOp(grPaint, GrAAType::kNone, @@ -393,9 +394,9 @@ public: DEFINE_OP_CLASS_ID const char* name() const override { return "BezierQuadTestOp"; } - static sk_sp<GrDrawOp> Make(sk_sp<GrGeometryProcessor> gp, const SkRect& bounds, GrColor color, - const GrPathUtils::QuadUVMatrix& devToUV) { - return sk_sp<GrDrawOp>(new BezierQuadTestOp(gp, bounds, color, devToUV)); + static std::unique_ptr<GrDrawOp> Make(sk_sp<GrGeometryProcessor> gp, const SkRect& bounds, + GrColor color, const GrPathUtils::QuadUVMatrix& devToUV) { + return std::unique_ptr<GrDrawOp>(new BezierQuadTestOp(gp, bounds, color, devToUV)); } private: @@ -543,7 +544,8 @@ protected: GrPathUtils::QuadUVMatrix DevToUV(pts); - sk_sp<GrDrawOp> op = BezierQuadTestOp::Make(gp, bounds, color, DevToUV); + std::unique_ptr<GrDrawOp> op = + BezierQuadTestOp::Make(gp, bounds, color, DevToUV); renderTargetContext->priv().testingOnly_addDrawOp(grPaint, GrAAType::kNone, std::move(op)); |