From 7e94b193bffe864ea6ef422708e9db307ddff1e8 Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Tue, 19 Aug 2008 23:02:58 +0000 Subject: INTEGRATION: CWS aw033 (1.13.2); FILE MERGED 2008/05/14 14:40:25 aw 1.13.2.9: RESYNC: (1.18-1.20); FILE MERGED 2007/12/03 13:53:24 aw 1.13.2.8: #i39532# checkin for resync 2007/11/26 11:21:59 aw 1.13.2.7: #i39532# reworked B2DPolygon default decomposition 2007/08/09 22:04:20 aw 1.13.2.6: RESYNC: (1.17-1.18); FILE MERGED 2006/11/28 16:13:20 aw 1.13.2.5: RESYNC: (1.16-1.17); FILE MERGED 2006/09/26 14:50:05 aw 1.13.2.4: RESYNC: (1.14-1.16); FILE MERGED 2006/05/12 11:36:06 aw 1.13.2.3: code changes for primitive support 2005/10/28 12:10:21 aw 1.13.2.2: #i39532# 2005/10/28 11:24:15 aw 1.13.2.1: #i39532# --- basegfx/source/polygon/b2dpolypolygon.cxx | 35 +++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/basegfx/source/polygon/b2dpolypolygon.cxx b/basegfx/source/polygon/b2dpolypolygon.cxx index 49a96fdc6125..853e822537e5 100644 --- a/basegfx/source/polygon/b2dpolypolygon.cxx +++ b/basegfx/source/polygon/b2dpolypolygon.cxx @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: b2dpolypolygon.cxx,v $ - * $Revision: 1.20 $ + * $Revision: 1.21 $ * * This file is part of OpenOffice.org. * @@ -243,7 +243,7 @@ namespace basegfx { for(sal_uInt32 a(0L); a < mpPolyPolygon->count(); a++) { - const basegfx::B2DPolygon& rPolygon = mpPolyPolygon->getB2DPolygon(a); + const B2DPolygon& rPolygon = mpPolyPolygon->getB2DPolygon(a); if(rPolygon.areControlPointsUsed()) { @@ -268,6 +268,30 @@ namespace basegfx mpPolyPolygon->insert(mpPolyPolygon->count(), rPolygon, nCount); } + B2DPolyPolygon B2DPolyPolygon::getDefaultAdaptiveSubdivision() const + { + B2DPolyPolygon aRetval; + + for(sal_uInt32 a(0L); a < mpPolyPolygon->count(); a++) + { + aRetval.append(mpPolyPolygon->getB2DPolygon(a).getDefaultAdaptiveSubdivision()); + } + + return aRetval; + } + + B2DRange B2DPolyPolygon::getB2DRange() const + { + B2DRange aRetval; + + for(sal_uInt32 a(0L); a < mpPolyPolygon->count(); a++) + { + aRetval.expand(mpPolyPolygon->getB2DPolygon(a).getB2DRange()); + } + + return aRetval; + } + void B2DPolyPolygon::insert(sal_uInt32 nIndex, const B2DPolyPolygon& rPolyPolygon) { OSL_ENSURE(nIndex <= mpPolyPolygon->count(), "B2DPolyPolygon Insert outside range (!)"); @@ -320,7 +344,10 @@ namespace basegfx void B2DPolyPolygon::flip() { - mpPolyPolygon->flip(); + if(mpPolyPolygon->count()) + { + mpPolyPolygon->flip(); + } } bool B2DPolyPolygon::hasDoublePoints() const @@ -344,7 +371,7 @@ namespace basegfx mpPolyPolygon->removeDoublePoints(); } - void B2DPolyPolygon::transform(const basegfx::B2DHomMatrix& rMatrix) + void B2DPolyPolygon::transform(const B2DHomMatrix& rMatrix) { if(mpPolyPolygon->count() && !rMatrix.isIdentity()) { -- cgit v1.2.3