summaryrefslogtreecommitdiff
path: root/basegfx
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2008-08-19 23:02:58 +0000
committerVladimir Glazounov <vg@openoffice.org>2008-08-19 23:02:58 +0000
commit7e94b193bffe864ea6ef422708e9db307ddff1e8 (patch)
treea2390f0eecd6694cf744997cd3fe207ec00f87a9 /basegfx
parentc15b6c4ea9ceba90f6f83f646a21bad5fb8528e9 (diff)
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#
Diffstat (limited to 'basegfx')
-rw-r--r--basegfx/source/polygon/b2dpolypolygon.cxx35
1 files 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())
{