OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> |
| 4 * Copyright (C) 2013 Samsung Electronics. All rights reserved. |
4 * | 5 * |
5 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
8 * 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. |
9 * | 10 * |
10 * 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, |
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 * Library General Public License for more details. | 14 * Library General Public License for more details. |
14 * | 15 * |
15 * 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 |
16 * 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 |
17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
18 * Boston, MA 02110-1301, USA. | 19 * Boston, MA 02110-1301, USA. |
19 */ | 20 */ |
20 | 21 |
21 #ifndef SVGPathSegLinetoHorizontal_h | 22 #ifndef SVGPathSegLinetoHorizontalRel_h |
22 #define SVGPathSegLinetoHorizontal_h | 23 #define SVGPathSegLinetoHorizontalRel_h |
23 | 24 |
24 #include "core/svg/SVGPathSegWithContext.h" | 25 #include "core/svg/SVGPathSegLinetoHorizontal.h" |
25 | 26 |
26 namespace WebCore { | 27 namespace WebCore { |
27 | 28 |
28 class SVGPathSegLinetoHorizontal : public SVGPathSegWithContext { | |
29 public: | |
30 SVGPathSegLinetoHorizontal(SVGPathElement* element, SVGPathSegRole role, flo
at x) | |
31 : SVGPathSegWithContext(element, role) | |
32 , m_x(x) | |
33 { | |
34 } | |
35 | |
36 float x() const { return m_x; } | |
37 void setX(float x) | |
38 { | |
39 m_x = x; | |
40 commitChange(); | |
41 } | |
42 | |
43 private: | |
44 float m_x; | |
45 }; | |
46 | |
47 class SVGPathSegLinetoHorizontalAbs : public SVGPathSegLinetoHorizontal { | |
48 public: | |
49 static PassRefPtr<SVGPathSegLinetoHorizontalAbs> create(SVGPathElement* elem
ent, SVGPathSegRole role, float x) | |
50 { | |
51 return adoptRef(new SVGPathSegLinetoHorizontalAbs(element, role, x)); | |
52 } | |
53 | |
54 private: | |
55 SVGPathSegLinetoHorizontalAbs(SVGPathElement* element, SVGPathSegRole role,
float x) | |
56 : SVGPathSegLinetoHorizontal(element, role, x) | |
57 { | |
58 ScriptWrappable::init(this); | |
59 } | |
60 | |
61 virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTA
L_ABS; } | |
62 virtual String pathSegTypeAsLetter() const { return "H"; } | |
63 }; | |
64 | |
65 class SVGPathSegLinetoHorizontalRel : public SVGPathSegLinetoHorizontal { | 29 class SVGPathSegLinetoHorizontalRel : public SVGPathSegLinetoHorizontal { |
66 public: | 30 public: |
67 static PassRefPtr<SVGPathSegLinetoHorizontalRel> create(SVGPathElement* elem
ent, SVGPathSegRole role, float x) | 31 static PassRefPtr<SVGPathSegLinetoHorizontalRel> create(SVGPathElement* elem
ent, SVGPathSegRole role, float x) |
68 { | 32 { |
69 return adoptRef(new SVGPathSegLinetoHorizontalRel(element, role, x)); | 33 return adoptRef(new SVGPathSegLinetoHorizontalRel(element, role, x)); |
70 } | 34 } |
71 | 35 |
72 private: | 36 private: |
73 SVGPathSegLinetoHorizontalRel(SVGPathElement* element, SVGPathSegRole role,
float x) | 37 SVGPathSegLinetoHorizontalRel(SVGPathElement* element, SVGPathSegRole role,
float x) |
74 : SVGPathSegLinetoHorizontal(element, role, x) | 38 : SVGPathSegLinetoHorizontal(element, role, x) |
75 { | 39 { |
76 ScriptWrappable::init(this); | 40 ScriptWrappable::init(this); |
77 } | 41 } |
78 | 42 |
79 virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTA
L_REL; } | 43 virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTA
L_REL; } |
80 virtual String pathSegTypeAsLetter() const { return "h"; } | 44 virtual String pathSegTypeAsLetter() const { return "h"; } |
81 }; | 45 }; |
82 | 46 |
83 } // namespace WebCore | 47 } // namespace WebCore |
84 | 48 |
85 #endif | 49 #endif |
OLD | NEW |