X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/50165591a5f7de9566fc3bb4fe1ec7e4673d13be..553aa032f2aac24b2b06bd8e38535118950976c1:/include/wx/msw/private.h diff --git a/include/wx/msw/private.h b/include/wx/msw/private.h index 14fc50144e..8337606c22 100644 --- a/include/wx/msw/private.h +++ b/include/wx/msw/private.h @@ -91,10 +91,7 @@ WXDLLEXPORT_DATA(extern HFONT) wxSTATUS_LINE_FONT; #define CASTWNDPROC (WndProcCast) -//is this the right place; doing a #include...missing.h gives errors (CE) -#if defined(__DIGITALMARS__) -#define CCS_VERT 0x00000080L -#endif + // --------------------------------------------------------------------------- // some stuff for old Windows versions (FIXME: what does it do here??) @@ -464,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()) @@ -476,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()) @@ -608,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