OSDN Git Service

Merge commit 'remotes/korg/cupcake'
[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 file is part of the KDE project
6
7     This library is free software; you can redistribute it and/or
8     modify it under the terms of the GNU Library General Public
9     License as published by the Free Software Foundation; either
10     version 2 of the License, or (at your option) any later version.
11
12     This library is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15     Library General Public License for more details.
16
17     You should have received a copy of the GNU Library General Public License
18     along with this library; see the file COPYING.LIB.  If not, write to
19     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20     Boston, MA 02110-1301, USA.
21 */
22
23 #ifndef SVGPathSegLinetoHorizontal_h
24 #define SVGPathSegLinetoHorizontal_h
25
26 #if ENABLE(SVG)
27
28 #include "SVGPathSeg.h"
29
30 namespace WebCore {
31
32     class SVGPathSegLinetoHorizontal : public SVGPathSeg {
33     public:
34         SVGPathSegLinetoHorizontal(float x) : SVGPathSeg(), m_x(x) {}
35
36         virtual String toString() const { return pathSegTypeAsLetter() + String::format(" %.6lg", m_x); }
37
38         void setX(float x) { m_x = x; }
39         float x() const { return m_x; }
40
41     private:
42         float m_x;
43     };
44
45     class SVGPathSegLinetoHorizontalAbs : public SVGPathSegLinetoHorizontal {
46     public:
47         static PassRefPtr<SVGPathSegLinetoHorizontalAbs> create(float x) { return adoptRef(new SVGPathSegLinetoHorizontalAbs(x)); }
48
49         virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTAL_ABS; }
50         virtual String pathSegTypeAsLetter() const { return "H"; }
51
52     private:
53         SVGPathSegLinetoHorizontalAbs(float x);
54     };
55
56     class SVGPathSegLinetoHorizontalRel : public SVGPathSegLinetoHorizontal {
57     public:
58         static PassRefPtr<SVGPathSegLinetoHorizontalRel> create(float x) { return adoptRef(new SVGPathSegLinetoHorizontalRel(x)); }
59
60         virtual unsigned short pathSegType() const { return PATHSEG_LINETO_HORIZONTAL_REL; }
61         virtual String pathSegTypeAsLetter() const { return "h"; }
62
63     private:
64         SVGPathSegLinetoHorizontalRel(float x);
65     };
66
67 } // namespace WebCore
68
69 #endif // ENABLE(SVG)
70 #endif
71
72 // vim:ts=4:noet