X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ebb0781f914375f141d8d93bdc0ca62b2d08035e..af01f1ba0d697c07173f436ab661b4c833258a91:/include/wx/msw/private.h?ds=sidebyside diff --git a/include/wx/msw/private.h b/include/wx/msw/private.h index 3a76dd883b..25d0b5d786 100644 --- a/include/wx/msw/private.h +++ b/include/wx/msw/private.h @@ -21,13 +21,15 @@ #include #ifdef __WXMICROWIN__ -/* Extra prototypes and symbols not defined by MicroWindows */ -#include "wx/msw/microwin.h" + // Extra prototypes and symbols not defined by MicroWindows + #include "wx/msw/microwin.h" #endif // undefine conflicting symbols which were defined in windows.h #include "wx/msw/winundef.h" +#include "wx/log.h" + class WXDLLEXPORT wxFont; class WXDLLEXPORT wxWindow; @@ -202,7 +204,7 @@ extern LONG APIENTRY _EXPORT // make conversion from wxColour and COLORREF a bit less painful inline COLORREF wxColourToRGB(const wxColour& c) { - return RGB(c.Red(), c.Green(), c.Blue()); + return PALETTERGB(c.Red(), c.Green(), c.Blue()); } inline void wxRGBToColour(wxColour& c, COLORREF rgb) @@ -248,6 +250,38 @@ inline bool wxIsCtrlDown() return (::GetKeyState(VK_CONTROL) & 0x100) != 0; } +// wrapper around GetWindowRect() and GetClientRect() APIs doing error checking +// for Win32 +inline RECT wxGetWindowRect(HWND hwnd) +{ + RECT rect; +#ifdef __WIN16__ + ::GetWindowRect(hwnd, &rect); +#else // Win32 + if ( !::GetWindowRect(hwnd, &rect) ) + { + wxLogLastError(_T("GetWindowRect")); + } +#endif // Win16/32 + + return rect; +} + +inline RECT wxGetClientRect(HWND hwnd) +{ + RECT rect; +#ifdef __WIN16__ + ::GetClientRect(hwnd, &rect); +#else // Win32 + if ( !::GetClientRect(hwnd, &rect) ) + { + wxLogLastError(_T("GetClientRect")); + } +#endif // Win16/32 + + return rect; +} + // --------------------------------------------------------------------------- // small helper classes // --------------------------------------------------------------------------- @@ -298,6 +332,9 @@ private: #define GetHfont() ((HFONT)GetHFONT()) #define GetHfontOf(font) ((HFONT)(font).GetHFONT()) +#define GetHpalette() ((HPALETTE)GetHPALETTE()) +#define GetHpaletteOf(pal) ((HPALETTE)(pal)->GetHPALETTE()) + #define GetHrgn() ((HRGN)GetHRGN()) #define GetHrgnOf(rgn) ((HRGN)(rgn).GetHRGN()) @@ -357,8 +394,8 @@ WXDLLEXPORT extern WXWORD wxGetWindowId(WXHWND hWnd); // Does this window style specify any border? inline bool wxStyleHasBorder(long style) { - return (style & (wxSIMPLE_BORDER | wxRAISED_BORDER | - wxSUNKEN_BORDER | wxDOUBLE_BORDER)) != 0; + return (style & (wxSIMPLE_BORDER | wxRAISED_BORDER | + wxSUNKEN_BORDER | wxDOUBLE_BORDER)) != 0; } // find the window for HWND which is part of some wxWindow, returns just the