]> git.saurik.com Git - wxWidgets.git/commitdiff
drawing mono bitmaps now uses correct colours
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 15 Jan 2000 01:52:55 +0000 (01:52 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 15 Jan 2000 01:52:55 +0000 (01:52 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5417 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/dc.cpp

index 83eff19eff0e6c5e15fd04329d5f93713c776ea5..fbda0e031fe4c74bb1f7ca3dbf38f196aaabbcd7 100644 (file)
@@ -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())