diff options
-rw-r--r-- | vcl/source/gdi/salgdilayout.cxx | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/vcl/source/gdi/salgdilayout.cxx b/vcl/source/gdi/salgdilayout.cxx index 88a0abc1d352..6a85e59affd8 100644 --- a/vcl/source/gdi/salgdilayout.cxx +++ b/vcl/source/gdi/salgdilayout.cxx @@ -99,7 +99,11 @@ bool SalGraphics::drawTransformedBitmap( void SalGraphics::mirror( long& x, const OutputDevice *pOutDev, bool bBack ) const { - long w = GetGraphicsWidth(); + long w; + if( pOutDev && pOutDev->GetOutDevType() == OUTDEV_VIRDEV ) + w = pOutDev->GetOutputWidthPixel(); + else + w = GetGraphicsWidth(); if( w ) { @@ -131,7 +135,11 @@ void SalGraphics::mirror( long& x, const OutputDevice *pOutDev, bool bBack ) con void SalGraphics::mirror( long& x, long& nWidth, const OutputDevice *pOutDev, bool bBack ) const { - long w = GetGraphicsWidth(); + long w; + if( pOutDev && pOutDev->GetOutDevType() == OUTDEV_VIRDEV ) + w = pOutDev->GetOutputWidthPixel(); + else + w = GetGraphicsWidth(); if( w ) { @@ -164,7 +172,11 @@ void SalGraphics::mirror( long& x, long& nWidth, const OutputDevice *pOutDev, bo bool SalGraphics::mirror( sal_uInt32 nPoints, const SalPoint *pPtAry, SalPoint *pPtAry2, const OutputDevice *pOutDev, bool bBack ) const { - long w = GetGraphicsWidth(); + long w; + if( pOutDev && pOutDev->GetOutDevType() == OUTDEV_VIRDEV ) + w = pOutDev->GetOutputWidthPixel(); + else + w = GetGraphicsWidth(); if( w ) { @@ -286,7 +298,11 @@ void SalGraphics::mirror( Rectangle& rRect, const OutputDevice *pOutDev, bool bB basegfx::B2DPoint SalGraphics::mirror( const basegfx::B2DPoint& i_rPoint, const OutputDevice *i_pOutDev, bool i_bBack ) const { - long w = GetGraphicsWidth(); + long w; + if( i_pOutDev && i_pOutDev->GetOutDevType() == OUTDEV_VIRDEV ) + w = i_pOutDev->GetOutputWidthPixel(); + else + w = GetGraphicsWidth(); DBG_ASSERT( w, "missing graphics width" ); @@ -311,7 +327,11 @@ basegfx::B2DPoint SalGraphics::mirror( const basegfx::B2DPoint& i_rPoint, const basegfx::B2DPolygon SalGraphics::mirror( const basegfx::B2DPolygon& i_rPoly, const OutputDevice *i_pOutDev, bool i_bBack ) const { - long w = GetGraphicsWidth(); + long w; + if( i_pOutDev && i_pOutDev->GetOutDevType() == OUTDEV_VIRDEV ) + w = i_pOutDev->GetOutputWidthPixel(); + else + w = GetGraphicsWidth(); DBG_ASSERT( w, "missing graphics width" ); @@ -337,7 +357,11 @@ basegfx::B2DPolygon SalGraphics::mirror( const basegfx::B2DPolygon& i_rPoly, con basegfx::B2DPolyPolygon SalGraphics::mirror( const basegfx::B2DPolyPolygon& i_rPoly, const OutputDevice *i_pOutDev, bool i_bBack ) const { - long w = GetGraphicsWidth(); + long w; + if( i_pOutDev && i_pOutDev->GetOutDevType() == OUTDEV_VIRDEV ) + w = i_pOutDev->GetOutputWidthPixel(); + else + w = GetGraphicsWidth(); DBG_ASSERT( w, "missing graphics width" ); |