INTEGRATION: CWS aw033 (1.23.8); FILE MERGED
2008/07/11 11:44:23 aw 1.23.8.4: RESYNC: (1.24-1.25); FILE MERGED 2008/05/14 15:12:31 aw 1.23.8.3: RESYNC: (1.23-1.24); FILE MERGED 2007/12/18 14:59:58 aw 1.23.8.2: #i39532# corrected clipping changes 2007/12/12 13:22:53 aw 1.23.8.1: #i39532# clipping changes
This commit is contained in:
@@ -7,7 +7,7 @@
|
|||||||
* OpenOffice.org - a multi-platform office productivity suite
|
* OpenOffice.org - a multi-platform office productivity suite
|
||||||
*
|
*
|
||||||
* $RCSfile: implrenderer.cxx,v $
|
* $RCSfile: implrenderer.cxx,v $
|
||||||
* $Revision: 1.25 $
|
* $Revision: 1.26 $
|
||||||
*
|
*
|
||||||
* This file is part of OpenOffice.org.
|
* This file is part of OpenOffice.org.
|
||||||
*
|
*
|
||||||
@@ -71,6 +71,8 @@
|
|||||||
#include <basegfx/range/b2drectangle.hxx>
|
#include <basegfx/range/b2drectangle.hxx>
|
||||||
#include <basegfx/point/b2dpoint.hxx>
|
#include <basegfx/point/b2dpoint.hxx>
|
||||||
#include <basegfx/tuple/b2dtuple.hxx>
|
#include <basegfx/tuple/b2dtuple.hxx>
|
||||||
|
#include <basegfx/polygon/b2dpolygonclipper.hxx>
|
||||||
|
#include <basegfx/polygon/b2dpolypolygoncutter.hxx>
|
||||||
|
|
||||||
#include <canvas/canvastools.hxx>
|
#include <canvas/canvastools.hxx>
|
||||||
#include <vcl/canvastools.hxx>
|
#include <vcl/canvastools.hxx>
|
||||||
@@ -1255,17 +1257,9 @@ namespace cppcanvas
|
|||||||
rState.clipRect.Bottom()+1 ) ) );
|
rState.clipRect.Bottom()+1 ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
rState.clip = ::basegfx::tools::correctOrientations( rState.clip );
|
// AW: Simplified
|
||||||
aClipPoly = ::basegfx::tools::correctOrientations( aClipPoly );
|
rState.clip = basegfx::tools::clipPolyPolygonOnPolyPolygon(
|
||||||
|
aClipPoly, rState.clip, true, false);
|
||||||
// intersect the two poly-polygons
|
|
||||||
rState.clip = ::basegfx::tools::removeAllIntersections(rState.clip);
|
|
||||||
rState.clip = ::basegfx::tools::removeNeutralPolygons(rState.clip, sal_True);
|
|
||||||
aClipPoly = ::basegfx::tools::removeAllIntersections(aClipPoly);
|
|
||||||
aClipPoly = ::basegfx::tools::removeNeutralPolygons(aClipPoly, sal_True);
|
|
||||||
rState.clip.append(aClipPoly);
|
|
||||||
rState.clip = ::basegfx::tools::removeAllIntersections(rState.clip);
|
|
||||||
rState.clip = ::basegfx::tools::removeNeutralPolygons(rState.clip, sal_False);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// by now, our clip resides in the OutDevState::clip
|
// by now, our clip resides in the OutDevState::clip
|
||||||
@@ -1343,17 +1337,10 @@ namespace cppcanvas
|
|||||||
rClipRect.Bottom() ) ) );
|
rClipRect.Bottom() ) ) );
|
||||||
|
|
||||||
rState.clipRect.SetEmpty();
|
rState.clipRect.SetEmpty();
|
||||||
rState.clip = ::basegfx::tools::correctOrientations( rState.clip );
|
|
||||||
aClipPoly = ::basegfx::tools::correctOrientations( aClipPoly );
|
|
||||||
|
|
||||||
// intersect the two poly-polygons
|
// AW: Simplified
|
||||||
rState.clip = ::basegfx::tools::removeAllIntersections(rState.clip);
|
rState.clip = basegfx::tools::clipPolyPolygonOnPolyPolygon(
|
||||||
rState.clip = ::basegfx::tools::removeNeutralPolygons(rState.clip, sal_True);
|
aClipPoly, rState.clip, true, false);
|
||||||
aClipPoly = ::basegfx::tools::removeAllIntersections(aClipPoly);
|
|
||||||
aClipPoly = ::basegfx::tools::removeNeutralPolygons(aClipPoly, sal_True);
|
|
||||||
rState.clip.append(aClipPoly);
|
|
||||||
rState.clip = ::basegfx::tools::removeAllIntersections(rState.clip);
|
|
||||||
rState.clip = ::basegfx::tools::removeNeutralPolygons(rState.clip, sal_False);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( rState.clip.count() == 0 )
|
if( rState.clip.count() == 0 )
|
||||||
|
Reference in New Issue
Block a user