OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2008 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2006, 2008 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 26 matching lines...) Expand all Loading... |
37 | 37 |
38 SVGPointList& pointList() const { return m_points.value; } | 38 SVGPointList& pointList() const { return m_points.value; } |
39 | 39 |
40 static const SVGPropertyInfo* pointsPropertyInfo(); | 40 static const SVGPropertyInfo* pointsPropertyInfo(); |
41 | 41 |
42 protected: | 42 protected: |
43 SVGPolyElement(const QualifiedName&, Document*); | 43 SVGPolyElement(const QualifiedName&, Document*); |
44 | 44 |
45 private: | 45 private: |
46 virtual bool isValid() const { return SVGTests::isValid(); } | 46 virtual bool isValid() const { return SVGTests::isValid(); } |
47 virtual bool supportsFocus() const { return true; } | 47 virtual bool supportsFocus() const OVERRIDE { return hasFocusEventListeners(
); } |
48 | 48 |
49 bool isSupportedAttribute(const QualifiedName&); | 49 bool isSupportedAttribute(const QualifiedName&); |
50 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; | 50 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; |
51 virtual void svgAttributeChanged(const QualifiedName&); | 51 virtual void svgAttributeChanged(const QualifiedName&); |
52 | 52 |
53 virtual bool supportsMarkers() const { return true; } | 53 virtual bool supportsMarkers() const { return true; } |
54 | 54 |
55 // Custom 'points' property | 55 // Custom 'points' property |
56 static void synchronizePoints(SVGElement* contextElement); | 56 static void synchronizePoints(SVGElement* contextElement); |
57 static PassRefPtr<SVGAnimatedProperty> lookupOrCreatePointsWrapper(SVGElemen
t* contextElement); | 57 static PassRefPtr<SVGAnimatedProperty> lookupOrCreatePointsWrapper(SVGElemen
t* contextElement); |
58 | 58 |
59 BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGPolyElement) | 59 BEGIN_DECLARE_ANIMATED_PROPERTIES(SVGPolyElement) |
60 DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesReq
uired) | 60 DECLARE_ANIMATED_BOOLEAN(ExternalResourcesRequired, externalResourcesReq
uired) |
61 END_DECLARE_ANIMATED_PROPERTIES | 61 END_DECLARE_ANIMATED_PROPERTIES |
62 | 62 |
63 protected: | 63 protected: |
64 mutable SVGSynchronizableAnimatedProperty<SVGPointList> m_points; | 64 mutable SVGSynchronizableAnimatedProperty<SVGPointList> m_points; |
65 }; | 65 }; |
66 | 66 |
67 inline SVGPolyElement* toSVGPolyElement(SVGElement* element) | 67 inline SVGPolyElement* toSVGPolyElement(SVGElement* element) |
68 { | 68 { |
69 ASSERT_WITH_SECURITY_IMPLICATION(!element || element->hasTagName(SVGNames::p
olygonTag) || element->hasTagName(SVGNames::polylineTag)); | 69 ASSERT_WITH_SECURITY_IMPLICATION(!element || element->hasTagName(SVGNames::p
olygonTag) || element->hasTagName(SVGNames::polylineTag)); |
70 return static_cast<SVGPolyElement*>(element); | 70 return static_cast<SVGPolyElement*>(element); |
71 } | 71 } |
72 | 72 |
73 } // namespace WebCore | 73 } // namespace WebCore |
74 | 74 |
75 #endif | 75 #endif |
OLD | NEW |