KHTML
SVGAnimateElement.h
Go to the documentation of this file.
00001 /* 00002 Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org> 00003 2004, 2005 Rob Buis <buis@kde.org> 00004 Copyright (C) 2008 Apple Inc. All rights reserved. 00005 00006 This file is part of the KDE project 00007 00008 This library is free software; you can redistribute it and/or 00009 modify it under the terms of the GNU Library General Public 00010 License as published by the Free Software Foundation; either 00011 version 2 of the License, or (at your option) any later version. 00012 00013 This library is distributed in the hope that it will be useful, 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 Library General Public License for more details. 00017 00018 You should have received a copy of the GNU Library General Public License 00019 along with this library; see the file COPYING.LIB. If not, write to 00020 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00021 Boston, MA 02110-1301, USA. 00022 */ 00023 00024 #ifndef SVGAnimateElement_h 00025 #define SVGAnimateElement_h 00026 00027 #if ENABLE(SVG) && ENABLE(SVG_ANIMATION) 00028 00029 #include "SVGAnimationElement.h" 00030 00031 namespace WebCore { 00032 00033 class SVGAnimateElement : public SVGAnimationElement { 00034 public: 00035 SVGAnimateElement(const QualifiedName&, Document*); 00036 virtual ~SVGAnimateElement(); 00037 00038 protected: 00039 virtual const SVGElement* contextElement() const { return this; } 00040 00041 virtual void resetToBaseValue(const String&); 00042 virtual bool calculateFromAndToValues(const String& fromString, const String& toString); 00043 virtual bool calculateFromAndByValues(const String& fromString, const String& byString); 00044 virtual void calculateAnimatedValue(float percentage, unsigned repeat, SVGSMILElement* resultElement); 00045 virtual void applyResultsToTarget(); 00046 virtual float calculateDistance(const String& fromString, const String& toString); 00047 00048 private: 00049 enum PropertyType { NumberProperty, ColorProperty, StringProperty }; 00050 PropertyType determinePropertyType(const String& attribute) const; 00051 PropertyType m_propertyType; 00052 00053 double m_fromNumber; 00054 double m_toNumber; 00055 double m_animatedNumber; 00056 String m_numberUnit; 00057 Color m_fromColor; 00058 Color m_toColor; 00059 Color m_animatedColor; 00060 String m_fromString; 00061 String m_toString; 00062 String m_animatedString; 00063 }; 00064 00065 } // namespace WebCore 00066 00067 #endif // ENABLE(SVG) 00068 #endif // SVGAnimateElement_h 00069 00070 // vim:ts=4:noet
KDE 4.6 API Reference