diff options
author | 2016-03-08 18:50:00 -0800 | |
---|---|---|
committer | 2016-03-08 18:50:00 -0800 | |
commit | 8a21c9fe7f5fef9e87115defef27bd7218419f28 (patch) | |
tree | 1dd8b9eda9eae99b33bc88b97bd5f0a7a0769dc3 /src/core/SkBlitter.cpp | |
parent | 042f859c19f71ca9feacddd1cb058ff59eed8963 (diff) |
use Make instead of Create to return a shared shader
Partially updated call sites. Undefine the flag in SkSHader.h to convert the remaining sites.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1772463002
Review URL: https://codereview.chromium.org/1772463002
Diffstat (limited to 'src/core/SkBlitter.cpp')
-rw-r--r-- | src/core/SkBlitter.cpp | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/core/SkBlitter.cpp b/src/core/SkBlitter.cpp index bb5cfb72e3..9fcab9c982 100644 --- a/src/core/SkBlitter.cpp +++ b/src/core/SkBlitter.cpp @@ -584,13 +584,7 @@ SkBlitter* SkBlitterClipper::apply(SkBlitter* blitter, const SkRegion* clip, class Sk3DShader : public SkShader { public: - Sk3DShader(SkShader* proxy) : fProxy(proxy) { - SkSafeRef(proxy); - } - - virtual ~Sk3DShader() { - SkSafeUnref(fProxy); - } + Sk3DShader(sk_sp<SkShader> proxy) : fProxy(std::move(proxy)) {} size_t onContextSize(const ContextRec& rec) const override { size_t size = sizeof(Sk3DShaderContext); @@ -727,18 +721,17 @@ public: protected: void flatten(SkWriteBuffer& buffer) const override { - buffer.writeFlattenable(fProxy); + buffer.writeFlattenable(fProxy.get()); } private: - SkShader* fProxy; + sk_sp<SkShader> fProxy; typedef SkShader INHERITED; }; SkFlattenable* Sk3DShader::CreateProc(SkReadBuffer& buffer) { - SkAutoTUnref<SkShader> shader(buffer.readShader()); - return new Sk3DShader(shader); + return new Sk3DShader(buffer.readShader()); } class Sk3DBlitter : public SkBlitter { @@ -822,7 +815,7 @@ SkBlitter* SkBlitter::Choose(const SkPixmap& device, if (origPaint.getMaskFilter() != nullptr && origPaint.getMaskFilter()->getFormat() == SkMask::k3D_Format) { - shader3D = new Sk3DShader(shader); + shader3D = new Sk3DShader(sk_sp<SkShader>(SkSafeRef(shader))); // we know we haven't initialized lazyPaint yet, so just do it paint.writable()->setShader(shader3D)->unref(); shader = shader3D; |