From 392f4b1b1475213fc859e32401776298d17a10d6 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 15 Jan 2000 01:52:55 +0000 Subject: [PATCH] drawing mono bitmaps now uses correct colours git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5417 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/dc.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/msw/dc.cpp b/src/msw/dc.cpp index 83eff19eff..fbda0e031f 100644 --- a/src/msw/dc.cpp +++ b/src/msw/dc.cpp @@ -653,9 +653,23 @@ void wxDC::DoDrawBitmap( const wxBitmap &bmp, wxCoord x, wxCoord y, bool useMask wxASSERT_MSG( hbitmap, wxT("bitmap is ok but HBITMAP is NULL?") ); + COLORREF old_textground = ::GetTextColor(GetHdc()); + COLORREF old_background = ::GetBkColor(GetHdc()); + if (m_textForegroundColour.Ok()) + { + ::SetTextColor(GetHdc(), m_textForegroundColour.GetPixel() ); + } + if (m_textBackgroundColour.Ok()) + { + ::SetBkColor(GetHdc(), m_textBackgroundColour.GetPixel() ); + } + ::SelectObject( memdc, hbitmap ); ::BitBlt( cdc, x, y, bmp.GetWidth(), bmp.GetHeight(), memdc, 0, 0, SRCCOPY); ::DeleteDC( memdc ); + + ::SetTextColor(GetHdc(), old_textground); + ::SetBkColor(GetHdc(), old_background); } } else @@ -1232,8 +1246,6 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxCoord xsrc1 = xsrc; wxCoord ysrc1 = ysrc; - // Chris Breeze 18/5/98: use text foreground/background colours - // when blitting from 1-bit bitmaps COLORREF old_textground = ::GetTextColor(GetHdc()); COLORREF old_background = ::GetBkColor(GetHdc()); if (m_textForegroundColour.Ok()) -- 2.45.2