blob: 5e20e37f58fc4391e4678e68790e9c32c096d88c [file] [log] [blame]
darinb9481ed2006-03-20 02:57:59 +00001/*
zimmermann@webkit.org057741d2008-07-19 15:46:48 +00002 Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org>
rwlbuis79983122006-10-09 07:40:41 +00003 2004, 2005, 2006 Rob Buis <buis@kde.org>
darinb9481ed2006-03-20 02:57:59 +00004
5 This file is part of the KDE project
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Library General Public
9 License as published by the Free Software Foundation; either
10 version 2 of the License, or (at your option) any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Library General Public License for more details.
16
17 You should have received a copy of the GNU Library General Public License
18 along with this library; see the file COPYING.LIB. If not, write to
ddkilzerc8eccec2007-09-26 02:29:57 +000019 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA.
darinb9481ed2006-03-20 02:57:59 +000021*/
22
eseidel8eddecf2007-01-16 00:49:43 +000023#ifndef SVGComponentTransferFunctionElement_h
24#define SVGComponentTransferFunctionElement_h
darinb9481ed2006-03-20 02:57:59 +000025
zimmermann@webkit.org057741d2008-07-19 15:46:48 +000026#if ENABLE(SVG) && ENABLE(SVG_FILTERS)
rwlbuis79983122006-10-09 07:40:41 +000027#include "SVGElement.h"
zimmermann@webkit.org057741d2008-07-19 15:46:48 +000028#include "SVGNumberList.h"
oliver@apple.comf83ba182008-07-04 05:21:56 +000029#include "FEComponentTransfer.h"
darinb9481ed2006-03-20 02:57:59 +000030
zimmermann@webkit.org057741d2008-07-19 15:46:48 +000031namespace WebCore {
darinb9481ed2006-03-20 02:57:59 +000032
zimmermann@webkit.org057741d2008-07-19 15:46:48 +000033 extern char SVGComponentTransferFunctionElementIdentifier[];
34
35 class SVGComponentTransferFunctionElement : public SVGElement {
darinb9481ed2006-03-20 02:57:59 +000036 public:
eseidel4e524622006-05-31 17:25:30 +000037 SVGComponentTransferFunctionElement(const QualifiedName&, Document*);
darinb9481ed2006-03-20 02:57:59 +000038 virtual ~SVGComponentTransferFunctionElement();
39
rwlbuis79983122006-10-09 07:40:41 +000040 virtual void parseMappedAttribute(MappedAttribute* attr);
darinb9481ed2006-03-20 02:57:59 +000041
oliver@apple.comfa8c9542008-07-04 01:10:08 +000042 ComponentTransferFunction transferFunction() const;
darinb9481ed2006-03-20 02:57:59 +000043
44 private:
zimmermann@webkit.org057741d2008-07-19 15:46:48 +000045 ANIMATED_PROPERTY_DECLARATIONS(SVGComponentTransferFunctionElement, SVGComponentTransferFunctionElementIdentifier, SVGNames::typeAttrString, int, Type, type)
46 ANIMATED_PROPERTY_DECLARATIONS(SVGComponentTransferFunctionElement, SVGComponentTransferFunctionElementIdentifier, SVGNames::tableValuesAttrString, SVGNumberList, TableValues, tableValues)
47 ANIMATED_PROPERTY_DECLARATIONS(SVGComponentTransferFunctionElement, SVGComponentTransferFunctionElementIdentifier, SVGNames::slopeAttrString, float, Slope, slope)
48 ANIMATED_PROPERTY_DECLARATIONS(SVGComponentTransferFunctionElement, SVGComponentTransferFunctionElementIdentifier, SVGNames::interceptAttrString, float, Intercept, intercept)
49 ANIMATED_PROPERTY_DECLARATIONS(SVGComponentTransferFunctionElement, SVGComponentTransferFunctionElementIdentifier, SVGNames::amplitudeAttrString, float, Amplitude, amplitude)
50 ANIMATED_PROPERTY_DECLARATIONS(SVGComponentTransferFunctionElement, SVGComponentTransferFunctionElementIdentifier, SVGNames::exponentAttrString, float, Exponent, exponent)
51 ANIMATED_PROPERTY_DECLARATIONS(SVGComponentTransferFunctionElement, SVGComponentTransferFunctionElementIdentifier, SVGNames::offsetAttrString, float, Offset, offset)
darinb9481ed2006-03-20 02:57:59 +000052 };
weinigab5f09e2006-07-29 23:15:25 +000053
54} // namespace WebCore
darinb9481ed2006-03-20 02:57:59 +000055
oliver@apple.com22b1ad92007-12-09 00:27:57 +000056#endif // ENABLE(SVG) && ENABLE(SVG_FILTERS)
darinb9481ed2006-03-20 02:57:59 +000057#endif