]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/private.h
IS_HATCH macro replaced with wxBrush::IsHatch() + source and docs little cleaning.
[wxWidgets.git] / include / wx / msw / private.h
index b1ee23b549800975ad124f0cc320b240d409710c..98aee97db435888de1cdeb85b31a72f81f7d449c 100644 (file)
@@ -225,7 +225,7 @@ enum wxSTD_COLOUR
     wxSTD_COL_BTNSHADOW,
     wxSTD_COL_BTNFACE,
     wxSTD_COL_BTNHIGHLIGHT,
     wxSTD_COL_BTNSHADOW,
     wxSTD_COL_BTNFACE,
     wxSTD_COL_BTNHIGHLIGHT,
-    wxSTD_COL_MAX,
+    wxSTD_COL_MAX
 };
 
 struct WXDLLEXPORT wxCOLORMAP
 };
 
 struct WXDLLEXPORT wxCOLORMAP
@@ -405,6 +405,27 @@ private:
    DECLARE_NO_COPY_CLASS(SelectInHDC)
 };
 
    DECLARE_NO_COPY_CLASS(SelectInHDC)
 };
 
+// a class for temporary bitmaps
+class CompatibleBitmap
+{
+public:
+    CompatibleBitmap(HDC hdc, int w, int h)
+    {
+        m_hbmp = ::CreateCompatibleBitmap(hdc, w, h);
+    }
+
+    ~CompatibleBitmap()
+    {
+        if ( m_hbmp )
+            ::DeleteObject(m_hbmp);
+    }
+
+    operator HBITMAP() const { return m_hbmp; }
+
+private:
+    HBITMAP m_hbmp;
+};
+
 // when working with global pointers (which is unfortunately still necessary
 // sometimes, e.g. for clipboard) it is important to unlock them exactly as
 // many times as we lock them which just asks for using a "smart lock" class
 // when working with global pointers (which is unfortunately still necessary
 // sometimes, e.g. for clipboard) it is important to unlock them exactly as
 // many times as we lock them which just asks for using a "smart lock" class
@@ -612,6 +633,13 @@ inline void *wxSetWindowUserData(HWND hwnd, void *data)
 
 #else // __WIN32__
 
 
 #else // __WIN32__
 
+#ifdef __VISUALC__
+    // strangely enough, VC++ 7.1 gives warnings about 32 -> 64 bit conversions
+    // in the functions below, even in spite of the explicit casts
+    #pragma warning(disable:4311)
+    #pragma warning(disable:4312)
+#endif
+
 inline void *wxGetWindowProc(HWND hwnd)
 {
     return (void *)::GetWindowLong(hwnd, GWL_WNDPROC);
 inline void *wxGetWindowProc(HWND hwnd)
 {
     return (void *)::GetWindowLong(hwnd, GWL_WNDPROC);
@@ -632,6 +660,11 @@ inline void *wxSetWindowUserData(HWND hwnd, void *data)
     return (void *)::SetWindowLong(hwnd, GWL_USERDATA, (LONG)data);
 }
 
     return (void *)::SetWindowLong(hwnd, GWL_USERDATA, (LONG)data);
 }
 
+#ifdef __VISUALC__
+    #pragma warning(default:4311)
+    #pragma warning(default:4312)
+#endif
+
 #endif // __WIN64__/__WIN32__
 
 #endif // wxUSE_GUI
 #endif // __WIN64__/__WIN32__
 
 #endif // wxUSE_GUI