summaryrefslogtreecommitdiff
path: root/basegfx
diff options
context:
space:
mode:
authorthb <thb@openoffice.org>2010-01-18 00:37:41 +0100
committerthb <thb@openoffice.org>2010-01-18 00:37:41 +0100
commit1737f4d2fdba50a590f76631cd7ca7e762d18c35 (patch)
treea4153d1c51781e8f68c7d2b237e7e98165b71dd7 /basegfx
parenta3de1ad361232a4ebe7edbd0817bcf0b2c59e56e (diff)
#i52325# #i108250# removed B3DGeometry, fixed gradient/fill bitmap
* removed unused & broken B3DGeometry class * fixed bug in basegfx::tools::isRectangle for polygons with curves * fixed cairocanvas gradient and bitmap fill rendering * fixed vclcanvas bitmap fill rendering (not clipping properly) * added TextureMode::NONE, adapted all client code * fixed snafu in XGraphicDevice.idl, with missing include
Diffstat (limited to 'basegfx')
-rw-r--r--basegfx/inc/basegfx/polygon/b3dgeometry.hxx74
-rw-r--r--basegfx/source/polygon/b2dpolygontools.cxx3
-rw-r--r--basegfx/source/polygon/b3dgeometry.cxx59
-rw-r--r--basegfx/test/basegfx2d.cxx10
4 files changed, 12 insertions, 134 deletions
diff --git a/basegfx/inc/basegfx/polygon/b3dgeometry.hxx b/basegfx/inc/basegfx/polygon/b3dgeometry.hxx
deleted file mode 100644
index 024c7e695b68..000000000000
--- a/basegfx/inc/basegfx/polygon/b3dgeometry.hxx
+++ /dev/null
@@ -1,74 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: b3dgeometry.hxx,v $
- *
- * $Revision: 1.2 $
- *
- * 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
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _BGFX_POLYGON_B3DGEOMETRY_HXX
-#define _BGFX_POLYGON_B3DGEOMETRY_HXX
-
-//////////////////////////////////////////////////////////////////////////////
-// predeclarations
-
-namespace basegfx
-{
-} // end of namespace basegfx
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace basegfx
-{
- class B3DGeometry
- {
- private:
- B2DPolyPolygon maPolyPolygon; // the PolyPolygon geometry data, defines point number
- B3DHomMatrix maPolygonTo3D; // transformation to create 3D PolyPolygon
- B3DPolyPolygon maPolyNormal; // normal for each point or empty -> unified normal
- B2DPolyPolygon maPolyTexture; // texture coordinate for each point or empty -> unified coordinate
- B3DVector maUnifiedVector; // used when maNormal is empty
-
- // bitfield
- unsigned mbUnifiedVectorValid : 1; // flag to know if uvec is calculated yet
-
- public:
- B3DGeometry();
- ~B3DGeometry();
-
- // compare operators
- bool operator==(const B3DGeometry& rGeometry) const;
- bool operator!=(const B3DGeometry& rGeometry) const { return (!operator==(rGeometry)); }
-
- // member count
- sal_uInt32 count() const { return maPolyPolygon.count(); }
- };
-} // end of namespace basegfx
-
-//////////////////////////////////////////////////////////////////////////////
-
-
-#endif /* _BGFX_POLYGON_B3DPOLYGON_HXX */
diff --git a/basegfx/source/polygon/b2dpolygontools.cxx b/basegfx/source/polygon/b2dpolygontools.cxx
index c1e5dc80d8c4..a866eb5ef545 100644
--- a/basegfx/source/polygon/b2dpolygontools.cxx
+++ b/basegfx/source/polygon/b2dpolygontools.cxx
@@ -2353,7 +2353,8 @@ namespace basegfx
// polygon must be closed to resemble a rect, and contain
// at least four points.
if( !rPoly.isClosed() ||
- rPoly.count() < 4 )
+ rPoly.count() < 4 ||
+ rPoly.areControlPointsUsed() )
{
return false;
}
diff --git a/basegfx/source/polygon/b3dgeometry.cxx b/basegfx/source/polygon/b3dgeometry.cxx
deleted file mode 100644
index 38b93b931f53..000000000000
--- a/basegfx/source/polygon/b3dgeometry.cxx
+++ /dev/null
@@ -1,59 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: b3dgeometry.cxx,v $
- *
- * $Revision: 1.2 $
- *
- * 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
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <osl/diagnose.h>
-#include <basegfx/polygon/b3dgeometry.hxx>
-
-//////////////////////////////////////////////////////////////////////////////
-
-namespace basegfx
-{
- B3DGeometry::B3DGeometry()
- : mbUnifiedVectorValid(false)
- {
- }
-
- B3DGeometry::~B3DGeometry()
- {
- }
-
- bool B3DGeometry::operator==(const B3DGeometry& rGeometry) const
- {
- return (maPolyPolygon == maPolyPolygon
- && maPolygonTo3D == maPolygonTo3D
- && maPolyNormal == maPolyNormal
- && maPolyTexture == maPolyTexture
- }
-
-} // end of namespace basegfx
-
-//////////////////////////////////////////////////////////////////////////////
-// eof
diff --git a/basegfx/test/basegfx2d.cxx b/basegfx/test/basegfx2d.cxx
index e30e6bf561c1..e332856a6d96 100644
--- a/basegfx/test/basegfx2d.cxx
+++ b/basegfx/test/basegfx2d.cxx
@@ -1111,6 +1111,14 @@ public:
aNonRect4.append( B2DPoint(1,1) );
aNonRect4.append( B2DPoint(0,1) );
+ B2DPolygon aNonRect5;
+ aNonRect5.append( B2DPoint(0,0) );
+ aNonRect5.append( B2DPoint(1,0) );
+ aNonRect5.append( B2DPoint(1,1) );
+ aNonRect5.append( B2DPoint(0,1) );
+ aNonRect5.setControlPoints(1,B2DPoint(1,0),B2DPoint(-11,0));
+ aNonRect5.setClosed(true);
+
CPPUNIT_ASSERT_MESSAGE("checking rectangle-ness of rectangle 1",
tools::isRectangle( aRect1 ));
CPPUNIT_ASSERT_MESSAGE("checking rectangle-ness of rectangle 2",
@@ -1123,6 +1131,8 @@ public:
!tools::isRectangle( aNonRect3 ));
CPPUNIT_ASSERT_MESSAGE("checking non-rectangle-ness of polygon 4",
!tools::isRectangle( aNonRect4 ));
+ CPPUNIT_ASSERT_MESSAGE("checking non-rectangle-ness of polygon 5",
+ !tools::isRectangle( aNonRect5 ));
}
// Change the following lines only, if you add, remove or rename