File indexing completed on 2024-04-28 11:39:20
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 SVGPathSegMoveto_h 0024 #define SVGPathSegMoveto_h 0025 0026 #if ENABLE(SVG) 0027 0028 #include "SVGPathSeg.h" 0029 0030 namespace WebCore 0031 { 0032 class SVGPathSegMovetoAbs : public SVGPathSeg 0033 { 0034 public: 0035 static PassRefPtr<SVGPathSegMovetoAbs> create(float x, float y) 0036 { 0037 return adoptRef(new SVGPathSegMovetoAbs(x, y)); 0038 } 0039 virtual ~SVGPathSegMovetoAbs(); 0040 0041 unsigned short pathSegType() const override 0042 { 0043 return PATHSEG_MOVETO_ABS; 0044 } 0045 String pathSegTypeAsLetter() const override 0046 { 0047 return "M"; 0048 } 0049 String toString() const override 0050 { 0051 return String::format("M %.6lg %.6lg", m_x, m_y); 0052 } 0053 0054 void setX(float); 0055 float x() const; 0056 0057 void setY(float); 0058 float y() const; 0059 0060 private: 0061 SVGPathSegMovetoAbs(float x, float y); 0062 0063 float m_x; 0064 float m_y; 0065 }; 0066 0067 class SVGPathSegMovetoRel : public SVGPathSeg 0068 { 0069 public: 0070 static PassRefPtr<SVGPathSegMovetoRel> create(float x, float y) 0071 { 0072 return adoptRef(new SVGPathSegMovetoRel(x, y)); 0073 } 0074 virtual ~SVGPathSegMovetoRel(); 0075 0076 unsigned short pathSegType() const override 0077 { 0078 return PATHSEG_MOVETO_REL; 0079 } 0080 String pathSegTypeAsLetter() const override 0081 { 0082 return "m"; 0083 } 0084 String toString() const override 0085 { 0086 return String::format("m %.6lg %.6lg", m_x, m_y); 0087 } 0088 0089 void setX(float); 0090 float x() const; 0091 0092 void setY(float); 0093 float y() const; 0094 0095 private: 0096 SVGPathSegMovetoRel(float x, float y); 0097 0098 float m_x; 0099 float m_y; 0100 }; 0101 0102 } // namespace WebCore 0103 0104 #endif // ENABLE(SVG) 0105 #endif 0106