X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7d9211596fdbbc2fdc5eba7e30772c3f67b31b50..dcc19b5b38ee397de186d3d181705a9ad7e3447d:/include/wx/os2/private.h diff --git a/include/wx/os2/private.h b/include/wx/os2/private.h index 77c409132e..6654816b58 100644 --- a/include/wx/os2/private.h +++ b/include/wx/os2/private.h @@ -1,7 +1,7 @@ ///////////////////////////////////////////////////////////////////////////// // Name: private.h // Purpose: Private declarations: as this header is only included by -// wxWindows itself, it may contain identifiers which don't start +// wxWidgets itself, it may contain identifiers which don't start // with "wx". // Author: Julian Smart // Modified by: @@ -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. */ @@ -39,6 +40,7 @@ class WXDLLEXPORT wxFont; class WXDLLEXPORT wxWindow; class WXDLLEXPORT wxString; +class WXDLLEXPORT wxBitmap; // --------------------------------------------------------------------------- // private constants @@ -119,6 +121,8 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxCanvasClassNameNR; // standard icons from the resources // --------------------------------------------------------------------------- +#ifdef __WXPM__ + WXDLLEXPORT_DATA(extern HICON) wxSTD_FRAME_ICON; WXDLLEXPORT_DATA(extern HICON) wxSTD_MDIPARENTFRAME_ICON; WXDLLEXPORT_DATA(extern HICON) wxSTD_MDICHILDFRAME_ICON; @@ -127,6 +131,8 @@ WXDLLEXPORT_DATA(extern HICON) wxDEFAULT_MDIPARENTFRAME_ICON; WXDLLEXPORT_DATA(extern HICON) wxDEFAULT_MDICHILDFRAME_ICON; WXDLLEXPORT_DATA(extern HFONT) wxSTATUS_LINE_FONT; +#endif + // --------------------------------------------------------------------------- // this defines a CASTWNDPROC macro which casts a pointer to the type of a // window proc for PM. @@ -182,10 +188,14 @@ 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) +#ifdef __WXPM__ + // Generic subclass proc, for panel item moving/sizing and intercept // EDIT control VK_RETURN messages extern LONG APIENTRY wxSubclassedGenericControlProc(WXHWND hWnd, WXDWORD message, WXWPARAM wParam, WXLPARAM lParam); +#endif + // --------------------------------------------------------------------------- // constants which might miss from some compilers' headers // --------------------------------------------------------------------------- @@ -235,7 +245,7 @@ extern LONG APIENTRY wxSubclassedGenericControlProc(WXHWND hWnd, WXDWORD message #define GetHfont() ((HFONT)GetHFONT()) #define GetHfontOf(font) ((HFONT)(font).GetHFONT()) -// OS/2 convention of the mask is opposed to the wxWindows one, so we need +// OS/2 convention of the mask is opposed to the wxWidgets one, so we need // to invert the mask each time we pass one/get one to/from Windows extern HBITMAP wxInvertMask(HBITMAP hbmpMask, int w = 0, int h = 0); @@ -244,7 +254,7 @@ extern HBITMAP wxInvertMask(HBITMAP hbmpMask, int w = 0, int h = 0); // --------------------------------------------------------------------------- // The MakeProcInstance version of the function wxSubclassedGenericControlProc -WXDLLEXPORT_DATA(extern) wxGenericControlSubClassProc; +WXDLLEXPORT_DATA(extern int) wxGenericControlSubClassProc; WXDLLEXPORT_DATA(extern wxChar*) wxBuffer; WXDLLEXPORT_DATA(extern HINSTANCE) wxhInstance; @@ -257,16 +267,36 @@ extern "C" WXDLLEXPORT HINSTANCE wxGetInstance(); } +WXDLLEXPORT void wxSetInstance(HINSTANCE hInst); + +#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 ,WXDWORD dwStyle ); -WXDLLEXPORT void wxSetInstance(HINSTANCE hInst); - WXDLLEXPORT wxWindow* wxFindWinFromHandle(WXHWND hWnd); WXDLLEXPORT void wxGetCharSize(WXHWND wnd, int *x, int *y,wxFont *the_font); + +WXDLLEXPORT void wxConvertVectorFontSize( FIXED fxPointSize + ,PFATTRS pFattrs + ); WXDLLEXPORT void wxFillLogFont( LOGFONT* pLogFont ,PFACENAMEDESC pFaceName ,HPS* phPS @@ -330,9 +360,17 @@ WXDLLEXPORT extern void wxOS2SetFont( HWND hWnd ); -WXDLLEXPORT extern bool wxCheckWindowWndProc( WXHWND hWnd - ,WXFARPROC fnWndProc +WXDLLEXPORT extern bool wxCheckWindowWndProc( WXHWND hWnd + ,WXFARPROC fnWndProc ); +WXDLLEXPORT extern wxBitmap wxDisableBitmap( const wxBitmap& rBmp + ,long lColor + ); -#endif - // _WX_PRIVATE_H_ +#include "wx/colour.h" + +WXDLLEXPORT extern COLORREF wxColourToRGB(const wxColour& rColor); + +#endif // __WXPM__ + +#endif // _WX_PRIVATE_H_