class WXDLLEXPORT wxFont;
class WXDLLEXPORT wxWindow;
+class WXDLLEXPORT wxWindowBase;
// ---------------------------------------------------------------------------
// private constants
extern wxCOLORMAP *wxGetStdColourMap();
// create a wxRect from Windows RECT
-inline wxRect wxRectFromRECT(const RECT& r)
+inline wxRect wxRectFromRECT(const RECT& rc)
{
- return wxRect(r.left, r.top, r.right - r.left, r.bottom - r.top);
+ return wxRect(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top);
}
// copy Windows RECT to our wxRect
-inline void wxCopyRECTToRect(const RECT& r, wxRect& rect)
+inline void wxCopyRECTToRect(const RECT& rc, wxRect& rect)
{
- rect = wxRectFromRECT(r);
+ rect = wxRectFromRECT(rc);
+}
+
+// and vice versa
+inline void wxCopyRectToRECT(const wxRect& rect, RECT& rc)
+{
+ // note that we don't use wxRect::GetRight() as it is one of compared to
+ // wxRectFromRECT() above
+ rc.top = rect.y;
+ rc.left = rect.x;
+ rc.right = rect.x + rect.width;
+ rc.bottom = rect.y + rect.height;
}
// translations between HIMETRIC units (which OLE likes) and pixels (which are
wxSUNKEN_BORDER | wxDOUBLE_BORDER)) != 0;
}
+// Deferred window moving
+bool wxMoveWindowDeferred(HDWP& hdwp, wxWindowBase* win, HWND hWnd, int x, int y, int width, int height);
+
// ----------------------------------------------------------------------------
// functions mapping HWND to wxWindow
// ----------------------------------------------------------------------------
// Lines are drawn differently for WinCE and regular WIN32
WXDLLEXPORT void wxDrawLine(HDC hdc, int x1, int y1, int x2, int y2);
+// fill the client rect of the given window on the provided dc using this brush
+inline void wxFillRect(HWND hwnd, HDC hdc, HBRUSH hbr)
+{
+ RECT rc;
+ ::GetClientRect(hwnd, &rc);
+ ::FillRect(hdc, &rc, hbr);
+}
+
// ----------------------------------------------------------------------------
// 32/64 bit helpers
// ----------------------------------------------------------------------------