SVGFEDiffuseLightingElement.h [plain text]
#pragma once
#include "SVGFELightElement.h"
#include "SVGFilterPrimitiveStandardAttributes.h"
namespace WebCore {
class FEDiffuseLighting;
class SVGColor;
class SVGFEDiffuseLightingElement final : public SVGFilterPrimitiveStandardAttributes {
WTF_MAKE_ISO_ALLOCATED(SVGFEDiffuseLightingElement);
public:
static Ref<SVGFEDiffuseLightingElement> create(const QualifiedName&, Document&);
void lightElementAttributeChanged(const SVGFELightElement*, const QualifiedName&);
String in1() const { return m_in1.currentValue(attributeOwnerProxy()); }
float diffuseConstant() const { return m_diffuseConstant.currentValue(attributeOwnerProxy()); }
float surfaceScale() const { return m_surfaceScale.currentValue(attributeOwnerProxy()); }
float kernelUnitLengthX() const { return m_kernelUnitLengthX.currentValue(attributeOwnerProxy()); }
float kernelUnitLengthY() const { return m_kernelUnitLengthY.currentValue(attributeOwnerProxy()); }
RefPtr<SVGAnimatedString> in1Animated() { return m_in1.animatedProperty(attributeOwnerProxy()); }
RefPtr<SVGAnimatedNumber> diffuseConstantAnimated() { return m_diffuseConstant.animatedProperty(attributeOwnerProxy()); }
RefPtr<SVGAnimatedNumber> surfaceScaleAnimated() { return m_surfaceScale.animatedProperty(attributeOwnerProxy()); }
RefPtr<SVGAnimatedNumber> kernelUnitLengthXAnimated() { return m_kernelUnitLengthX.animatedProperty(attributeOwnerProxy()); }
RefPtr<SVGAnimatedNumber> kernelUnitLengthYAnimated() { return m_kernelUnitLengthY.animatedProperty(attributeOwnerProxy()); }
private:
SVGFEDiffuseLightingElement(const QualifiedName&, Document&);
using AttributeOwnerProxy = SVGAttributeOwnerProxyImpl<SVGFEDiffuseLightingElement, SVGFilterPrimitiveStandardAttributes>;
static AttributeOwnerProxy::AttributeRegistry& attributeRegistry() { return AttributeOwnerProxy::attributeRegistry(); }
static bool isKnownAttribute(const QualifiedName& attributeName) { return AttributeOwnerProxy::isKnownAttribute(attributeName); }
static void registerAttributes();
const SVGAttributeOwnerProxy& attributeOwnerProxy() const final { return m_attributeOwnerProxy; }
void parseAttribute(const QualifiedName&, const AtomicString&) override;
void svgAttributeChanged(const QualifiedName&) override;
bool setFilterEffectAttribute(FilterEffect*, const QualifiedName&) override;
RefPtr<FilterEffect> build(SVGFilterBuilder*, Filter&) override;
static const AtomicString& kernelUnitLengthXIdentifier();
static const AtomicString& kernelUnitLengthYIdentifier();
AttributeOwnerProxy m_attributeOwnerProxy { *this };
SVGAnimatedStringAttribute m_in1;
SVGAnimatedNumberAttribute m_diffuseConstant { 1 };
SVGAnimatedNumberAttribute m_surfaceScale { 1 };
SVGAnimatedNumberAttribute m_kernelUnitLengthX;
SVGAnimatedNumberAttribute m_kernelUnitLengthY;
};
}