X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9ed0d735d588f42485461ea526596436c4c6ad4b..553aa032f2aac24b2b06bd8e38535118950976c1:/include/wx/msw/private.h diff --git a/include/wx/msw/private.h b/include/wx/msw/private.h index 28838451e1..8337606c22 100644 --- a/include/wx/msw/private.h +++ b/include/wx/msw/private.h @@ -16,10 +16,11 @@ #include "wx/msw/wrapwin.h" - #if defined (__WXWINCE__) #include // RGB, COLORREF + #define ERRFALSE(x) #include // Global Namespaces ::GetKeyState, ::GetWindowRect + #include "wx/msw/winundef.h" #endif @@ -90,6 +91,8 @@ WXDLLEXPORT_DATA(extern HFONT) wxSTATUS_LINE_FONT; #define CASTWNDPROC (WndProcCast) + + // --------------------------------------------------------------------------- // some stuff for old Windows versions (FIXME: what does it do here??) // --------------------------------------------------------------------------- @@ -458,6 +461,9 @@ private: #define GetHaccel() ((HACCEL)GetHACCEL()) #define GetHaccelOf(table) ((HACCEL)((table).GetHACCEL())) +#define GetHbrush() ((HPEN)GetResourceHandle()) +#define GetHbrushOf(brush) ((HPEN)(brush).GetResourceHandle()) + #define GetHmenu() ((HMENU)GetHMenu()) #define GetHmenuOf(menu) ((HMENU)menu->GetHMenu()) @@ -470,6 +476,9 @@ private: #define GetHpalette() ((HPALETTE)GetHPALETTE()) #define GetHpaletteOf(pal) ((HPALETTE)(pal).GetHPALETTE()) +#define GetHpen() ((HPEN)GetResourceHandle()) +#define GetHpenOf(pen) ((HPEN)(pen).GetResourceHandle()) + #define GetHrgn() ((HRGN)GetHRGN()) #define GetHrgnOf(rgn) ((HRGN)(rgn).GetHRGN()) @@ -555,6 +564,7 @@ WXDLLEXPORT void wxDrawLine(HDC hdc, int x1, int y1, int x2, int y2); #ifdef __WXWINCE__ #include +#if _WIN32_WCE <= 211 #define GlobalAlloc LocalAlloc #define GlobalFree LocalFree #define GlobalLock(mem) mem @@ -564,6 +574,7 @@ WXDLLEXPORT void wxDrawLine(HDC hdc, int x1, int y1, int x2, int y2); #define GHND LPTR #define GMEM_MOVEABLE 0 #define GMEM_SHARE 0 +#endif #if 0 @@ -600,6 +611,57 @@ LocalFree ( #endif // __WXWINCE__ + +// ---------------------------------------------------------------------------- +// 32/64 bit helpers +// ---------------------------------------------------------------------------- + +#ifdef __WIN64__ + +inline void *wxGetWindowProc(HWND hwnd) +{ + return (void *)::GetWindowLongPtr(hwnd, GWLP_WNDPROC); +} + +inline void *wxGetWindowUserData(HWND hwnd) +{ + return (void *)::GetWindowLongPtr(hwnd, GWLP_USERDATA); +} + +inline WNDPROC wxSetWindowProc(HWND hwnd, WNDPROC func) +{ + return (WNDPROC)::SetWindowLongPtr(hwnd, GWLP_WNDPROC, (LONG_PTR)func); +} + +inline void *wxSetWindowUserData(HWND hwnd, void *data) +{ + return (void *)::SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)data); +} + +#else // __WIN32__ + +inline void *wxGetWindowProc(HWND hwnd) +{ + return (void *)::GetWindowLong(hwnd, GWL_WNDPROC); +} + +inline void *wxGetWindowUserData(HWND hwnd) +{ + return (void *)::GetWindowLong(hwnd, GWL_USERDATA); +} + +inline WNDPROC wxSetWindowProc(HWND hwnd, WNDPROC func) +{ + return (WNDPROC)::SetWindowLong(hwnd, GWL_WNDPROC, (LONG)func); +} + +inline void *wxSetWindowUserData(HWND hwnd, void *data) +{ + return (void *)::SetWindowLong(hwnd, GWL_USERDATA, (LONG)data); +} + +#endif // __WIN64__/__WIN32__ + #endif // wxUSE_GUI #endif