OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde
.org> | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde
.org> |
3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> |
4 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. | 4 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
11 * This library is distributed in the hope that it will be useful, | 11 * This library is distributed in the hope that it will be useful, |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 * Library General Public License for more details. | 14 * Library General Public License for more details. |
15 * | 15 * |
16 * You should have received a copy of the GNU Library General Public License | 16 * You should have received a copy of the GNU Library General Public License |
17 * along with this library; see the file COPYING.LIB. If not, write to | 17 * along with this library; see the file COPYING.LIB. If not, write to |
18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
19 * Boston, MA 02110-1301, USA. | 19 * Boston, MA 02110-1301, USA. |
20 */ | 20 */ |
21 | 21 |
22 #ifndef SVGAnimatedPropertyMacros_h | 22 #ifndef SVGAnimatedPropertyMacros_h |
23 #define SVGAnimatedPropertyMacros_h | 23 #define SVGAnimatedPropertyMacros_h |
24 | 24 |
| 25 #include "core/dom/Element.h" |
25 #include "core/svg/properties/SVGAnimatedProperty.h" | 26 #include "core/svg/properties/SVGAnimatedProperty.h" |
26 #include "core/svg/properties/SVGAttributeToPropertyMap.h" | 27 #include "core/svg/properties/SVGAttributeToPropertyMap.h" |
27 #include "core/svg/properties/SVGPropertyTraits.h" | 28 #include "core/svg/properties/SVGPropertyTraits.h" |
28 #include <wtf/StdLibExtras.h> | 29 #include <wtf/StdLibExtras.h> |
29 | 30 |
30 namespace WebCore { | 31 namespace WebCore { |
31 | 32 |
32 // SVGSynchronizableAnimatedProperty implementation | 33 // SVGSynchronizableAnimatedProperty implementation |
33 template<typename PropertyType> | 34 template<typename PropertyType> |
34 struct SVGSynchronizableAnimatedProperty { | 35 struct SVGSynchronizableAnimatedProperty { |
(...skipping 13 matching lines...) Expand all Loading... |
48 } | 49 } |
49 | 50 |
50 template<typename ConstructorParameter1, typename ConstructorParameter2> | 51 template<typename ConstructorParameter1, typename ConstructorParameter2> |
51 SVGSynchronizableAnimatedProperty(const ConstructorParameter1& value1, const
ConstructorParameter2& value2) | 52 SVGSynchronizableAnimatedProperty(const ConstructorParameter1& value1, const
ConstructorParameter2& value2) |
52 : value(value1, value2) | 53 : value(value1, value2) |
53 , shouldSynchronize(false) | 54 , shouldSynchronize(false) |
54 , isValid(false) | 55 , isValid(false) |
55 { | 56 { |
56 } | 57 } |
57 | 58 |
58 void synchronize(SVGElement* ownerElement, const QualifiedName& attrName, co
nst AtomicString& value) | 59 void synchronize(Element* ownerElement, const QualifiedName& attrName, const
AtomicString& value) |
59 { | 60 { |
60 ownerElement->setSynchronizedLazyAttribute(attrName, value); | 61 ownerElement->setSynchronizedLazyAttribute(attrName, value); |
61 } | 62 } |
62 | 63 |
63 PropertyType value; | 64 PropertyType value; |
64 bool shouldSynchronize : 1; | 65 bool shouldSynchronize : 1; |
65 bool isValid : 1; | 66 bool isValid : 1; |
66 }; | 67 }; |
67 | 68 |
68 // Property registration helpers | 69 // Property registration helpers |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 DECLARE_ANIMATED_PROPERTY(TearOffType, PropertyType, UpperProperty, LowerPropert
y) \ | 189 DECLARE_ANIMATED_PROPERTY(TearOffType, PropertyType, UpperProperty, LowerPropert
y) \ |
189 void detachAnimated##UpperProperty##ListWrappers(unsigned newListSize) \ | 190 void detachAnimated##UpperProperty##ListWrappers(unsigned newListSize) \ |
190 { \ | 191 { \ |
191 if (TearOffType* wrapper = SVGAnimatedProperty::lookupWrapper<UseOwnerType,
TearOffType>(this, LowerProperty##PropertyInfo())) \ | 192 if (TearOffType* wrapper = SVGAnimatedProperty::lookupWrapper<UseOwnerType,
TearOffType>(this, LowerProperty##PropertyInfo())) \ |
192 wrapper->detachListWrappers(newListSize); \ | 193 wrapper->detachListWrappers(newListSize); \ |
193 } | 194 } |
194 | 195 |
195 } | 196 } |
196 | 197 |
197 #endif // SVGAnimatedPropertyMacros_h | 198 #endif // SVGAnimatedPropertyMacros_h |
OLD | NEW |