1/*
2 * Copyright 2021 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 SkSVGFeImage_DEFINED
9#define SkSVGFeImage_DEFINED
10
11#include "modules/svg/include/SkSVGFe.h"
12#include "modules/svg/include/SkSVGTypes.h"
13
14class SkSVGFeImage : public SkSVGFe {
15public:
16    static sk_sp<SkSVGFeImage> Make() { return sk_sp<SkSVGFeImage>(new SkSVGFeImage()); }
17
18    SVG_ATTR(Href               , SkSVGIRI                , SkSVGIRI())
19    SVG_ATTR(PreserveAspectRatio, SkSVGPreserveAspectRatio, SkSVGPreserveAspectRatio())
20
21protected:
22    bool parseAndSetAttribute(const char*, const char*) override;
23
24    sk_sp<SkImageFilter> onMakeImageFilter(const SkSVGRenderContext&,
25                                           const SkSVGFilterContext&) const override;
26
27    std::vector<SkSVGFeInputType> getInputs() const override { return {}; }
28
29private:
30    SkSVGFeImage() : INHERITED(SkSVGTag::kFeImage) {}
31
32    using INHERITED = SkSVGFe;
33};
34
35#endif  // SkSVGFeImage_DEFINED
36