From 9e691dd6147603037f09ea79f2a4eb0dcc29702b Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Fri, 24 Jan 2003 12:31:41 +0000 Subject: [PATCH] Applied [ 671333 ] wxPrinterDC::DoBlit() 24 bit fix (2.4) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@18905 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/dcprint.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/msw/dcprint.cpp b/src/msw/dcprint.cpp index e04d74c88d..07c5a86513 100644 --- a/src/msw/dcprint.cpp +++ b/src/msw/dcprint.cpp @@ -530,7 +530,11 @@ bool wxPrinterDC::DoBlit(wxCoord xdest, wxCoord ydest, height = bmp.GetHeight(); BITMAPINFO *info = (BITMAPINFO *) malloc( sizeof( BITMAPINFOHEADER ) + 256 * sizeof(RGBQUAD ) ); - int iBitsSize = ((width + 3 ) & ~3 ) * height; +#if wxUSE_DRAWBITMAP_24BITS + int iBitsSize = (((width * 3) + 3 ) & ~3 ) * height; +#else + int iBitsSize = ((width + 3 ) & ~3 ) * height ; +#endif void* bits = malloc( iBitsSize ); @@ -540,7 +544,11 @@ bool wxPrinterDC::DoBlit(wxCoord xdest, wxCoord ydest, info->bmiHeader.biWidth = width; info->bmiHeader.biHeight = height; info->bmiHeader.biPlanes = 1; +#if wxUSE_DRAWBITMAP_24BITS + info->bmiHeader.biBitCount = 24; +#else info->bmiHeader.biBitCount = 8; +#endif info->bmiHeader.biCompression = BI_RGB; ScreenHDC display;