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:
@@ -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 );
|
||||
|
||||
|
Reference in New Issue
Block a user