KHtml

SVGAnimateElement.h
1 /*
2  Copyright (C) 2004, 2005 Nikolas Zimmermann <[email protected]>
3  2004, 2005 Rob Buis <[email protected]>
4  Copyright (C) 2008 Apple Inc. All rights reserved.
5 
6  This file is part of the KDE project
7 
8  This library is free software; you can redistribute it and/or
9  modify it under the terms of the GNU Library General Public
10  License as published by the Free Software Foundation; either
11  version 2 of the License, or (at your option) any later version.
12 
13  This library is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  Library General Public License for more details.
17 
18  You should have received a copy of the GNU Library General Public License
19  along with this library; see the file COPYING.LIB. If not, write to
20  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21  Boston, MA 02110-1301, USA.
22 */
23 
24 #ifndef SVGAnimateElement_h
25 #define SVGAnimateElement_h
26 
27 #if ENABLE(SVG) && ENABLE(SVG_ANIMATION)
28 
29 #include "SVGAnimationElement.h"
30 
31 namespace WebCore
32 {
33 
34 class SVGAnimateElement : public SVGAnimationElement
35 {
36 public:
37  SVGAnimateElement(const QualifiedName &, Document *);
38  virtual ~SVGAnimateElement();
39 
40 protected:
41  virtual const SVGElement *contextElement() const
42  {
43  return this;
44  }
45 
46  virtual void resetToBaseValue(const String &);
47  virtual bool calculateFromAndToValues(const String &fromString, const String &toString);
48  virtual bool calculateFromAndByValues(const String &fromString, const String &byString);
49  virtual void calculateAnimatedValue(float percentage, unsigned repeat, SVGSMILElement *resultElement);
50  virtual void applyResultsToTarget();
51  virtual float calculateDistance(const String &fromString, const String &toString);
52 
53 private:
54  enum PropertyType { NumberProperty, ColorProperty, StringProperty };
55  PropertyType determinePropertyType(const String &attribute) const;
56  PropertyType m_propertyType;
57 
58  double m_fromNumber;
59  double m_toNumber;
60  double m_animatedNumber;
61  String m_numberUnit;
62  Color m_fromColor;
63  Color m_toColor;
64  Color m_animatedColor;
65  String m_fromString;
66  String m_toString;
67  String m_animatedString;
68 };
69 
70 } // namespace WebCore
71 
72 #endif // ENABLE(SVG)
73 #endif // SVGAnimateElement_h
74 
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Tue Oct 26 2021 22:48:09 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.