18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 2dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> 3dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> 4dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * 5dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * This library is free software; you can redistribute it and/or 6dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * modify it under the terms of the GNU Library General Public 7dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * License as published by the Free Software Foundation; either 8dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * version 2 of the License, or (at your option) any later version. 9dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * 10dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * This library is distributed in the hope that it will be useful, 11dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * but WITHOUT ANY WARRANTY; without even the implied warranty of 12dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * Library General Public License for more details. 14dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * 15dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * You should have received a copy of the GNU Library General Public License 16dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * along with this library; see the file COPYING.LIB. If not, write to 17dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch * Boston, MA 02110-1301, USA. 19dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch */ 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef SVGPathSegCurvetoCubic_h 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define SVGPathSegCurvetoCubic_h 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#if ENABLE(SVG) 254576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang#include "SVGPathSegWithContext.h" 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore { 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 294576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangclass SVGPathSegCurvetoCubic : public SVGPathSegWithContext { 304576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangpublic: 314576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang SVGPathSegCurvetoCubic(SVGPathElement* element, SVGPathSegRole role, float x, float y, float x1, float y1, float x2, float y2) 324576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang : SVGPathSegWithContext(element, role) 334576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang , m_x(x) 344576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang , m_y(y) 354576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang , m_x1(x1) 364576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang , m_y1(y1) 374576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang , m_x2(x2) 384576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang , m_y2(y2) 394576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang { 404576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang } 414576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang 424576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang float x() const { return m_x; } 434576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang void setX(float x) 444576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang { 454576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang m_x = x; 464576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang commitChange(); 474576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang } 484576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang 494576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang float y() const { return m_y; } 504576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang void setY(float y) 514576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang { 524576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang m_y = y; 534576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang commitChange(); 544576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang } 554576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang 564576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang float x1() const { return m_x1; } 574576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang void setX1(float x1) 584576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang { 594576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang m_x1 = x1; 604576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang commitChange(); 614576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang } 624576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang 634576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang float y1() const { return m_y1; } 644576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang void setY1(float y1) 654576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang { 664576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang m_y1 = y1; 674576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang commitChange(); 684576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang } 694576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang 704576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang float x2() const { return m_x2; } 714576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang void setX2(float x2) 724576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang { 734576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang m_x2 = x2; 744576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang commitChange(); 754576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang } 764576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang 774576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang float y2() const { return m_y2; } 784576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang void setY2(float y2) 794576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang { 804576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang m_y2 = y2; 814576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang commitChange(); 824576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang } 834576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang 844576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangprivate: 854576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang float m_x; 864576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang float m_y; 874576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang float m_x1; 884576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang float m_y1; 894576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang float m_x2; 904576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang float m_y2; 914576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}; 924576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang 934576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangclass SVGPathSegCurvetoCubicAbs : public SVGPathSegCurvetoCubic { 944576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangpublic: 954576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang static PassRefPtr<SVGPathSegCurvetoCubicAbs> create(SVGPathElement* element, SVGPathSegRole role, float x, float y, float x1, float y1, float x2, float y2) 964576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang { 974576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang return adoptRef(new SVGPathSegCurvetoCubicAbs(element, role, x, y, x1, y1, x2, y2)); 984576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang } 994576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang 1004576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangprivate: 1014576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang SVGPathSegCurvetoCubicAbs(SVGPathElement* element, SVGPathSegRole role, float x, float y, float x1, float y1, float x2, float y2) 1024576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang : SVGPathSegCurvetoCubic(element, role, x, y, x1, y1, x2, y2) 1034576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang { 1044576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang } 1054576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang 1064576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_CUBIC_ABS; } 1074576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang virtual String pathSegTypeAsLetter() const { return "C"; } 1084576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}; 1094576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang 1104576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangclass SVGPathSegCurvetoCubicRel : public SVGPathSegCurvetoCubic { 1114576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangpublic: 1124576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang static PassRefPtr<SVGPathSegCurvetoCubicRel> create(SVGPathElement* element, SVGPathSegRole role, float x, float y, float x1, float y1, float x2, float y2) 1134576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang { 1144576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang return adoptRef(new SVGPathSegCurvetoCubicRel(element, role, x, y, x1, y1, x2, y2)); 1154576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang } 1164576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang 1174576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wangprivate: 1184576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang SVGPathSegCurvetoCubicRel(SVGPathElement* element, SVGPathSegRole role, float x, float y, float x1, float y1, float x2, float y2) 1194576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang : SVGPathSegCurvetoCubic(element, role, x, y, x1, y1, x2, y2) 1204576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang { 1214576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang } 1224576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang 1234576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang virtual unsigned short pathSegType() const { return PATHSEG_CURVETO_CUBIC_REL; } 1244576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang virtual String pathSegTypeAsLetter() const { return "c"; } 1254576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang}; 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} // namespace WebCore 1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif // ENABLE(SVG) 1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 131