summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2007-08-30 14:56:25 +0000
committerVladimir Glazounov <vg@openoffice.org>2007-08-30 14:56:25 +0000
commit96775d6ca088eb2e016dff9329f49486f28f13b4 (patch)
treeadfb9f8cfa97af8219b322cd4802db48ac9bf36f
parent675da5eb485236c20b3582e8f6aada1c8f258864 (diff)
INTEGRATION: CWS thbpp8c_SRC680 (1.50.38); FILE MERGED
2007/08/29 14:59:02 thb 1.50.38.1: #i79850# Faking empty clip
-rw-r--r--vcl/source/gdi/outdev.cxx23
1 files changed, 18 insertions, 5 deletions
diff --git a/vcl/source/gdi/outdev.cxx b/vcl/source/gdi/outdev.cxx
index 1ebaeb475b8e..e216d158eb7c 100644
--- a/vcl/source/gdi/outdev.cxx
+++ b/vcl/source/gdi/outdev.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: outdev.cxx,v $
*
- * $Revision: 1.50 $
+ * $Revision: 1.51 $
*
- * last change: $Author: rt $ $Date: 2007-07-24 10:11:55 $
+ * last change: $Author: vg $ $Date: 2007-08-30 15:56:25 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -249,9 +249,11 @@ BOOL OutputDevice::ImplSelectClipRegion( SalGraphics* pGraphics, const Region& r
// values is completely off the device.
const long nOffX( pOutDev->mnOutOffX );
const long nOffY( pOutDev->mnOutOffY );
- Rectangle aDeviceBounds(nOffX, nOffY,
- nOffX+pOutDev->GetOutputWidthPixel()-1,
- nOffY+pOutDev->GetOutputHeightPixel()-1);
+ const long nDeviceWidth( pOutDev->GetOutputWidthPixel() );
+ const long nDeviceHeight( pOutDev->GetOutputHeightPixel() );
+ Rectangle aDeviceBounds( nOffX, nOffY,
+ nOffX+nDeviceWidth-1,
+ nOffY+nDeviceHeight-1 );
while ( bRegionRect )
{
// #i59315# Limit coordinates passed to sal layer to actual
@@ -272,6 +274,17 @@ BOOL OutputDevice::ImplSelectClipRegion( SalGraphics* pGraphics, const Region& r
bClipRegion = FALSE;
}
}
+ else
+ {
+ // #i79850# Fake off-screen clip
+ if ( !pGraphics->UnionClipRegion( nDeviceWidth+1,
+ nDeviceHeight+1,
+ 1, 1,
+ pOutDev ) )
+ {
+ bClipRegion = FALSE;
+ }
+ }
DBG_ASSERT( bClipRegion, "OutputDevice::ImplSelectClipRegion() - can't create region" );
bRegionRect = rRegion.ImplGetNextRect( aInfo, nX, nY, nWidth, nHeight );
}