diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2007-08-30 14:56:25 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2007-08-30 14:56:25 +0000 |
commit | 96775d6ca088eb2e016dff9329f49486f28f13b4 (patch) | |
tree | adfb9f8cfa97af8219b322cd4802db48ac9bf36f | |
parent | 675da5eb485236c20b3582e8f6aada1c8f258864 (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.cxx | 23 |
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 ); } |