OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2005 Alexander Kellett <lypanov@kde.org> | 2 * Copyright (C) 2005 Alexander Kellett <lypanov@kde.org> |
3 * | 3 * |
4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
8 * | 8 * |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
12 * Library General Public License for more details. | 12 * Library General Public License for more details. |
13 * | 13 * |
14 * You should have received a copy of the GNU Library General Public License | 14 * You should have received a copy of the GNU Library General Public License |
15 * along with this library; see the file COPYING.LIB. If not, write to | 15 * along with this library; see the file COPYING.LIB. If not, write to |
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
17 * Boston, MA 02110-1301, USA. | 17 * Boston, MA 02110-1301, USA. |
18 */ | 18 */ |
19 | 19 |
20 #ifndef SVGMaskElement_h | 20 #ifndef SVGMaskElement_h |
21 #define SVGMaskElement_h | 21 #define SVGMaskElement_h |
22 | 22 |
23 #include "SVGNames.h" | 23 #include "SVGNames.h" |
24 #include "core/svg/SVGAnimatedBoolean.h" | 24 #include "core/svg/SVGAnimatedBoolean.h" |
25 #include "core/svg/SVGAnimatedEnumeration.h" | 25 #include "core/svg/SVGAnimatedEnumeration.h" |
26 #include "core/svg/SVGAnimatedLength.h" | 26 #include "core/svg/SVGAnimatedLength.h" |
27 #include "core/svg/SVGElement.h" | 27 #include "core/svg/SVGElement.h" |
28 #include "core/svg/SVGExternalResourcesRequired.h" | |
29 #include "core/svg/SVGTests.h" | 28 #include "core/svg/SVGTests.h" |
30 #include "core/svg/SVGUnitTypes.h" | 29 #include "core/svg/SVGUnitTypes.h" |
31 | 30 |
32 namespace WebCore { | 31 namespace WebCore { |
33 | 32 |
34 class SVGMaskElement FINAL : public SVGElement, | 33 class SVGMaskElement FINAL : public SVGElement, |
35 public SVGTests, | 34 public SVGTests { |
36 public SVGExternalResourcesRequired { | |
37 public: | 35 public: |
38 static PassRefPtr<SVGMaskElement> create(const QualifiedName&, Document&); | 36 static PassRefPtr<SVGMaskElement> create(const QualifiedName&, Document&); |
39 | 37 |
40 private: | 38 private: |
41 SVGMaskElement(const QualifiedName&, Document&); | 39 SVGMaskElement(const QualifiedName&, Document&); |
42 | 40 |
43 virtual bool isValid() const { return SVGTests::isValid(); } | 41 virtual bool isValid() const { return SVGTests::isValid(); } |
44 virtual bool needsPendingResourceHandling() const { return false; } | 42 virtual bool needsPendingResourceHandling() const { return false; } |
45 | 43 |
46 bool isSupportedAttribute(const QualifiedName&); | 44 bool isSupportedAttribute(const QualifiedName&); |
47 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; | 45 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; |
48 virtual void svgAttributeChanged(const QualifiedName&); | 46 virtual void svgAttributeChanged(const QualifiedName&); |
49 virtual void childrenChanged(bool changedByParser = false, Node* beforeChang
e = 0, Node* afterChange = 0, int childCountDelta = 0); | 47 virtual void childrenChanged(bool changedByParser = false, Node* beforeChang
e = 0, Node* afterChange = 0, int childCountDelta = 0); |
50 | 48 |
51 virtual RenderObject* createRenderer(RenderStyle*); | 49 virtual RenderObject* createRenderer(RenderStyle*); |
52 | 50 |
53 virtual bool selfHasRelativeLengths() const; | 51 virtual bool selfHasRelativeLengths() const; |
54 | 52 |
55 BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGMaskElement) | 53 BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGMaskElement) |
56 DECLARE_ANIMATED_ENUMERATION(MaskUnits, maskUnits, SVGUnitTypes::SVGUnit
Type) | 54 DECLARE_ANIMATED_ENUMERATION(MaskUnits, maskUnits, SVGUnitTypes::SVGUnit
Type) |
57 DECLARE_ANIMATED_ENUMERATION(MaskContentUnits, maskContentUnits, SVGUnit
Types::SVGUnitType) | 55 DECLARE_ANIMATED_ENUMERATION(MaskContentUnits, maskContentUnits, SVGUnit
Types::SVGUnitType) |
58 DECLARE_ANIMATED_LENGTH(X, x) | 56 DECLARE_ANIMATED_LENGTH(X, x) |
59 DECLARE_ANIMATED_LENGTH(Y, y) | 57 DECLARE_ANIMATED_LENGTH(Y, y) |
60 DECLARE_ANIMATED_LENGTH(Width, width) | 58 DECLARE_ANIMATED_LENGTH(Width, width) |
61 DECLARE_ANIMATED_LENGTH(Height, height) | 59 DECLARE_ANIMATED_LENGTH(Height, height) |
62 DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesReq
uired) | |
63 END_DECLARE_ANIMATED_PROPERTIES | 60 END_DECLARE_ANIMATED_PROPERTIES |
64 | 61 |
65 // SVGTests | 62 // SVGTests |
66 virtual void synchronizeRequiredFeatures() { SVGTests::synchronizeRequiredFe
atures(this); } | 63 virtual void synchronizeRequiredFeatures() { SVGTests::synchronizeRequiredFe
atures(this); } |
67 virtual void synchronizeRequiredExtensions() { SVGTests::synchronizeRequired
Extensions(this); } | 64 virtual void synchronizeRequiredExtensions() { SVGTests::synchronizeRequired
Extensions(this); } |
68 virtual void synchronizeSystemLanguage() { SVGTests::synchronizeSystemLangua
ge(this); } | 65 virtual void synchronizeSystemLanguage() { SVGTests::synchronizeSystemLangua
ge(this); } |
69 }; | 66 }; |
70 | 67 |
71 DEFINE_NODE_TYPE_CASTS(SVGMaskElement, hasTagName(SVGNames::maskTag)); | 68 DEFINE_NODE_TYPE_CASTS(SVGMaskElement, hasTagName(SVGNames::maskTag)); |
72 | 69 |
73 } | 70 } |
74 | 71 |
75 #endif | 72 #endif |
OLD | NEW |