X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/329ac7daebd1a8eeae0cab3134ddc35a55315992..9905656a35761f368f6775f6f8d50ca393c63088:/include/wx/msw/private.h diff --git a/include/wx/msw/private.h b/include/wx/msw/private.h index 31954e87c2..c7aebfc709 100644 --- a/include/wx/msw/private.h +++ b/include/wx/msw/private.h @@ -348,6 +348,22 @@ private: DECLARE_NO_COPY_CLASS(ScreenHDC) }; +// the same as ScreenHDC but for window DCs +class WindowHDC +{ +public: + WindowHDC(HWND hwnd) { m_hdc = ::GetDC(m_hwnd = hwnd); } + ~WindowHDC() { ::ReleaseDC(m_hwnd, m_hdc); } + + operator HDC() const { return m_hdc; } + +private: + HWND m_hwnd; + HDC m_hdc; + + DECLARE_NO_COPY_CLASS(WindowHDC) +}; + // the same as ScreenHDC but for memory DCs: creates the HDC compatible with // the given one (screen by default) in ctor and destroys it in dtor class MemoryHDC @@ -493,7 +509,7 @@ WXDLLIMPEXP_BASE void wxSetInstance(HINSTANCE hInst); extern HCURSOR wxGetCurrentBusyCursor(); // from msw/utils.cpp extern const wxCursor *wxGetGlobalCursor(); // from msw/cursor.cpp -WXDLLEXPORT void wxGetCharSize(WXHWND wnd, int *x, int *y, const wxFont *the_font); +WXDLLEXPORT void wxGetCharSize(WXHWND wnd, int *x, int *y, const wxFont& the_font); WXDLLEXPORT void wxFillLogFont(LOGFONT *logFont, const wxFont *font); WXDLLEXPORT wxFont wxCreateFontFromLogFont(const LOGFONT *logFont); WXDLLEXPORT wxFontEncoding wxGetFontEncFromCharSet(int charset);