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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 class SVGPathSegLinetoVerticalRel; | 44 class SVGPathSegLinetoVerticalRel; |
45 class SVGPathSegLinetoHorizontalAbs; | 45 class SVGPathSegLinetoHorizontalAbs; |
46 class SVGPathSegLinetoHorizontalRel; | 46 class SVGPathSegLinetoHorizontalRel; |
47 class SVGPathSegCurvetoQuadraticAbs; | 47 class SVGPathSegCurvetoQuadraticAbs; |
48 class SVGPathSegCurvetoQuadraticRel; | 48 class SVGPathSegCurvetoQuadraticRel; |
49 class SVGPathSegCurvetoCubicSmoothAbs; | 49 class SVGPathSegCurvetoCubicSmoothAbs; |
50 class SVGPathSegCurvetoCubicSmoothRel; | 50 class SVGPathSegCurvetoCubicSmoothRel; |
51 class SVGPathSegCurvetoQuadraticSmoothAbs; | 51 class SVGPathSegCurvetoQuadraticSmoothAbs; |
52 class SVGPathSegCurvetoQuadraticSmoothRel; | 52 class SVGPathSegCurvetoQuadraticSmoothRel; |
53 | 53 |
54 class SVGPathElement FINAL : public SVGGeometryElement { | 54 class SVGPathElement final : public SVGGeometryElement { |
55 DEFINE_WRAPPERTYPEINFO(); | 55 DEFINE_WRAPPERTYPEINFO(); |
56 public: | 56 public: |
57 DECLARE_NODE_FACTORY(SVGPathElement); | 57 DECLARE_NODE_FACTORY(SVGPathElement); |
58 | 58 |
59 float getTotalLength(); | 59 float getTotalLength(); |
60 PassRefPtr<SVGPointTearOff> getPointAtLength(float distance); | 60 PassRefPtr<SVGPointTearOff> getPointAtLength(float distance); |
61 unsigned getPathSegAtLength(float distance); | 61 unsigned getPathSegAtLength(float distance); |
62 | 62 |
63 SVGAnimatedNumber* pathLength() { return m_pathLength.get(); } | 63 SVGAnimatedNumber* pathLength() { return m_pathLength.get(); } |
64 | 64 |
(...skipping 22 matching lines...) Expand all Loading... |
87 SVGPathSegListTearOff* animatedPathSegList() { return m_pathSegList->animVal
(); } | 87 SVGPathSegListTearOff* animatedPathSegList() { return m_pathSegList->animVal
(); } |
88 | 88 |
89 // FIXME: https://bugs.webkit.org/show_bug.cgi?id=15412 - Implement normaliz
ed path segment lists! | 89 // FIXME: https://bugs.webkit.org/show_bug.cgi?id=15412 - Implement normaliz
ed path segment lists! |
90 SVGPathSegListTearOff* normalizedPathSegList() { return 0; } | 90 SVGPathSegListTearOff* normalizedPathSegList() { return 0; } |
91 SVGPathSegListTearOff* animatedNormalizedPathSegList() { return 0; } | 91 SVGPathSegListTearOff* animatedNormalizedPathSegList() { return 0; } |
92 | 92 |
93 const SVGPathByteStream* pathByteStream() const { return m_pathSegList->curr
entValue()->byteStream(); } | 93 const SVGPathByteStream* pathByteStream() const { return m_pathSegList->curr
entValue()->byteStream(); } |
94 | 94 |
95 void pathSegListChanged(ListModification = ListModificationUnknown); | 95 void pathSegListChanged(ListModification = ListModificationUnknown); |
96 | 96 |
97 virtual FloatRect getBBox() OVERRIDE; | 97 virtual FloatRect getBBox() override; |
98 | 98 |
99 private: | 99 private: |
100 explicit SVGPathElement(Document&); | 100 explicit SVGPathElement(Document&); |
101 | 101 |
102 bool isSupportedAttribute(const QualifiedName&); | 102 bool isSupportedAttribute(const QualifiedName&); |
103 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR
IDE; | 103 virtual void parseAttribute(const QualifiedName&, const AtomicString&) overr
ide; |
104 virtual void svgAttributeChanged(const QualifiedName&) OVERRIDE; | 104 virtual void svgAttributeChanged(const QualifiedName&) override; |
105 | 105 |
106 virtual Node::InsertionNotificationRequest insertedInto(ContainerNode*) OVER
RIDE; | 106 virtual Node::InsertionNotificationRequest insertedInto(ContainerNode*) over
ride; |
107 virtual void removedFrom(ContainerNode*) OVERRIDE; | 107 virtual void removedFrom(ContainerNode*) override; |
108 | 108 |
109 void invalidateMPathDependencies(); | 109 void invalidateMPathDependencies(); |
110 | 110 |
111 RefPtr<SVGAnimatedNumber> m_pathLength; | 111 RefPtr<SVGAnimatedNumber> m_pathLength; |
112 RefPtr<SVGAnimatedPath> m_pathSegList; | 112 RefPtr<SVGAnimatedPath> m_pathSegList; |
113 }; | 113 }; |
114 | 114 |
115 } // namespace blink | 115 } // namespace blink |
116 | 116 |
117 #endif // SVGPathElement_h | 117 #endif // SVGPathElement_h |
OLD | NEW |