summaryrefslogtreecommitdiff
path: root/vcl/win/source/gdi/salvd.cxx
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2014-11-29 22:55:31 +0000
committerMarkus Mohrhard <markus.mohrhard@collabora.co.uk>2014-12-02 08:34:52 +0100
commit5dcaefdae5ddf5ee70b4dd453afee69cdf8fc9d7 (patch)
treece752cbbc6a3cddbd8a750bd2ea5a739e619cc36 /vcl/win/source/gdi/salvd.cxx
parentc31ed7004dfb3e8e37ddeb9fddf0f015b661dd12 (diff)
vcl: Consolidate size information around the GeometryProvider.
Conflicts: vcl/inc/openglgdiimpl.hxx Change-Id: I1d764a8dba1850d2475f08e1014a085846f336c3
Diffstat (limited to 'vcl/win/source/gdi/salvd.cxx')
-rw-r--r--vcl/win/source/gdi/salvd.cxx11
1 files changed, 8 insertions, 3 deletions
diff --git a/vcl/win/source/gdi/salvd.cxx b/vcl/win/source/gdi/salvd.cxx
index cea8a768a36b..6758b098e112 100644
--- a/vcl/win/source/gdi/salvd.cxx
+++ b/vcl/win/source/gdi/salvd.cxx
@@ -105,7 +105,7 @@ SalVirtualDevice* WinSalInstance::CreateVirtualDevice( SalGraphics* pSGraphics,
{
WinSalVirtualDevice* pVDev = new WinSalVirtualDevice;
SalData* pSalData = GetSalData();
- WinSalGraphics* pVirGraphics = new WinSalGraphics(WinSalGraphics::VIRTUAL_DEVICE, pGraphics->isScreen(), 0);
+ WinSalGraphics* pVirGraphics = new WinSalGraphics(WinSalGraphics::VIRTUAL_DEVICE, pGraphics->isScreen(), 0, pVDev);
pVirGraphics->SetLayout( 0 ); // by default no! mirroring for VirtualDevices, can be enabled with EnableRTL()
pVirGraphics->setHDC(hDC);
if ( pSalData->mhDitherPal && pVirGraphics->isScreen() )
@@ -115,8 +115,8 @@ SalVirtualDevice* WinSalInstance::CreateVirtualDevice( SalGraphics* pSGraphics,
}
pVirGraphics->InitGraphics();
- mnWidth = nDX;
- mnHeight = nDY;
+ pVDev->mnWidth = nDX;
+ pVDev->mnHeight = nDY;
pVDev->setHDC(hDC);
pVDev->mhBmp = hBmp;
if( hBmp )
@@ -207,6 +207,9 @@ bool WinSalVirtualDevice::SetSize( long nDX, long nDY )
HBITMAP hNewBmp = ImplCreateVirDevBitmap(getHDC(), nDX, nDY, mnBitCount, &pDummy);
if ( hNewBmp )
{
+ mnWidth = nDX;
+ mnHeight = nDY;
+
SelectBitmap( getHDC(), hNewBmp );
DeleteBitmap( mhBmp );
mhBmp = hNewBmp;
@@ -215,6 +218,8 @@ bool WinSalVirtualDevice::SetSize( long nDX, long nDY )
else
{
ImplWriteLastError( GetLastError(), "ImplCreateVirDevBitmap in SetSize" );
+ mnWidth = 0;
+ mnHeight = 0;
return FALSE;
}
}