]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/dc.cpp
Added missing files to filelist.txt and regenerated makefiles.
[wxWidgets.git] / src / msw / dc.cpp
index fa53cd8b6e9bf32f81145061c00a390c56c4e5ad..f424405768d840d002d44ca63677659eaf6162f9 100644 (file)
@@ -46,6 +46,9 @@
 #include <math.h>
 
 #if wxUSE_COMMON_DIALOGS
+#if wxUSE_NORLANDER_HEADERS
+    #include <windows.h>
+#endif
     #include <commdlg.h>
 #endif
 
@@ -591,6 +594,9 @@ void wxDC::DoDrawBitmap( const wxBitmap &bmp, long x, long y, bool useMask )
         HDC cdc = GetHdc();
         HDC memdc = ::CreateCompatibleDC( cdc );
         HBITMAP hbitmap = (HBITMAP) bmp.GetHBITMAP( );
+
+        wxASSERT_MSG( hbitmap, _T("bitmap is ok but HBITMAP is NULL?") );
+
         ::SelectObject( memdc, hbitmap );
         ::BitBlt( cdc, x, y, bmp.GetWidth(), bmp.GetHeight(), memdc, 0, 0, SRCCOPY);
         ::DeleteDC( memdc );
@@ -638,6 +644,10 @@ void wxDC::DoDrawText(const wxString& text, long x, long y)
     if (m_textBackgroundColour.Ok())
         (void)SetBkColor(GetHdc(), old_background);
 
+    // background colour is used only for DrawText, otherwise
+    // always TRANSPARENT, RR
+    SetBkMode(GetHdc(), TRANSPARENT);
+
     CalcBoundingBox(x, y);
 
     long w, h;
@@ -821,10 +831,15 @@ void wxDC::SetBackgroundMode(int mode)
 {
     m_backgroundMode = mode;
 
+    // SetBackgroundColour now only refers to text background
+    // and m_backgroundMode is used there
+
+/*
     if (m_backgroundMode == wxTRANSPARENT)
         ::SetBkMode(GetHdc(), TRANSPARENT);
     else
-        ::SetBkMode(GetHdc(), OPAQUE);
+       ::SetBkMode(GetHdc(), OPAQUE);
+*/
 }
 
 void wxDC::SetLogicalFunction(int function)