SVGFESpecularLightingElement.h [plain text]
#ifndef SVGFESpecularLightingElement_h
#define SVGFESpecularLightingElement_h
#if ENABLE(FILTERS)
#include "FESpecularLighting.h"
#include "SVGAnimatedNumber.h"
#include "SVGFELightElement.h"
#include "SVGFilterPrimitiveStandardAttributes.h"
namespace WebCore {
class SVGFESpecularLightingElement final : public SVGFilterPrimitiveStandardAttributes {
public:
static PassRefPtr<SVGFESpecularLightingElement> create(const QualifiedName&, Document&);
void lightElementAttributeChanged(const SVGFELightElement*, const QualifiedName&);
private:
SVGFESpecularLightingElement(const QualifiedName&, Document&);
bool isSupportedAttribute(const QualifiedName&);
virtual void parseAttribute(const QualifiedName&, const AtomicString&) override;
virtual bool setFilterEffectAttribute(FilterEffect*, const QualifiedName&) override;
virtual void svgAttributeChanged(const QualifiedName&) override;
virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*, Filter*) override;
static const AtomicString& kernelUnitLengthXIdentifier();
static const AtomicString& kernelUnitLengthYIdentifier();
BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGFESpecularLightingElement)
DECLARE_ANIMATED_STRING(In1, in1)
DECLARE_ANIMATED_NUMBER(SpecularConstant, specularConstant)
DECLARE_ANIMATED_NUMBER(SpecularExponent, specularExponent)
DECLARE_ANIMATED_NUMBER(SurfaceScale, surfaceScale)
DECLARE_ANIMATED_NUMBER(KernelUnitLengthX, kernelUnitLengthX)
DECLARE_ANIMATED_NUMBER(KernelUnitLengthY, kernelUnitLengthY)
END_DECLARE_ANIMATED_PROPERTIES
};
}
#endif // ENABLE(FILTERS)
#endif