X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/504de6d140b2b93eb894cc5448848b7ee1bf060f..f23b6f74bbf43799594924e94382b13587b4a57e:/include/wx/msw/wince/missing.h diff --git a/include/wx/msw/wince/missing.h b/include/wx/msw/wince/missing.h index e0b2286e35..33bfc6eab3 100644 --- a/include/wx/msw/wince/missing.h +++ b/include/wx/msw/wince/missing.h @@ -4,7 +4,7 @@ // Author: Marco Cavallini // Modified by: // Created: 16/11/2002 -// RCS-ID: +// RCS-ID: // Copyright: (c) KOAN SAS ( www.koansoftware.com ) // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -15,7 +15,7 @@ #include "wx/msw/private.h" #include "shellapi.h" -inline BOOL IsIconic( HWND hWnd ) +inline BOOL IsIconic( HWND WXUNUSED(hWnd) ) { // Probably not right... #if 0 @@ -25,7 +25,7 @@ inline BOOL IsIconic( HWND hWnd ) return FALSE; } -#ifdef WIN32_PLATFORM_PSPC +#ifdef __POCKETPC__ #define SM_CXCURSOR 13 #define SM_CYCURSOR 14 #endif @@ -39,8 +39,11 @@ inline BOOL IsIconic( HWND hWnd ) #define TBSTYLE_NO_DROPDOWN_ARROW 0x0080 #endif -#if _WIN32_WCE >= 400 +#if _WIN32_WCE >= 400 && !defined(SHCMBM_GETMENU) + // aygshell.h missing from eVC 4 for some reason +// NB not missing from Pocket PC 2003, hence the test for SHCMBM_GETMENU + #define SHCMBM_GETMENU (WM_USER + 402) #define SHCMBM_SETSUBMENU (WM_USER + 400) // wparam == id of button, lParam == hmenu, return is old hmenu #define SHCMBM_GETSUBMENU (WM_USER + 401) // lParam == ID @@ -63,168 +66,79 @@ inline BOOL IsIconic( HWND hWnd ) typedef struct tagSHMENUBARINFO { DWORD cbSize; // IN - Indicates which members of struct are valid - HWND hwndParent; // IN + HWND hwndParent; // IN DWORD dwFlags; // IN - Some features we want UINT nToolBarId; // IN - Which toolbar are we using HINSTANCE hInstRes; // IN - Instance that owns the resources int nBmpId; int cBmpImages; // IN - Count of bitmap images - HWND hwndMB; // OUT + HWND hwndMB; // OUT COLORREF clrBk; // IN - background color of the menu bar (excluding sip) } SHMENUBARINFO, *PSHMENUBARINFO; -#ifdef __cplusplus -extern "C" { -#endif - -BOOL SHFullScreen(HWND hwndRequester, DWORD dwState); - -WINSHELLAPI BOOL SHCreateMenuBar(SHMENUBARINFO *pmbi); +extern "C" +{ + BOOL SHFullScreen(HWND hwndRequester, DWORD dwState); -#ifdef __cplusplus + WINSHELLAPI BOOL SHCreateMenuBar(SHMENUBARINFO *pmbi); } -#endif - -#endif -/* -Most of these are in MSVC++6.0 -see also -*/ +#endif // _WIN32_WCE >= 400 -// ---------------------------------------------------------------------------- // Used in msgdlg.cpp, evtloop.cpp -// ---------------------------------------------------------------------------- - #ifndef MB_TASKMODAL #define MB_TASKMODAL 0x2000 #endif -//////////////////////////////////////////////////////// - -// JACS: I've commented these out in order to start from -// scratch. I don't think we should simply add styles, -// classes etc. when we don't know if they're supported -// by WinCE libraries. +#ifndef HGDI_ERROR +#define HGDI_ERROR ((HANDLE)(0xFFFFFFFFL)) +#endif -#if 0 +// some windows styles don't exist in CE SDK, replace them with closest +// equivalents +#ifndef WS_THICKFRAME + #define WS_THICKFRAME WS_BORDER +#endif -/* - * Extended Window Styles - */ -#define WS_EX_DLGMODALFRAME 0x00000001L -#define WS_EX_NOPARENTNOTIFY 0x00000004L -#define WS_EX_TOPMOST 0x00000008L -#define WS_EX_ACCEPTFILES 0x00000010L -#define WS_EX_TRANSPARENT 0x00000020L - -#define WS_EX_MDICHILD 0x00000040L -#define WS_EX_TOOLWINDOW 0x00000080L -#define WS_EX_WINDOWEDGE 0x00000100L -#define WS_EX_CLIENTEDGE 0x00000200L -#define WS_EX_CONTEXTHELP 0x00000400L - -#define WS_EX_RIGHT 0x00001000L -#define WS_EX_LEFT 0x00000000L -#define WS_EX_RTLREADING 0x00002000L -#define WS_EX_LTRREADING 0x00000000L -#define WS_EX_LEFTSCROLLBAR 0x00004000L -#define WS_EX_RIGHTSCROLLBAR 0x00000000L - -#define WS_EX_CONTROLPARENT 0x00010000L -#define WS_EX_STATICEDGE 0x00020000L -#define WS_EX_APPWINDOW 0x00040000L - - -#define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE) -#define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST) - - -/* - * Flags for TrackPopupMenu - */ -#define TPM_LEFTBUTTON 0x0000L -#define TPM_RIGHTBUTTON 0x0002L -#define TPM_LEFTALIGN 0x0000L -#define TPM_CENTERALIGN 0x0004L -#define TPM_RIGHTALIGN 0x0008L - -#define TPM_TOPALIGN 0x0000L -#define TPM_VCENTERALIGN 0x0010L -#define TPM_BOTTOMALIGN 0x0020L - -#define TPM_HORIZONTAL 0x0000L /* Horz alignment matters more */ -#define TPM_VERTICAL 0x0040L /* Vert alignment matters more */ -#define TPM_NONOTIFY 0x0080L /* Don't send any notification msgs */ -#define TPM_RETURNCMD 0x0100L - -#define TPM_RECURSE 0x0001L - - - -//////////////////////////////////////////////////////// -// Missing declarations into WinCE include files (MCK) -//////////////////////////////////////////////////////// - -HCURSOR WINAPI -DestroyCursor(HCURSOR hCursor); - -HCURSOR WINAPI -CreateCursor(HINSTANCE hInst, - int xHotSpot, - int yHotSpot, - int nWidth, - int nHeight, - CONST VOID *pvANDPlane, - CONST VOID *pvXORPlane ); - -//////////////////////////////////////////////////////// - -int WINAPI -GetScrollPos( - HWND hWnd, - int nBar); - -bool WINAPI -GetScrollRange( - HWND hWnd, - int nBar, - LPINT lpMinPos, - LPINT lpMaxPos); - -bool WINAPI -ScrollWindow( - HWND hWnd, - int XAmount, - int YAmount, - CONST RECT *lpRect, - CONST RECT *lpClipRect); - -LRESULT WINAPI -CallWindowProcA( - WNDPROC lpPrevWndFunc, - HWND hWnd, - UINT Msg, - WPARAM wParam, - LPARAM lParam); - -LRESULT WINAPI -CallWindowProcW( - WNDPROC lpPrevWndFunc, - HWND hWnd, - UINT Msg, - WPARAM wParam, - LPARAM lParam); - -#ifdef UNICODE -#define CallWindowProc CallWindowProcW -#else -#define CallWindowProc CallWindowProcA -#endif // !UNICODE +#ifndef WS_MINIMIZE + #define WS_MINIMIZE 0 +#endif +#ifndef WS_MAXIMIZE + #define WS_MAXIMIZE 0 #endif - // 0 -//////////////////////////////////////////////////////// + +// global memory functions don't exist under CE (good riddance, of course, but +// the existing code still uses them in some places, so make it compile) +// +// update: they're defined in eVC 4 inside "#ifdef UNDER_CE" block +#ifndef UNDER_CE + #define GlobalAlloc LocalAlloc + #define GlobalFree LocalFree + #define GlobalSize LocalSize + #define GPTR LPTR + #define GHND LPTR + #define GMEM_MOVEABLE 0 + #define GMEM_SHARE 0 +#endif // !UNDER_CE + +// WinCE RTL doesn't implement bsearch() used in encconv.cpp +extern "C" void * +bsearch(const void *key, const void *base, size_t num, size_t size, + int (wxCMPFUNC_CONV *cmp)(const void *, const void *)); + +#define O_RDONLY 0x0000 /* open for reading only */ +#define O_WRONLY 0x0001 /* open for writing only */ +#define O_RDWR 0x0002 /* open for reading and writing */ +#define O_APPEND 0x0008 /* writes done at eof */ + +#define O_CREAT 0x0100 /* create and open file */ +#define O_TRUNC 0x0200 /* open and truncate */ +#define O_EXCL 0x0400 /* open only if file doesn't already exist */ + +#define O_TEXT 0x4000 /* file mode is text (translated) */ +#define O_BINARY 0x8000 /* file mode is binary (untranslated) */ #endif // _WX_CE_MISSING_H_ +