summaryrefslogtreecommitdiff
path: root/vcl/source/gdi/outdev2.cxx
diff options
context:
space:
mode:
authorStephan Schäfer <ssa@openoffice.org>2002-09-11 15:49:27 +0000
committerStephan Schäfer <ssa@openoffice.org>2002-09-11 15:49:27 +0000
commit667381e5f8f4e1ff9d017be32817592d91b00936 (patch)
tree8c4d5a7119d40f4948650b5ef9cc3f7434af581d /vcl/source/gdi/outdev2.cxx
parente12e79f21b95fef7558dde8d7a40fb835cd8338e (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.cxx21
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 );
}
}
}