1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 // MARKER(update_precomp.py): autogen include statement, do not remove 29 #include "precompiled_basegfx.hxx" 30 #include <basegfx/curve/b2dquadraticbezier.hxx> 31 #include <basegfx/numeric/ftools.hxx> 32 33 ////////////////////////////////////////////////////////////////////////////// 34 35 namespace basegfx 36 { 37 B2DQuadraticBezier::B2DQuadraticBezier(const B2DQuadraticBezier& rBezier) 38 : maStartPoint(rBezier.maStartPoint), 39 maEndPoint(rBezier.maEndPoint), 40 maControlPoint(rBezier.maControlPoint) 41 { 42 } 43 44 B2DQuadraticBezier::B2DQuadraticBezier() 45 { 46 } 47 48 B2DQuadraticBezier::B2DQuadraticBezier(const ::basegfx::B2DPoint& rStart, const ::basegfx::B2DPoint& rEnd) 49 : maStartPoint(rStart), 50 maEndPoint(rEnd) 51 { 52 } 53 54 B2DQuadraticBezier::B2DQuadraticBezier(const ::basegfx::B2DPoint& rStart, const ::basegfx::B2DPoint& rControl, const ::basegfx::B2DPoint& rEnd) 55 : maStartPoint(rStart), 56 maEndPoint(rEnd), 57 maControlPoint(rControl) 58 { 59 } 60 61 B2DQuadraticBezier::~B2DQuadraticBezier() 62 { 63 } 64 65 // assignment operator 66 B2DQuadraticBezier& B2DQuadraticBezier::operator=(const B2DQuadraticBezier& rBezier) 67 { 68 maStartPoint = rBezier.maStartPoint; 69 maEndPoint = rBezier.maEndPoint; 70 maControlPoint = rBezier.maControlPoint; 71 72 return *this; 73 } 74 75 // compare operators 76 bool B2DQuadraticBezier::operator==(const B2DQuadraticBezier& rBezier) const 77 { 78 return ( 79 maStartPoint == rBezier.maStartPoint 80 && maEndPoint == rBezier.maEndPoint 81 && maControlPoint == rBezier.maControlPoint 82 ); 83 } 84 85 bool B2DQuadraticBezier::operator!=(const B2DQuadraticBezier& rBezier) const 86 { 87 return ( 88 maStartPoint != rBezier.maStartPoint 89 || maEndPoint != rBezier.maEndPoint 90 || maControlPoint != rBezier.maControlPoint 91 ); 92 } 93 94 // test if control vector is used 95 bool B2DQuadraticBezier::isBezier() const 96 { 97 // if control vector is empty, bezier is not used 98 if(maControlPoint == maStartPoint || maControlPoint == maEndPoint) 99 return false; 100 101 return true; 102 } 103 } // end of namespace basegfx 104 105 // eof 106