X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bd3b171d3f45b0d30d6c1f7586dad5721b145650..6076b569f0b3eb2574df44a8711850555c17b601:/include/wx/os2/private.h?ds=sidebyside diff --git a/include/wx/os2/private.h b/include/wx/os2/private.h index 3f8256b982..5a353031c5 100644 --- a/include/wx/os2/private.h +++ b/include/wx/os2/private.h @@ -20,8 +20,9 @@ #define INCL_WINSYS #define INCL_SHLERRORS #include -#if defined (__EMX__) && !defined(USE_OS2_TOOLKIT_HEADERS) -/* struct missing in "os2emx.h" */ +#if defined (__EMX__) && !defined(USE_OS2_TOOLKIT_HEADERS) && !defined(FCF_CLOSEBUTTON) +/* struct missing in "os2emx.h" - luckily FCF_CLOSEBUTTON was added in the + same version of os2emx.h as SPBCDATA type, so we can do the test above. */ typedef struct _SPBCDATA { ULONG cbSize; /* Size of control block. */ ULONG ulTextLimit; /* Entryfield text limit. */ @@ -120,7 +121,7 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxCanvasClassNameNR; // standard icons from the resources // --------------------------------------------------------------------------- -#if wxUSE_GUI +#ifdef __WXPM__ WXDLLEXPORT_DATA(extern HICON) wxSTD_FRAME_ICON; WXDLLEXPORT_DATA(extern HICON) wxSTD_MDIPARENTFRAME_ICON; @@ -130,7 +131,7 @@ WXDLLEXPORT_DATA(extern HICON) wxDEFAULT_MDIPARENTFRAME_ICON; WXDLLEXPORT_DATA(extern HICON) wxDEFAULT_MDICHILDFRAME_ICON; WXDLLEXPORT_DATA(extern HFONT) wxSTATUS_LINE_FONT; -#endif // wxUSE_GUI +#endif // --------------------------------------------------------------------------- // this defines a CASTWNDPROC macro which casts a pointer to the type of a @@ -187,7 +188,7 @@ typedef MRESULT (APIENTRY * WndProcCast) (HWND, ULONG, MPARAM, MPARAM); // Scale font to get edit control height #define EDIT_HEIGHT_FROM_CHAR_HEIGHT(cy) (3*(cy)/2) -#if wxUSE_GUI +#ifdef __WXPM__ // Generic subclass proc, for panel item moving/sizing and intercept // EDIT control VK_RETURN messages @@ -268,7 +269,21 @@ WXDLLEXPORT HINSTANCE wxGetInstance(); WXDLLEXPORT void wxSetInstance(HINSTANCE hInst); -#if wxUSE_GUI +#include "wx/thread.h" +static inline MRESULT MySendMsg(HWND hwnd, ULONG ulMsgid, + MPARAM mpParam1, MPARAM mpParam2) +{ + MRESULT vRes; + vRes = ::WinSendMsg(hwnd, ulMsgid, mpParam1, mpParam2); +#if wxUSE_THREADS + if (!wxThread::IsMain()) + ::WinPostMsg(hwnd, ulMsgid, mpParam1, mpParam2); +#endif + return vRes; +} +#define WinSendMsg MySendMsg + +#ifdef __WXPM__ WXDLLEXPORT void wxDrawBorder( HPS hPS ,RECTL& rRect @@ -356,6 +371,6 @@ WXDLLEXPORT extern wxBitmap wxDisableBitmap( const wxBitmap& rBmp WXDLLEXPORT extern COLORREF wxColourToRGB(const wxColour& rColor); -#endif // wxUSE_GUI +#endif // __WXPM__ #endif // _WX_PRIVATE_H_