blob: 4f8fbc4e99219bc388cc05ba24d8483969c8f451 [file] [log] [blame]
Tyler Dennistondf208a32020-10-30 16:01:54 -04001/*
2 * Copyright 2020 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef SkSVGFe_DEFINED
9#define SkSVGFe_DEFINED
10
11#include "modules/svg/include/SkSVGHiddenContainer.h"
12
13class SkImageFilter;
14class SkSVGFilterContext;
15
16class SkSVGFe : public SkSVGHiddenContainer {
17public:
18 ~SkSVGFe() override = default;
19
20 static bool IsFilterElement(const sk_sp<SkSVGNode>& node) { return false; }
21
22 sk_sp<SkImageFilter> makeImageFilter(const SkSVGRenderContext& ctx,
23 SkSVGFilterContext* fctx) const;
24
25protected:
26 explicit SkSVGFe(SkSVGTag t) : INHERITED(t) {}
27
28 virtual sk_sp<SkImageFilter> onMakeImageFilter(const SkSVGRenderContext&,
29 const SkSVGFilterContext&) const = 0;
30
31private:
32 using INHERITED = SkSVGHiddenContainer;
33};
34
35#endif // SkSVGFe_DEFINED