diff options
author | Tor Lillqvist <tlillqvist@novell.com> | 2011-01-25 01:32:10 +0200 |
---|---|---|
committer | Tor Lillqvist <tlillqvist@novell.com> | 2011-01-25 01:52:16 +0200 |
commit | eb841ee60977024af788f8c5821d8c5558faad4b (patch) | |
tree | fca6d57cb78fff94048a769d40cc1a712e4df5c0 /canvas/source | |
parent | Add .gitattributes for proper handling of .doc and .sdw files. (diff) | |
download | core-eb841ee60977024af788f8c5821d8c5558faad4b.tar.gz core-eb841ee60977024af788f8c5821d8c5558faad4b.zip |
Work around compilation errors on 64-bit Windows
Again the ULONG clashes on 64-bit Windows cause pain. Work around by
using pre/postwin.h, and that then necessitates use of explict
WIN_BYTE instead of just BYTE. Sigh...
Diffstat (limited to 'canvas/source')
-rw-r--r-- | canvas/source/directx/dx_canvashelper_texturefill.cxx | 6 | ||||
-rw-r--r-- | canvas/source/directx/dx_surfacebitmap.cxx | 20 | ||||
-rw-r--r-- | canvas/source/directx/dx_winstuff.hxx | 10 |
3 files changed, 16 insertions, 20 deletions
diff --git a/canvas/source/directx/dx_canvashelper_texturefill.cxx b/canvas/source/directx/dx_canvashelper_texturefill.cxx index 473798f0bd46..1927dcd95a39 100644 --- a/canvas/source/directx/dx_canvashelper_texturefill.cxx +++ b/canvas/source/directx/dx_canvashelper_texturefill.cxx @@ -342,9 +342,9 @@ namespace dxcanvas boost::tuples::tie(nIndex,fAlpha)=aLerper.lerp(fT); const Gdiplus::Color aFillColor( - static_cast<BYTE>( basegfx::tools::lerp(rColors[nIndex].GetRed(),rColors[nIndex+1].GetRed(),fAlpha) ), - static_cast<BYTE>( basegfx::tools::lerp(rColors[nIndex].GetGreen(),rColors[nIndex+1].GetGreen(),fAlpha) ), - static_cast<BYTE>( basegfx::tools::lerp(rColors[nIndex].GetBlue(),rColors[nIndex+1].GetBlue(),fAlpha) ) ); + static_cast<WIN_BYTE>( basegfx::tools::lerp(rColors[nIndex].GetRed(),rColors[nIndex+1].GetRed(),fAlpha) ), + static_cast<WIN_BYTE>( basegfx::tools::lerp(rColors[nIndex].GetGreen(),rColors[nIndex+1].GetGreen(),fAlpha) ), + static_cast<WIN_BYTE>( basegfx::tools::lerp(rColors[nIndex].GetBlue(),rColors[nIndex+1].GetBlue(),fAlpha) ) ); aFillBrush.SetColor( aFillColor ); aCurrPath.Reset(); aCurrPath.StartFigure(); diff --git a/canvas/source/directx/dx_surfacebitmap.cxx b/canvas/source/directx/dx_surfacebitmap.cxx index 3841a117affa..99eb56fc56e9 100644 --- a/canvas/source/directx/dx_surfacebitmap.cxx +++ b/canvas/source/directx/dx_surfacebitmap.cxx @@ -370,7 +370,7 @@ namespace dxcanvas pResult.reset(new Gdiplus::Bitmap( maSize.getX(),maSize.getY(), aSurfaceDesc.lPitch, nFormat, - (BYTE *)aSurfaceDesc.lpSurface )); + (WIN_BYTE *)aSurfaceDesc.lpSurface )); // unlock the directx surface mpSurface->Unlock(NULL); @@ -387,7 +387,7 @@ namespace dxcanvas pResult.reset(new Gdiplus::Bitmap( maSize.getX(),maSize.getY(), aLockedRect.Pitch, nFormat, - (BYTE *)aLockedRect.pBits )); + (WIN_BYTE *)aLockedRect.pBits )); mpSurface->UnlockRect(); } @@ -560,7 +560,7 @@ namespace dxcanvas if(FAILED(mpSurface->Lock(NULL,&aSurfaceDesc,dwFlags,NULL))) return uno::Sequence< sal_Int8 >(); - sal_uInt8 *pSrc = (sal_uInt8 *)((((BYTE *)aSurfaceDesc.lpSurface)+(rect.Y1*aSurfaceDesc.lPitch))+rect.X1); + sal_uInt8 *pSrc = (sal_uInt8 *)((((WIN_BYTE *)aSurfaceDesc.lpSurface)+(rect.Y1*aSurfaceDesc.lPitch))+rect.X1); sal_uInt8 *pDst = (sal_uInt8 *)aRes.getArray(); sal_uInt32 nSegmentSizeInBytes = nWidth<<4; for(sal_uInt32 y=0; y<nHeight; ++y) @@ -576,7 +576,7 @@ namespace dxcanvas if(FAILED(mpSurface->LockRect(&aLockedRect,NULL,D3DLOCK_NOSYSLOCK|D3DLOCK_READONLY))) return uno::Sequence< sal_Int8 >(); - sal_uInt8 *pSrc = (sal_uInt8 *)((((BYTE *)aLockedRect.pBits)+(rect.Y1*aLockedRect.Pitch))+rect.X1); + sal_uInt8 *pSrc = (sal_uInt8 *)((((WIN_BYTE *)aLockedRect.pBits)+(rect.Y1*aLockedRect.Pitch))+rect.X1); sal_uInt8 *pDst = (sal_uInt8 *)aRes.getArray(); sal_uInt32 nSegmentSizeInBytes = nWidth<<4; for(sal_uInt32 y=0; y<nHeight; ++y) @@ -643,7 +643,7 @@ namespace dxcanvas throw uno::RuntimeException(); sal_uInt8 *pSrc = (sal_uInt8 *)data.getConstArray(); - sal_uInt8 *pDst = (sal_uInt8 *)((((BYTE *)aSurfaceDesc.lpSurface)+(rect.Y1*aSurfaceDesc.lPitch))+rect.X1); + sal_uInt8 *pDst = (sal_uInt8 *)((((WIN_BYTE *)aSurfaceDesc.lpSurface)+(rect.Y1*aSurfaceDesc.lPitch))+rect.X1); sal_uInt32 nSegmentSizeInBytes = nWidth<<4; for(sal_uInt32 y=0; y<nHeight; ++y) { @@ -660,7 +660,7 @@ namespace dxcanvas throw uno::RuntimeException(); sal_uInt8 *pSrc = (sal_uInt8 *)data.getConstArray(); - sal_uInt8 *pDst = (sal_uInt8 *)((((BYTE *)aLockedRect.pBits)+(rect.Y1*aLockedRect.Pitch))+rect.X1); + sal_uInt8 *pDst = (sal_uInt8 *)((((WIN_BYTE *)aLockedRect.pBits)+(rect.Y1*aLockedRect.Pitch))+rect.X1); sal_uInt32 nSegmentSizeInBytes = nWidth<<4; for(sal_uInt32 y=0; y<nHeight; ++y) { @@ -722,7 +722,7 @@ namespace dxcanvas if(FAILED(mpSurface->Lock(NULL,&aSurfaceDesc,dwFlags,NULL))) throw uno::RuntimeException(); - sal_uInt32 *pDst = (sal_uInt32 *)((((BYTE *)aSurfaceDesc.lpSurface)+(pos.Y*aSurfaceDesc.lPitch))+pos.X); + sal_uInt32 *pDst = (sal_uInt32 *)((((WIN_BYTE *)aSurfaceDesc.lpSurface)+(pos.Y*aSurfaceDesc.lPitch))+pos.X); *pDst = aColor.GetValue(); mpSurface->Unlock(NULL); #else @@ -731,7 +731,7 @@ namespace dxcanvas if(FAILED(mpSurface->LockRect(&aLockedRect,NULL,D3DLOCK_NOSYSLOCK|D3DLOCK_READONLY))) throw uno::RuntimeException(); - sal_uInt32 *pDst = (sal_uInt32 *)((((BYTE *)aLockedRect.pBits)+(pos.Y*aLockedRect.Pitch))+pos.X); + sal_uInt32 *pDst = (sal_uInt32 *)((((WIN_BYTE *)aLockedRect.pBits)+(pos.Y*aLockedRect.Pitch))+pos.X); *pDst = aColor.GetValue(); mpSurface->UnlockRect(); #endif @@ -780,7 +780,7 @@ namespace dxcanvas if(FAILED(mpSurface->Lock(NULL,&aSurfaceDesc,dwFlags,NULL))) throw uno::RuntimeException(); - sal_uInt32 *pDst = (sal_uInt32 *)((((BYTE *)aSurfaceDesc.lpSurface)+(pos.Y*aSurfaceDesc.lPitch))+pos.X); + sal_uInt32 *pDst = (sal_uInt32 *)((((WIN_BYTE *)aSurfaceDesc.lpSurface)+(pos.Y*aSurfaceDesc.lPitch))+pos.X); Gdiplus::Color aColor(*pDst); mpSurface->Unlock(NULL); #else @@ -789,7 +789,7 @@ namespace dxcanvas if(FAILED(mpSurface->LockRect(&aLockedRect,NULL,D3DLOCK_NOSYSLOCK|D3DLOCK_READONLY))) throw uno::RuntimeException(); - sal_uInt32 *pDst = (sal_uInt32 *)((((BYTE *)aLockedRect.pBits)+(pos.Y*aLockedRect.Pitch))+pos.X); + sal_uInt32 *pDst = (sal_uInt32 *)((((WIN_BYTE *)aLockedRect.pBits)+(pos.Y*aLockedRect.Pitch))+pos.X); Gdiplus::Color aColor(*pDst); mpSurface->UnlockRect(); #endif diff --git a/canvas/source/directx/dx_winstuff.hxx b/canvas/source/directx/dx_winstuff.hxx index e5133de1b8e2..ef43cbe742f2 100644 --- a/canvas/source/directx/dx_winstuff.hxx +++ b/canvas/source/directx/dx_winstuff.hxx @@ -66,7 +66,7 @@ #undef WB_RIGHT #define WIN32_LEAN_AND_MEAN -#include <windows.h> // TODO(Q1): extract minimal set of required headers for gdiplus +#include <tools/prewin.h> #if DIRECTX_VERSION < 0x0900 @@ -107,6 +107,8 @@ using ::std::min; #include <gdiplus.h> +#include <tools/postwin.h> + #ifdef min # undef min #endif @@ -216,12 +218,6 @@ namespace dxcanvas #pragma warning(pop) #endif -#undef DELETE -#undef BOOL -#undef INT32 -#undef UINT32 -#undef PolyPolygon - #endif /* _DXCANVAS_WINSTUFF_HXX */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |