1/* 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 SkSVGFeGaussianBlur_DEFINED 9#define SkSVGFeGaussianBlur_DEFINED 10 11#include "modules/svg/include/SkSVGFe.h" 12#include "modules/svg/include/SkSVGTypes.h" 13 14class SkSVGFeGaussianBlur : public SkSVGFe { 15public: 16 struct StdDeviation { 17 SkSVGNumberType fX; 18 SkSVGNumberType fY; 19 }; 20 21 static sk_sp<SkSVGFeGaussianBlur> Make() { 22 return sk_sp<SkSVGFeGaussianBlur>(new SkSVGFeGaussianBlur()); 23 } 24 25 SVG_ATTR(StdDeviation, StdDeviation, StdDeviation({0, 0})) 26 27protected: 28 sk_sp<SkImageFilter> onMakeImageFilter(const SkSVGRenderContext&, 29 const SkSVGFilterContext&) const override; 30 31 std::vector<SkSVGFeInputType> getInputs() const override { return {this->getIn()}; } 32 33 bool parseAndSetAttribute(const char*, const char*) override; 34 35private: 36 SkSVGFeGaussianBlur() : INHERITED(SkSVGTag::kFeGaussianBlur) {} 37 38 using INHERITED = SkSVGFe; 39}; 40 41#endif // SkSVGFeGaussianBlur_DEFINED 42