56 lines
1.8 KiB
Diff
56 lines
1.8 KiB
Diff
|
--- basegfx/source/polygon/b2dpolygontools.cxx 2010-11-11 16:22:47.000000000 +0100
|
||
|
+++ basegfx/source/polygon/b2dpolygontools.cxx-gil 2011-03-15 02:12:41.000000000 +0100
|
||
|
@@ -32,6 +32,7 @@
|
||
|
#include <basegfx/polygon/b2dpolygontools.hxx>
|
||
|
#include <osl/diagnose.h>
|
||
|
#include <rtl/math.hxx>
|
||
|
+#include <rtl/instance.hxx>
|
||
|
#include <basegfx/polygon/b2dpolygon.hxx>
|
||
|
#include <basegfx/polygon/b2dpolypolygon.hxx>
|
||
|
#include <basegfx/range/b2drange.hxx>
|
||
|
@@ -1836,22 +1837,31 @@
|
||
|
return aRetval;
|
||
|
}
|
||
|
|
||
|
- B2DPolygon createUnitPolygon()
|
||
|
+ namespace
|
||
|
{
|
||
|
- static B2DPolygon aRetval;
|
||
|
-
|
||
|
- if(!aRetval.count())
|
||
|
+ struct theUnitPolygon :
|
||
|
+ public rtl::StaticWithInit<B2DPolygon, theUnitPolygon>
|
||
|
{
|
||
|
- aRetval.append( B2DPoint( 0.0, 0.0 ) );
|
||
|
- aRetval.append( B2DPoint( 1.0, 0.0 ) );
|
||
|
- aRetval.append( B2DPoint( 1.0, 1.0 ) );
|
||
|
- aRetval.append( B2DPoint( 0.0, 1.0 ) );
|
||
|
+ B2DPolygon operator () ()
|
||
|
+ {
|
||
|
+ B2DPolygon aRetval;
|
||
|
|
||
|
- // close
|
||
|
- aRetval.setClosed( true );
|
||
|
- }
|
||
|
-
|
||
|
- return aRetval;
|
||
|
+ aRetval.append( B2DPoint( 0.0, 0.0 ) );
|
||
|
+ aRetval.append( B2DPoint( 1.0, 0.0 ) );
|
||
|
+ aRetval.append( B2DPoint( 1.0, 1.0 ) );
|
||
|
+ aRetval.append( B2DPoint( 0.0, 1.0 ) );
|
||
|
+
|
||
|
+ // close
|
||
|
+ aRetval.setClosed( true );
|
||
|
+
|
||
|
+ return aRetval;
|
||
|
+ }
|
||
|
+ };
|
||
|
+ }
|
||
|
+
|
||
|
+ B2DPolygon createUnitPolygon()
|
||
|
+ {
|
||
|
+ return theUnitPolygon::get();
|
||
|
}
|
||
|
|
||
|
B2DPolygon createPolygonFromCircle( const B2DPoint& rCenter, double fRadius )
|