Make GrFragmentProcessor be non-refcounted and use std::unique_ptr.
Change-Id: I985e54a071338e99292a5aa2f42c92bc115b4008
Reviewed-on: https://skia-review.googlesource.com/32760
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/gm/windowrectangles.cpp b/gm/windowrectangles.cpp
index dc5b93d..f656b23 100644
--- a/gm/windowrectangles.cpp
+++ b/gm/windowrectangles.cpp
@@ -149,18 +149,20 @@
*/
class AlphaOnlyClip final : public MaskOnlyClipBase {
public:
- AlphaOnlyClip(sk_sp<GrTextureProxy> mask, int x, int y) {
- int w = mask->width(), h = mask->height();
- fFP = GrDeviceSpaceTextureDecalFragmentProcessor::Make(std::move(mask),
- SkIRect::MakeWH(w, h), {x, y});
- }
+ AlphaOnlyClip(sk_sp<GrTextureProxy> mask, int x, int y) : fMask(mask), fX(x), fY(y) {}
+
private:
bool apply(GrContext*, GrRenderTargetContext*, bool, bool, GrAppliedClip* out,
SkRect* bounds) const override {
- out->addCoverageFP(fFP);
+ int w = fMask->width();
+ int h = fMask->height();
+ out->addCoverageFP(GrDeviceSpaceTextureDecalFragmentProcessor::Make(
+ fMask, SkIRect::MakeWH(w, h), {fX, fY}));
return true;
}
- sk_sp<GrFragmentProcessor> fFP;
+ sk_sp<GrTextureProxy> fMask;
+ int fX;
+ int fY;
};
/**