File indexing completed on 2024-05-05 12:16:31
0001 /* 0002 Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> 0003 2004, 2005, 2006 Rob Buis <buis@kde.org> 0004 0005 This file is part of the KDE project 0006 0007 This library is free software; you can redistribute it and/or 0008 modify it under the terms of the GNU Library General Public 0009 License as published by the Free Software Foundation; either 0010 version 2 of the License, or (at your option) any later version. 0011 0012 This library is distributed in the hope that it will be useful, 0013 but WITHOUT ANY WARRANTY; without even the implied warranty of 0014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0015 Library General Public License for more details. 0016 0017 You should have received a copy of the GNU Library General Public License 0018 along with this library; see the file COPYING.LIB. If not, write to 0019 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 0020 Boston, MA 02110-1301, USA. 0021 */ 0022 0023 #ifndef SVGPathSegLinetoHorizontal_h 0024 #define SVGPathSegLinetoHorizontal_h 0025 0026 #if ENABLE(SVG) 0027 0028 #include "SVGPathSeg.h" 0029 0030 namespace WebCore 0031 { 0032 0033 class SVGPathSegLinetoHorizontalAbs : public SVGPathSeg 0034 { 0035 public: 0036 static PassRefPtr<SVGPathSegLinetoHorizontalAbs> create(float x) 0037 { 0038 return adoptRef(new SVGPathSegLinetoHorizontalAbs(x)); 0039 } 0040 virtual ~SVGPathSegLinetoHorizontalAbs(); 0041 0042 unsigned short pathSegType() const override 0043 { 0044 return PATHSEG_LINETO_HORIZONTAL_ABS; 0045 } 0046 String pathSegTypeAsLetter() const override 0047 { 0048 return "H"; 0049 } 0050 String toString() const override 0051 { 0052 return String::format("H %.6lg", m_x); 0053 } 0054 0055 void setX(float); 0056 float x() const; 0057 0058 private: 0059 SVGPathSegLinetoHorizontalAbs(float x); 0060 float m_x; 0061 }; 0062 0063 class SVGPathSegLinetoHorizontalRel : public SVGPathSeg 0064 { 0065 public: 0066 static PassRefPtr<SVGPathSegLinetoHorizontalRel> create(float x) 0067 { 0068 return adoptRef(new SVGPathSegLinetoHorizontalRel(x)); 0069 } 0070 virtual ~SVGPathSegLinetoHorizontalRel(); 0071 0072 unsigned short pathSegType() const override 0073 { 0074 return PATHSEG_LINETO_HORIZONTAL_REL; 0075 } 0076 String pathSegTypeAsLetter() const override 0077 { 0078 return "h"; 0079 } 0080 String toString() const override 0081 { 0082 return String::format("h %.6lg", m_x); 0083 } 0084 0085 void setX(float); 0086 float x() const; 0087 0088 private: 0089 SVGPathSegLinetoHorizontalRel(float x); 0090 0091 float m_x; 0092 }; 0093 0094 } // namespace WebCore 0095 0096 #endif // ENABLE(SVG) 0097 #endif 0098