/* ///////////////////////////////////////////////////////////////////////////// // Name: microwin.h // Purpose: Extra implementation for MicroWindows // Author: Julian Smart // Created: 2001-05-31 // RCS-ID: $Id$ // Copyright: (c) Julian Smart // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// */ #ifndef _WX_MICROWIN_H_ #define _WX_MICROWIN_H_ #ifdef __GNUG__ #pragma interface "microwin.h" #endif /* Implemented by microwin.cpp */ #ifdef __cplusplus extern "C" { #endif BOOL SetCursorPos(int x, int y); HCURSOR SetCursor(HCURSOR hCursor); /* Implemented with wrong number of args by MicroWindows */ /* so we need to use a different name */ int GetScrollPosWX (HWND hWnd, int iSBar); BOOL ScrollWindow(HWND, int xAmount, int yAmount, CONST RECT* lpRect, CONST RECT* lpClipRect); HWND WindowFromPoint(POINT pt); SHORT GetKeyState(int nVirtKey); HWND SetParent(HWND hWndChild, HWND hWndNewParent); VOID DragAcceptFiles(HWND, BOOL); BOOL IsDialogMessage(HWND hWnd, MSG* msg); DWORD GetMessagePos(VOID); BOOL IsIconic(HWND hWnd); int SetMapMode(HDC hDC, int mode); int GetMapMode(HDC hDC); HCURSOR LoadCursor(HINSTANCE hInst, int cursor); DWORD GetModuleFileName(HINSTANCE hInst, LPSTR name, DWORD sz); VOID DestroyIcon(HICON hIcon); COLORREF GetTextColor(HDC hdc); COLORREF GetBkColor(HDC hdc); HPALETTE SelectPalette(HDC hdc, HPALETTE hPalette, BOOL b); BOOL IntersectClipRect(HDC hdc, int x, int y, int w, int h); BOOL GetClipBox(HDC hdc, RECT* rect); BOOL DrawIconEx(HDC hdc, int x, int y, HICON hIcon, int w, int h, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags); BOOL SetViewportExtEx(HDC hdc, int x, int y, LPSIZE lpSize); BOOL SetViewportOrgEx(HDC hdc, int x, int y, LPPOINT lpPoint); BOOL SetWindowExtEx(HDC hdc, int x, int y, LPSIZE lpSize); BOOL SetWindowOrgEx(HDC hdc, int x, int y, LPPOINT lpSize); BOOL ExtFloodFill(HDC hdc, int x, int y, COLORREF col, UINT flags); int SetPolyFillMode(HDC hdc, int mode); BOOL RoundRect(HDC hdc, int left, int top, int right, int bottom, int r1, int r2); BOOL MaskBlt(HDC hdc, int x, int y, int w, int h, HDC hDCSource, int xSrc, int ySrc, HBITMAP hBitmapMask, int xMask, int yMask, DWORD rop); UINT RealizePalette(HDC hDC); BOOL SetBrushOrgEx(HDC hdc, int xOrigin, int yOrigin, LPPOINT lpPoint); int GetObject(HGDIOBJ hObj, int sz, LPVOID logObj); /* For some reason these aren't defined in the headers */ BOOL EnableScrollBar (HWND hWnd, int iSBar, BOOL bEnable) ; BOOL GetScrollPos (HWND hWnd, int iSBar, int* pPos); BOOL GetScrollRange (HWND hWnd, int iSBar, int* pMinPos, int* pMaxPos); BOOL SetScrollPos (HWND hWnd, int iSBar, int iNewPos); BOOL SetScrollRange (HWND hWnd, int iSBar, int iMinPos, int iMaxPos); BOOL SetScrollInfo (HWND hWnd, int iSBar, LPCSCROLLINFO lpsi, BOOL fRedraw); BOOL GetScrollInfo(HWND hWnd, int iSBar, LPSCROLLINFO lpsi); BOOL ShowScrollBar (HWND hWnd, int iSBar, BOOL bShow); #ifdef __cplusplus } #endif /* * Key State Masks for Mouse Messages */ #ifndef MK_LBUTTON #define MK_LBUTTON 0x0001 #define MK_RBUTTON 0x0002 #define MK_SHIFT 0x0004 #define MK_CONTROL 0x0008 #define MK_MBUTTON 0x0010 #endif /* * DrawIcon flags */ #ifndef DI_MASK #define DI_MASK 0x0001 #define DI_IMAGE 0x0002 #define DI_NORMAL 0x0003 #define DI_COMPAT 0x0004 #define DI_DEFAULTSIZE 0x0008 #endif /* TODO: May have to fake these message */ #ifndef WM_INITDIALOG #define WM_INITDIALOG 0x0110 #endif #ifndef WM_QUERYENDSESSION #define WM_QUERYENDSESSION 0x0011 #endif #ifndef WM_ENDSESSION #define WM_ENDSESSION 0x0016 #endif #ifndef WM_SETCURSOR #define WM_SETCURSOR 0x0020 #endif #ifndef WM_GETMINMAXINFO #define WM_GETMINMAXINFO 0x0024 typedef struct tagMINMAXINFO { POINT ptReserved; POINT ptMaxSize; POINT ptMaxPosition; POINT ptMinTrackSize; POINT ptMaxTrackSize; } MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO; #endif #ifndef WM_SYSCOMMAND #define WM_SYSCOMMAND 0x0112 #endif #ifndef WM_SYSCOLORCHANGE #define WM_SYSCOLORCHANGE 0x0015 #endif #ifndef WM_QUERYNEWPALETTE #define WM_QUERYNEWPALETTE 0x030F #endif #ifndef WM_PALETTEISCHANGING #define WM_PALETTEISCHANGING 0x0310 #endif #ifndef WM_PALETTECHANGED #define WM_PALETTECHANGED 0x0311 #endif #ifndef WM_NOTIFY #define WM_NOTIFY 0x004E #endif #ifndef WM_DROPFILES #define WM_DROPFILES 0x0233 #endif #ifndef PALETTERGB #define PALETTERGB RGB #endif #ifndef MM_TEXT #define MM_TEXT 1 #define MM_LOMETRIC 2 #define MM_HIMETRIC 3 #define MM_LOENGLISH 4 #define MM_HIENGLISH 5 #define MM_TWIPS 6 #define MM_ISOTROPIC 7 #define MM_ANISOTROPIC 8 #endif #ifndef SC_MAXIMIZE #define SC_MINIMIZE 0xF020 #define SC_MAXIMIZE 0xF030 #endif // TODO: all of them #ifndef IDC_ARROW #define IDC_ARROW 1 #endif /* * Standard Cursor IDs */ #ifndef MAKEINTRESOURCE #define MAKEINTRESOURCE(r) r #endif #ifndef IDC_ARROW #define IDC_ARROW MAKEINTRESOURCE(32512) #define IDC_IBEAM MAKEINTRESOURCE(32513) #define IDC_WAIT MAKEINTRESOURCE(32514) #define IDC_CROSS MAKEINTRESOURCE(32515) #define IDC_UPARROW MAKEINTRESOURCE(32516) #define IDC_SIZE MAKEINTRESOURCE(32640) /* OBSOLETE: use IDC_SIZEALL */ #define IDC_ICON MAKEINTRESOURCE(32641) /* OBSOLETE: use IDC_ARROW */ #define IDC_SIZENWSE MAKEINTRESOURCE(32642) #define IDC_SIZENESW MAKEINTRESOURCE(32643) #define IDC_SIZEWE MAKEINTRESOURCE(32644) #define IDC_SIZENS MAKEINTRESOURCE(32645) #define IDC_SIZEALL MAKEINTRESOURCE(32646) #define IDC_NO MAKEINTRESOURCE(32648) /* not in win3.1 */ #if(WINVER >= 0x0500) #define IDC_HAND MAKEINTRESOURCE(32649) #endif /* WINVER >= 0x0500 */ #define IDC_APPSTARTING MAKEINTRESOURCE(32650) /* not in win3.1 */ #if(WINVER >= 0x0400) #define IDC_HELP MAKEINTRESOURCE(32651) #endif /* WINVER >= 0x0400 */ #endif /* ExtFloodFill style flags */ #define FLOODFILLBORDER 0 #define FLOODFILLSURFACE 1 /* PolyFill() Modes */ #define ALTERNATE 1 #define WINDING 2 #define POLYFILL_LAST 2 /* Quaternary raster codes */ #define MAKEROP4(fore,back) (DWORD)((((back) << 8) & 0xFF000000) | (fore)) /* Device Parameters for GetDeviceCaps() */ #define DRIVERVERSION 0 /* Device driver version */ #define TECHNOLOGY 2 /* Device classification */ #define HORZSIZE 4 /* Horizontal size in millimeters */ #define VERTSIZE 6 /* Vertical size in millimeters */ /* Ternary raster operations */ #define DSTINVERT (DWORD)0x00550009 /* dest = (NOT dest) */ #define WHITENESS (DWORD)0x00FF0062 /* dest = WHITE */ #define SRCERASE (DWORD)0x00440328 /* dest = source AND (NOT dest ) */ #define MERGEPAINT (DWORD)0x00BB0226 /* dest = (NOT source) OR dest */ #define SRCPAINT (DWORD)0x00EE0086 /* dest = source OR dest */ #define NOTSRCCOPY (DWORD)0x00330008 /* dest = (NOT source) */ #endif /* _WX_MICROWIN_H_ */