summaryrefslogtreecommitdiff log msg author committer range
path: root/basegfx/inc/basegfx/point/b2dpoint.hxx
blob: 2b652d64afb8ebec77e48fef25a224ecba7da38f (plain)
 ```1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 ``` ``````/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef _BGFX_POINT_B2DPOINT_HXX #define _BGFX_POINT_B2DPOINT_HXX #include #include ////////////////////////////////////////////////////////////////////////////// namespace basegfx { // predeclaration class B2DHomMatrix; /** Base Point class with two double values This class derives all operators and common handling for a 2D data class from B2DTuple. All necessary extensions which are special for points will be added here. @see B2DTuple */ class B2DPoint : public ::basegfx::B2DTuple { public: /** Create a 2D Point The point is initialized to (0.0, 0.0) */ B2DPoint() : B2DTuple() {} /** Create a 2D Point @param fX This parameter is used to initialize the X-coordinate of the 2D Point. @param fY This parameter is used to initialize the Y-coordinate of the 2D Point. */ B2DPoint(double fX, double fY) : B2DTuple(fX, fY) {} /** Create a copy of a 2D Point @param rPoint The 2D Point which will be copied. */ B2DPoint(const B2DPoint& rPoint) : B2DTuple(rPoint) {} /** Create a copy of a 2D Point @param rPoint The 2D Point which will be copied. */ B2DPoint(const ::basegfx::B2IPoint& rPoint) : B2DTuple(rPoint) {} /** constructor with tuple to allow copy-constructing from B2DTuple-based classes */ B2DPoint(const ::basegfx::B2DTuple& rTuple) : B2DTuple(rTuple) {} ~B2DPoint() {} /** *=operator to allow usage from B2DPoint, too */ B2DPoint& operator*=( const B2DPoint& rPnt ) { mfX *= rPnt.mfX; mfY *= rPnt.mfY; return *this; } /** *=operator to allow usage from B2DPoint, too */ B2DPoint& operator*=(double t) { mfX *= t; mfY *= t; return *this; } /** assignment operator to allow assigning the results of B2DTuple calculations */ B2DPoint& operator=( const ::basegfx::B2DTuple& rPoint ); /** Transform point by given transformation matrix. The translational components of the matrix are, in contrast to B2DVector, applied. */ B2DPoint& operator*=( const ::basegfx::B2DHomMatrix& rMat ); static const B2DPoint& getEmptyPoint() { return (const B2DPoint&) ::basegfx::B2DTuple::getEmptyTuple(); } }; // external operators ////////////////////////////////////////////////////////////////////////// /** Transform B2DPoint by given transformation matrix. Since this is a Point, translational components of the matrix are used. */ B2DPoint operator*( const B2DHomMatrix& rMat, const B2DPoint& rPoint ); } // end of namespace basegfx ////////////////////////////////////////////////////////////////////////////// #endif /* _BGFX_POINT_B2DPOINT_HXX */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ ``````