diff options
author | Oliver Bolte <obo@openoffice.org> | 2006-07-13 08:54:28 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2006-07-13 08:54:28 +0000 |
commit | 77ad33de6981353297a1f0c39e5c07fdc0ca4309 (patch) | |
tree | b2fe8013bb8b5418e6595dd27147fa34354a1e79 /basegfx/inc/basegfx/matrix/b2dhommatrix.hxx | |
parent | 053fdb6c0d6862bb0110917edc5d31ff764fdea8 (diff) |
INTEGRATION: CWS cowfixes01 (1.8.12); FILE MERGED
2006/03/21 13:36:25 thb 1.8.12.3: #i63310# Removed silly self-referentiality for the static default objects (causing infinite loops)
2006/03/17 23:16:34 thb 1.8.12.2: #i63310# Moved BxD(Poly)Polygon to cow_wrapper; added makeUnique() to all classes using COW internally (to at least facilitate deliberate unsharing in multi-threaded uses)
2006/03/17 17:41:31 thb 1.8.12.1: #i63310# Added COW to B2DMultiRange (wasn't there before); moved BxDHomMatrix to cow_wrapper; added o3tl build dependency
Diffstat (limited to 'basegfx/inc/basegfx/matrix/b2dhommatrix.hxx')
-rw-r--r-- | basegfx/inc/basegfx/matrix/b2dhommatrix.hxx | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/basegfx/inc/basegfx/matrix/b2dhommatrix.hxx b/basegfx/inc/basegfx/matrix/b2dhommatrix.hxx index 8a535722ede5..89f04ba05ec3 100644 --- a/basegfx/inc/basegfx/matrix/b2dhommatrix.hxx +++ b/basegfx/inc/basegfx/matrix/b2dhommatrix.hxx @@ -4,9 +4,9 @@ * * $RCSfile: b2dhommatrix.hxx,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: kz $ $Date: 2005-11-02 13:52:50 $ + * last change: $Author: obo $ $Date: 2006-07-13 09:54:16 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -40,26 +40,31 @@ #include <sal/types.h> #endif +#ifndef INCLUDED_O3TL_COW_WRAPPER_HXX +#include <o3tl/cow_wrapper.hxx> +#endif + namespace basegfx { - // predeclaration class B2DTuple; - - // forward declaration class Impl2DHomMatrix; class B2DHomMatrix { - private: - Impl2DHomMatrix* mpM; + public: + typedef o3tl::cow_wrapper< Impl2DHomMatrix > ImplType; - void implPrepareChange(); + private: + ImplType mpImpl; public: B2DHomMatrix(); B2DHomMatrix(const B2DHomMatrix& rMat); ~B2DHomMatrix(); + /// unshare this matrix with all internally shared instances + void makeUnique(); + double get(sal_uInt16 nRow, sal_uInt16 nColumn) const; void set(sal_uInt16 nRow, sal_uInt16 nColumn, double fValue); |