X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/11c7d5b6d1cb54d5ffdc11d8ff092b41e225bfb6..16193c2b68e0a45d4aa22a923e9ff2b708e4b80c:/include/wx/msw/private.h diff --git a/include/wx/msw/private.h b/include/wx/msw/private.h index a209ee9ca1..d43c09dd93 100644 --- a/include/wx/msw/private.h +++ b/include/wx/msw/private.h @@ -43,6 +43,8 @@ static const double pt2mm = (1/(METRIC_CONVERSION_CONSTANT*72)); // standard icons from the resources // --------------------------------------------------------------------------- +#if wxUSE_GUI + WXDLLEXPORT_DATA(extern HICON) wxSTD_FRAME_ICON; WXDLLEXPORT_DATA(extern HICON) wxSTD_MDIPARENTFRAME_ICON; WXDLLEXPORT_DATA(extern HICON) wxSTD_MDICHILDFRAME_ICON; @@ -51,12 +53,16 @@ WXDLLEXPORT_DATA(extern HICON) wxDEFAULT_MDIPARENTFRAME_ICON; WXDLLEXPORT_DATA(extern HICON) wxDEFAULT_MDICHILDFRAME_ICON; WXDLLEXPORT_DATA(extern HFONT) wxSTATUS_LINE_FONT; +#endif // wxUSE_GUI + // --------------------------------------------------------------------------- // define things missing from some compilers' headers // --------------------------------------------------------------------------- #if defined(__GNUWIN32__) && !defined(wxUSE_NORLANDER_HEADERS) +#ifndef ZeroMemory inline void ZeroMemory(void *buf, size_t len) { memset(buf, 0, len); } +#endif #endif // old mingw32 // this defines a CASTWNDPROC macro which casts a pointer to the type of a @@ -194,28 +200,18 @@ extern LONG APIENTRY _EXPORT #define ENDSESSION_LOGOFF 0x80000000 #endif -// --------------------------------------------------------------------------- -// debug messages -// --------------------------------------------------------------------------- -#if defined(__WIN95__) && defined(__WXDEBUG__) && wxUSE_DBWIN32 - - #ifndef __TWIN32__ - #ifdef OutputDebugString - #undef OutputDebugString - #endif - - #define OutputDebugString OutputDebugStringW95 - #endif // __TWIN32__ - - extern void OutputDebugStringW95(const wxChar*, ...); -#endif // USE_DBWIN32 - // --------------------------------------------------------------------------- // useful macros and functions // --------------------------------------------------------------------------- // a wrapper macro for ZeroMemory() +#ifdef __WIN32__ #define wxZeroMemory(obj) ::ZeroMemory(&obj, sizeof(obj)) +#else +#define wxZeroMemory(obj) memset((void*) & obj, 0, sizeof(obj)) +#endif + +#include // make conversion from wxColour and COLORREF a bit less painful inline COLORREF wxColourToRGB(const wxColour& c) @@ -228,6 +224,23 @@ inline void wxRGBToColour(wxColour& c, COLORREF rgb) c.Set(GetRValue(rgb), GetGValue(rgb), GetBValue(rgb)); } +// --------------------------------------------------------------------------- +// small helper classes +// --------------------------------------------------------------------------- + +// create an instance of this class and use it as the HDC for screen, will +// automatically release the DC going out of scope +class ScreenHDC +{ +public: + ScreenHDC() { m_hdc = GetDC(NULL); } + ~ScreenHDC() { ReleaseDC(NULL, m_hdc); } + operator HDC() const { return m_hdc; } + +private: + HDC m_hdc; +}; + // --------------------------------------------------------------------------- // macros to make casting between WXFOO and FOO a bit easier: the GetFoo() // returns Foo cast to the Windows type for oruselves, while GetFooOf() takes @@ -259,9 +272,13 @@ inline void wxRGBToColour(wxColour& c, COLORREF rgb) // global data // --------------------------------------------------------------------------- +#if 0 // where is this?? // The MakeProcInstance version of the function wxSubclassedGenericControlProc WXDLLEXPORT_DATA(extern FARPROC) wxGenericControlSubClassProc; +#endif // 0 + WXDLLEXPORT_DATA(extern wxChar*) wxBuffer; + WXDLLEXPORT_DATA(extern HINSTANCE) wxhInstance; // --------------------------------------------------------------------------- @@ -270,14 +287,16 @@ WXDLLEXPORT_DATA(extern HINSTANCE) wxhInstance; extern "C" { -WXDLLEXPORT HINSTANCE wxGetInstance(); + WXDLLEXPORT HINSTANCE wxGetInstance(); } WXDLLEXPORT void wxSetInstance(HINSTANCE hInst); +#if wxUSE_GUI + WXDLLEXPORT wxWindow* wxFindWinFromHandle(WXHWND hWnd); -WXDLLEXPORT void wxGetCharSize(WXHWND wnd, int *x, int *y,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); @@ -307,5 +326,7 @@ inline bool wxStyleHasBorder(long style) wxSUNKEN_BORDER | wxDOUBLE_BORDER)) != 0; } +#endif // wxUSE_GUI + #endif // _WX_PRIVATE_H_