]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/private.h
wxDialog change (Show() completely rewritten, modal dialogs handling changed)
[wxWidgets.git] / include / wx / msw / private.h
index 616f50aa7bd845defe0ca86412c71e19220e25a7..51e044b0226d204dee039612459b7071893d913c 100644 (file)
@@ -231,6 +231,19 @@ inline void wxRGBToColour(wxColour& c, COLORREF rgb)
 extern void HIMETRICToPixel(LONG *x, LONG *y);
 extern void PixelToHIMETRIC(LONG *x, LONG *y);
 
+// Windows convention of the mask is opposed to the wxWindows one, so we need
+// to invert the mask each time we pass one/get one to/from Windows
+extern HBITMAP wxInvertMask(HBITMAP hbmpMask, int w = 0, int h = 0);
+
+// get (x, y) from DWORD - notice that HI/LOWORD can *not* be used because they
+// will fail on system with multiple monitors where the coords may be negative
+//
+// these macros are standard now (Win98) but some older headers don't have them
+#ifndef GET_X_LPARAM
+    #define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp))
+    #define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp))
+#endif // GET_X_LPARAM
+
 // ---------------------------------------------------------------------------
 // small helper classes
 // ---------------------------------------------------------------------------
@@ -333,6 +346,12 @@ inline bool wxStyleHasBorder(long style)
                    wxSUNKEN_BORDER | wxDOUBLE_BORDER)) != 0;
 }
 
+// find the window for HWND which is part of some wxWindow, returns just the
+// corresponding wxWindow for HWND which just is one
+//
+// may return NULL
+extern wxWindow *wxGetWindowFromHWND(WXHWND hwnd);
+
 #endif // wxUSE_GUI
 
 #endif