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 SVGPathSegLinetoHorizontalAbs_h |
22 #define SVGPathSegLinetoHorizontal_h | 23 #define SVGPathSegLinetoHorizontalAbs_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 { | 29 class SVGPathSegLinetoHorizontalAbs : public SVGPathSegLinetoHorizontal { |
48 public: | 30 public: |
49 static PassRefPtr<SVGPathSegLinetoHorizontalAbs> create(SVGPathElement* elem
ent, SVGPathSegRole role, float x) | 31 static PassRefPtr<SVGPathSegLinetoHorizontalAbs> create(SVGPathElement* elem
ent, SVGPathSegRole role, float x) |
50 { | 32 { |
51 return adoptRef(new SVGPathSegLinetoHorizontalAbs(element, role, x)); | 33 return adoptRef(new SVGPathSegLinetoHorizontalAbs(element, role, x)); |
52 } | 34 } |
53 | 35 |
54 private: | 36 private: |
55 SVGPathSegLinetoHorizontalAbs(SVGPathElement* element, SVGPathSegRole role,
float x) | 37 SVGPathSegLinetoHorizontalAbs(SVGPathElement* element, SVGPathSegRole role,
float x) |
56 : SVGPathSegLinetoHorizontal(element, role, x) | 38 : SVGPathSegLinetoHorizontal(element, role, x) |
57 { | 39 { |
58 ScriptWrappable::init(this); | 40 ScriptWrappable::init(this); |
59 } | 41 } |
60 | 42 |
61 virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTA
L_ABS; } | 43 virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTA
L_ABS; } |
62 virtual String pathSegTypeAsLetter() const { return "H"; } | 44 virtual String pathSegTypeAsLetter() const { return "H"; } |
63 }; | 45 }; |
64 | 46 |
65 class SVGPathSegLinetoHorizontalRel : public SVGPathSegLinetoHorizontal { | |
66 public: | |
67 static PassRefPtr<SVGPathSegLinetoHorizontalRel> create(SVGPathElement* elem
ent, SVGPathSegRole role, float x) | |
68 { | |
69 return adoptRef(new SVGPathSegLinetoHorizontalRel(element, role, x)); | |
70 } | |
71 | |
72 private: | |
73 SVGPathSegLinetoHorizontalRel(SVGPathElement* element, SVGPathSegRole role,
float x) | |
74 : SVGPathSegLinetoHorizontal(element, role, x) | |
75 { | |
76 ScriptWrappable::init(this); | |
77 } | |
78 | |
79 virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTA
L_REL; } | |
80 virtual String pathSegTypeAsLetter() const { return "h"; } | |
81 }; | |
82 | |
83 } // namespace WebCore | 47 } // namespace WebCore |
84 | 48 |
85 #endif | 49 #endif |
OLD | NEW |