OSDN Git Service

Merge webkit.org at R49305 : Automatic merge by git.
[android-x86/external-webkit.git] / WebCore / svg / SVGCursorElement.h
1 /*
2     Copyright (C) 2004, 2005, 2006, 2008 Nikolas Zimmermann <zimmermann@kde.org>
3                   2004, 2005, 2006 Rob Buis <buis@kde.org>
4
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
19     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20     Boston, MA 02110-1301, USA.
21 */
22
23 #ifndef SVGCursorElement_h
24 #define SVGCursorElement_h
25
26 #if ENABLE(SVG)
27 #include "SVGLength.h"
28 #include "SVGElement.h"
29 #include "SVGTests.h"
30 #include "SVGURIReference.h"
31 #include "SVGExternalResourcesRequired.h"
32
33 namespace WebCore {
34
35     class SVGCursorElement : public SVGElement,
36                              public SVGTests,
37                              public SVGExternalResourcesRequired,
38                              public SVGURIReference {
39     public:
40         SVGCursorElement(const QualifiedName&, Document*);
41         virtual ~SVGCursorElement();
42
43         void addClient(SVGElement*);
44         void removeClient(SVGElement*);
45
46         virtual bool isValid() const { return SVGTests::isValid(); }
47
48         virtual void parseMappedAttribute(MappedAttribute*);
49         virtual void svgAttributeChanged(const QualifiedName&);
50
51         virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
52
53     protected:
54         virtual const SVGElement* contextElement() const { return this; }
55
56     private:
57         ANIMATED_PROPERTY_DECLARATIONS(SVGCursorElement, SVGNames::cursorTagString, SVGNames::xAttrString, SVGLength, X, x)
58         ANIMATED_PROPERTY_DECLARATIONS(SVGCursorElement, SVGNames::cursorTagString, SVGNames::yAttrString, SVGLength, Y, y)
59
60         // SVGURIReference
61         ANIMATED_PROPERTY_DECLARATIONS(SVGCursorElement, SVGURIReferenceIdentifier, XLinkNames::hrefAttrString, String, Href, href)
62
63         HashSet<SVGElement*> m_clients;
64     };
65
66 } // namespace WebCore
67
68 #endif // ENABLE(SVG)
69 #endif