INTEGRATION: CWS impressbeta5 (1.5.2); FILE MERGED

2005/02/07 18:40:27 thb 1.5.2.1: #i42225# Fixed state invariant bug: updateClipping() MUST maintain the invariant that never both clip and clipRect are nonempty. Should now be more appropriate...
This commit is contained in:
Rüdiger Timm
2005-02-08 10:31:24 +00:00
parent 8db3eea7ab
commit d21de3c2d3

View File

@@ -2,9 +2,9 @@
*
* $RCSfile: implrenderer.cxx,v $
*
* $Revision: 1.5 $
* $Revision: 1.6 $
*
* last change: $Author: rt $ $Date: 2005-01-28 15:30:12 $
* last change: $Author: rt $ $Date: 2005-02-08 11:31:24 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -1256,8 +1256,6 @@ namespace cppcanvas
rState.clipRect.Top(),
rState.clipRect.Right(),
rState.clipRect.Bottom() ) ) );
rState.clipRect.SetEmpty();
}
rState.clip = ::basegfx::tools::correctOrientations( rState.clip );
@@ -1273,6 +1271,10 @@ namespace cppcanvas
rState.clip = ::basegfx::tools::removeNeutralPolygons(rState.clip, sal_False);
}
// by now, our clip resides in the OutDevState::clip
// poly-polygon.
rState.clipRect.SetEmpty();
if( rState.clip.count() == 0 )
{
rState.xClipPoly.clear();
@@ -1302,10 +1304,12 @@ namespace cppcanvas
(bEmptyClipRect && bEmptyClipPoly) )
{
rState.clipRect = rClipRect;
rState.clip.clear();
}
else if( bEmptyClipPoly )
{
rState.clipRect.Intersection( rClipRect );
rState.clip.clear();
}
else
{
@@ -1325,6 +1329,7 @@ namespace cppcanvas
rClipRect.Right(),
rClipRect.Bottom() ) ) );
rState.clipRect.SetEmpty();
rState.clip = ::basegfx::tools::correctOrientations( rState.clip );
aClipPoly = ::basegfx::tools::correctOrientations( aClipPoly );