diff options
Diffstat (limited to 'experimental/sksg/effects/SkSGMaskEffect.h')
-rw-r--r-- | experimental/sksg/effects/SkSGMaskEffect.h | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/experimental/sksg/effects/SkSGMaskEffect.h b/experimental/sksg/effects/SkSGMaskEffect.h deleted file mode 100644 index c4fd0120e5..0000000000 --- a/experimental/sksg/effects/SkSGMaskEffect.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2018 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef SkSGMaskEffect_DEFINED -#define SkSGMaskEffect_DEFINED - -#include "SkSGEffectNode.h" - -namespace sksg { - -/** - * Concrete Effect node, applying a mask to its descendants. - * - */ -class MaskEffect final : public EffectNode { -public: - enum class Mode { - kNormal, - kInvert - }; - - static sk_sp<MaskEffect> Make(sk_sp<RenderNode> child, sk_sp<RenderNode> mask, - Mode mode = Mode::kNormal) { - return (child && mask) - ? sk_sp<MaskEffect>(new MaskEffect(std::move(child), std::move(mask), mode)) - : nullptr; - } - - ~MaskEffect() override; - -protected: - MaskEffect(sk_sp<RenderNode>, sk_sp<RenderNode> mask, Mode); - - void onRender(SkCanvas*) const override; - - SkRect onRevalidate(InvalidationController*, const SkMatrix&) override; - -private: - const sk_sp<RenderNode> fMaskNode; - const Mode fMaskMode; - - typedef EffectNode INHERITED; -}; - -} // namespace sksg - -#endif // SkSGMaskEffect_DEFINED |