OSDN Git Service

am 4b178ce7: (-s ours) am f48712a0: DO NOT MERGE.
[android-x86/external-webkit.git] / WebCore / svg / SVGPathSegLinetoHorizontal.h
1 /*
2     Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org>
3                   2004, 2005, 2006, 2008 Rob Buis <buis@kde.org>
4
5     This library is free software; you can redistribute it and/or
6     modify it under the terms of the GNU Library General Public
7     License as published by the Free Software Foundation; either
8     version 2 of the License, or (at your option) any later version.
9
10     This library is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13     Library General Public License for more details.
14
15     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     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18     Boston, MA 02110-1301, USA.
19 */
20
21 #ifndef SVGPathSegLinetoHorizontal_h
22 #define SVGPathSegLinetoHorizontal_h
23
24 #if ENABLE(SVG)
25
26 #include "SVGPathSeg.h"
27
28 namespace WebCore {
29
30     class SVGPathSegLinetoHorizontal : public SVGPathSeg {
31     public:
32         SVGPathSegLinetoHorizontal(float x) : SVGPathSeg(), m_x(x) {}
33
34         virtual String toString() const { return pathSegTypeAsLetter() + String::format(" %.6lg", m_x); }
35
36         void setX(float x) { m_x = x; }
37         float x() const { return m_x; }
38
39     private:
40         float m_x;
41     };
42
43     class SVGPathSegLinetoHorizontalAbs : public SVGPathSegLinetoHorizontal {
44     public:
45         static PassRefPtr<SVGPathSegLinetoHorizontalAbs> create(float x) { return adoptRef(new SVGPathSegLinetoHorizontalAbs(x)); }
46
47         virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTAL_ABS; }
48         virtual String pathSegTypeAsLetter() const { return "H"; }
49
50     private:
51         SVGPathSegLinetoHorizontalAbs(float x);
52     };
53
54     class SVGPathSegLinetoHorizontalRel : public SVGPathSegLinetoHorizontal {
55     public:
56         static PassRefPtr<SVGPathSegLinetoHorizontalRel> create(float x) { return adoptRef(new SVGPathSegLinetoHorizontalRel(x)); }
57
58         virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTAL_REL; }
59         virtual String pathSegTypeAsLetter() const { return "h"; }
60
61     private:
62         SVGPathSegLinetoHorizontalRel(float x);
63     };
64
65 } // namespace WebCore
66
67 #endif // ENABLE(SVG)
68 #endif
69
70 // vim:ts=4:noet