diff options
author | Stephan Schäfer <ssa@openoffice.org> | 2002-09-11 15:49:27 +0000 |
---|---|---|
committer | Stephan Schäfer <ssa@openoffice.org> | 2002-09-11 15:49:27 +0000 |
commit | 667381e5f8f4e1ff9d017be32817592d91b00936 (patch) | |
tree | 8c4d5a7119d40f4948650b5ef9cc3f7434af581d /vcl/source/gdi/outdev2.cxx | |
parent | e12e79f21b95fef7558dde8d7a40fb835cd8338e (diff) |
#100860# mirror for CopyBits if this is no Window
Diffstat (limited to 'vcl/source/gdi/outdev2.cxx')
-rw-r--r-- | vcl/source/gdi/outdev2.cxx | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/vcl/source/gdi/outdev2.cxx b/vcl/source/gdi/outdev2.cxx index 76dccf61cd1a..37b610e40014 100644 --- a/vcl/source/gdi/outdev2.cxx +++ b/vcl/source/gdi/outdev2.cxx @@ -2,9 +2,9 @@ * * $RCSfile: outdev2.cxx,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: ssa $ $Date: 2002-08-29 15:35:23 $ + * last change: $Author: ssa $ $Date: 2002-09-11 16:49:27 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -115,7 +115,9 @@ #ifdef REMOTE_APPSERVER #include <rmoutdev.hxx> #endif - +#ifndef _SV_SALLAYOUT_HXX +#include <sallayout.hxx> +#endif #define BAND_MAX_SIZE 512000 // ======================================================================= @@ -314,7 +316,18 @@ void OutputDevice::ImplDrawOutDevDirect( const OutputDevice* pSrcDev, void* pVoi pPosAry->mnDestHeight = pPosAry->mnDestHeight * pPosAry->mnSrcHeight / nOldHeight; } - mpGraphics->CopyBits( pPosAry, pGraphics2, this, pSrcDev ); + // --- RTL --- if this is no window, but pSrcDev is a window + // mirroring may be required + // because only windows have a SalGraphicsLayout + // mirroring is performed here + if( (GetOutDevType() != OUTDEV_WINDOW) && pGraphics2 && (pGraphics2->GetLayout() & SAL_LAYOUT_BIDI_RTL) ) + { + SalTwoRect pPosAry2 = *pPosAry; + ((SalGraphicsLayout*)pGraphics2)->mirror( pPosAry2.mnSrcX, pPosAry2.mnSrcWidth, pSrcDev ); + mpGraphics->CopyBits( &pPosAry2, pGraphics2, this, pSrcDev ); + } + else + mpGraphics->CopyBits( pPosAry, pGraphics2, this, pSrcDev ); } } } |