📄 winlib.h
字号:
/* winLib.h - wrappers for WIN32 structures, constants & functions * required by UGL SIMNT driver *//* Copyright 2000 Wind River Systems, Inc. *//* modification history --------------------01d,14nov00,msr Added support for middle pointer button.01c,09nov00,msr Added routines needed for keyboard mapping.01b,19oct00,msr Fixed arrow keys and other special keys.01a,22may00,lcs written*//* DESCRIPTIONThis file redefines all WIN32 functions & data structures/types required by theSIMNT UGL driver. */#ifndef INCugl_winLibh#define INCugl_winLibh#define WIN_BI_RGB (0L)#define WIN_CBM_INIT (0x4L)#define WIN_DIB_RGB_COLORS (0)#define win_max(a, b) (((a) > (b)) ? (a) : (b))#define win_GetRValue(rgb) ((WIN_BYTE) (rgb)) #define win_GetGValue(rgb) ((WIN_BYTE) (((WIN_WORD) (rgb)) >> 8)) #define win_GetBValue(rgb) ((WIN_BYTE) ((rgb) >> 16))typedef unsigned char WIN_BYTE;typedef unsigned long WIN_COLORREF;typedef long WIN_LONG;typedef unsigned short WIN_WORD;typedef unsigned short WIN_ATOM;typedef unsigned int WIN_UINT;typedef unsigned int WIN_WPARAM;typedef WIN_LONG WIN_LPARAM;#ifndef __cplusplustypedef unsigned short WIN_WCHAR;#elsetypedef wchar_t WIN_WCHAR;#endiftypedef char WIN_CHAR;typedef short WIN_SHORT;typedef void * WIN_PVOID;typedef long WIN_LRESULT;typedef WIN_HANDLE WIN_HBITMAP;typedef WIN_HANDLE WIN_HBRUSH;typedef WIN_HANDLE WIN_HCURSOR;typedef WIN_HANDLE WIN_HDC;typedef WIN_HANDLE WIN_HGDIOBJ;typedef WIN_HANDLE WIN_HICON;typedef WIN_HANDLE WIN_HINSTANCE;typedef WIN_HANDLE WIN_HMENU;typedef WIN_HANDLE WIN_HPEN;typedef WIN_HANDLE WIN_HRGN;typedef WIN_HANDLE WIN_HWND;typedef unsigned char WIN_UCHAR;typedef unsigned long WIN_ULONG;typedef unsigned short WIN_USHORT;typedef const char * WIN_LPCSTR;typedef const WIN_WCHAR *WIN_LPCWSTR;/* Only use __stdcall under WIN32 compiler */#ifdef i386#define STDCALL __attribute__ ((stdcall))#define CDECL __cdecl#define PASCAL WINAPI#else#define STDCALL#define CDECL#define PASCAL#endif#define WINAPI STDCALL#define APIENTRY STDCALL#define WINGDIAPI#ifdef UNICODEtypedef const unsigned short *WIN_LPCTSTR;typedef unsigned short *WIN_LPTSTR;#define win_CreateWindow win_CreateWindowW#define win_CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y,\nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\win_CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y,\nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)#elsetypedef const char *WIN_LPCTSTR;typedef char *WIN_LPTSTR;#define win_CreateWindow win_CreateWindowA#define win_CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y,\nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\win_CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y,\nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)#endiftypedef int WIN_CALLBACK (*WIN_BFFCALLBACK) (WIN_HWND, WIN_UINT, WIN_LPARAM, WIN_LPARAM);typedef WIN_UINT WIN_CALLBACK (*WIN_LPCCHOOKPROC) (WIN_HWND, WIN_UINT, WIN_WPARAM, WIN_LPARAM);typedef WIN_UINT WIN_CALLBACK (*WIN_LPCFHOOKPROC) (WIN_HWND, WIN_UINT, WIN_WPARAM, WIN_LPARAM);typedef WIN_LRESULT WIN_CALLBACK (*WIN_WNDPROC) (WIN_HWND, WIN_UINT, WIN_WPARAM, WIN_LPARAM);typedef struct _WIN_WNDCLASSA { WIN_UINT style; WIN_WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; WIN_HANDLE hInstance; WIN_HICON hIcon; WIN_HCURSOR hCursor; WIN_HBRUSH hbrBackground; WIN_LPCSTR lpszMenuName; WIN_LPCSTR lpszClassName;} WIN_WNDCLASSA, *WIN_LPWNDCLASSA;typedef struct _WIN_WNDCLASSEXW { WIN_UINT cbSize; WIN_UINT style; WIN_WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; WIN_HANDLE hInstance; WIN_HICON hIcon; WIN_HCURSOR hCursor; WIN_HBRUSH hbrBackground; WIN_LPCWSTR lpszMenuName; WIN_LPCWSTR lpszClassName; WIN_HICON hIconSm;} WIN_WNDCLASSEXW, *WIN_LPWNDCLASSEXW;#ifdef UNICODEtypedef WIN_WNDCLASSW WIN_WNDCLASS;#elsetypedef WIN_WNDCLASSA WIN_WNDCLASS;#endiftypedef WIN_WNDCLASS *WIN_LPWNDCLASS;typedef struct WIN_tagRGBQUAD { WIN_BYTE rgbBlue; WIN_BYTE rgbGreen; WIN_BYTE rgbRed; WIN_BYTE rgbReserved;} WIN_RGBQUAD;typedef struct WIN_tagBITMAPINFOHEADER { WIN_DWORD biSize; WIN_LONG biWidth; WIN_LONG biHeight; WIN_WORD biPlanes; WIN_WORD biBitCount; WIN_DWORD biCompression; WIN_DWORD biSizeImage; WIN_LONG biXPelsPerMeter; WIN_LONG biYPelsPerMeter; WIN_DWORD biClrUsed; WIN_DWORD biClrImportant;} WIN_BITMAPINFOHEADER, *WIN_LPBITMAPINFOHEADER, *WIN_PBITMAPINFOHEADER;typedef struct WIN_tagBITMAPINFO { WIN_BITMAPINFOHEADER bmiHeader; WIN_RGBQUAD bmiColors[1];} WIN_BITMAPINFO, *WIN_LPBITMAPINFO, *WIN_PBITMAPINFO; typedef struct WIN_tagPOINT { WIN_LONG x; WIN_LONG y;} WIN_POINT, *WIN_LPPOINT, *WIN_PPOINT;typedef struct _WIN_RECT { WIN_LONG left; WIN_LONG top; WIN_LONG right; WIN_LONG bottom;} WIN_RECT, *WIN_LPRECT, *WIN_PRECT; typedef struct WIN_tagMSG { WIN_HWND hwnd; WIN_UINT message; WIN_WPARAM wParam; WIN_LPARAM lParam; WIN_DWORD time; WIN_POINT pt;} WIN_MSG, *WIN_LPMSG;typedef struct WIN_tagPAINTSTRUCT { WIN_HDC hdc; WIN_BOOL fErase; WIN_RECT rcPaint; WIN_BOOL fRestore; WIN_BOOL fIncUpdate; WIN_BYTE rgbReserved[32];} WIN_PAINTSTRUCT, *WIN_LPPAINTSTRUCT;typedef struct WIN_tagLIST_ENTRY { struct WIN_tagLIST_ENTRY *Flink; struct WIN_tagLIST_ENTRY *Blink; } WIN_LIST_ENTRY, *WIN_PLIST_ENTRY; typedef struct WIN_tagCRITICAL_SECTION_DEBUG { WIN_WORD Type; WIN_WORD CreatorBackTraceIndex; struct WIN_tagCRITICAL_SECTION *CriticalSection; WIN_LIST_ENTRY ProcessLocksList; WIN_DWORD EntryCount; WIN_DWORD ContentionCount; WIN_DWORD Depth; WIN_PVOID OwnerBackTrace[ 5 ];} WIN_CRITICAL_SECTION_DEBUG, *WIN_PCRITICAL_SECTION_DEBUG;typedef struct WIN_tagCRITICAL_SECTION { WIN_PCRITICAL_SECTION_DEBUG DebugInfo; WIN_LONG LockCount; WIN_LONG RecursionCount; WIN_HANDLE OwningThread; WIN_HANDLE LockSemaphore; WIN_DWORD Reserved;} WIN_CRITICAL_SECTION, *WIN_PCRITICAL_SECTION, *WIN_LPCRITICAL_SECTION;#define WIN_RGB(r, g ,b) ((WIN_DWORD) (((WIN_BYTE) (r) | \ ((WIN_WORD) (g) << 8)) | \ (((WIN_DWORD) (WIN_BYTE) (b)) << 16))) #define WIN_MAKEINTRESOURCE(i) (WIN_LPTSTR) ((WIN_DWORD) ((WIN_WORD) (i)))#define WIN_LOWORD(l) ((WIN_WORD) (l))#define WIN_HIWORD(l) ((WIN_WORD) (((WIN_DWORD) (l) >> 16) & 0xFFFF)) /* GetIconInfo */#define WIN_IDC_ARROW (WIN_MAKEINTRESOURCE(32512))#define WIN_IDC_IBEAM (WIN_MAKEINTRESOURCE(32513))#define WIN_IDC_WAIT (WIN_MAKEINTRESOURCE(32514))#define WIN_IDC_CROSS (WIN_MAKEINTRESOURCE(32515))#define WIN_IDC_UPARROW (WIN_MAKEINTRESOURCE(32516))#define WIN_IDC_SIZENWSE (WIN_MAKEINTRESOURCE(32642))#define WIN_IDC_SIZENESW (WIN_MAKEINTRESOURCE(32643))#define WIN_IDC_SIZEWE (WIN_MAKEINTRESOURCE(32644))#define WIN_IDC_SIZENS (WIN_MAKEINTRESOURCE(32645))#define WIN_IDC_SIZEALL (WIN_MAKEINTRESOURCE(32646))#define WIN_IDC_NO (WIN_MAKEINTRESOURCE(32648))#define WIN_IDC_APPSTARTING (WIN_MAKEINTRESOURCE(32650))#define WIN_IDC_HELP (WIN_MAKEINTRESOURCE(32651))#define WIN_IDI_APPLICATION (WIN_MAKEINTRESOURCE(32512))#define WIN_IDI_HAND (WIN_MAKEINTRESOURCE(32513))#define WIN_IDI_QUESTION (WIN_MAKEINTRESOURCE(32514))#define WIN_IDI_EXCLAMATION (WIN_MAKEINTRESOURCE(32515))#define WIN_IDI_ASTERISK (WIN_MAKEINTRESOURCE(32516))#define WIN_IDI_WINLOGO (WIN_MAKEINTRESOURCE(32517))#define WIN_IDC_SIZE (WIN_MAKEINTRESOURCE(32640))#define WIN_IDC_ICON (WIN_MAKEINTRESOURCE(32641))/* WNDCLASS structure */#define WIN_CS_BYTEALIGNCLIENT (4096)#define WIN_CS_BYTEALIGNWINDOW (8192)#define WIN_CS_CLASSDC (64)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -