⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 windef.h

📁 coreavc for linux in unix_linux
💻 H
📖 第 1 页 / 共 2 页
字号:
typedef WIN_BOOL    CALLBACK (*PROPENUMPROCEXW)(HWND,LPCWSTR,HANDLE,LPARAM);DECL_WINELIB_TYPE_AW(PROPENUMPROCEX)typedef WIN_BOOL    CALLBACK (* TIMEFMT_ENUMPROCA)(LPSTR);typedef WIN_BOOL    CALLBACK (* TIMEFMT_ENUMPROCW)(LPWSTR);DECL_WINELIB_TYPE_AW(TIMEFMT_ENUMPROC)typedef VOID    CALLBACK (*TIMERPROC)(HWND,UINT,UINT,DWORD);typedef WIN_BOOL CALLBACK (*WNDENUMPROC)(HWND,LPARAM);typedef LRESULT CALLBACK (*WNDPROC)(HWND,UINT,WPARAM,LPARAM);/*----------------------------------------------------------------------------** FIXME:  Better isolate Wine's reliance on the xxx16 type definitions.**         For now, we just isolate them to make the situation clear.**--------------------------------------------------------------------------*//* * Basic type definitions for 16 bit variations on Windows types. * These types are provided mostly to insure compatibility with * 16 bit windows code. */#ifndef MPLAYER_WINDEF16_H#define MPLAYER_WINDEF16_H#include "windef.h"/* Standard data types */typedef short           INT16;typedef unsigned short  UINT16;typedef unsigned short  WIN_BOOL16;typedef UINT16          HANDLE16;typedef HANDLE16       *LPHANDLE16;typedef UINT16          WPARAM16;typedef INT16          *LPINT16;typedef UINT16         *LPUINT16;#define DECLARE_HANDLE16(a) \	typedef HANDLE16 a##16; \	typedef a##16 *P##a##16; \	typedef a##16 *NP##a##16; \	typedef a##16 *LP##a##16 DECLARE_HANDLE16(HACMDRIVERID);DECLARE_HANDLE16(HACMDRIVER);DECLARE_HANDLE16(HACMOBJ);DECLARE_HANDLE16(HACMSTREAM);DECLARE_HANDLE16(HMETAFILEPICT);DECLARE_HANDLE16(HACCEL);DECLARE_HANDLE16(HBITMAP);DECLARE_HANDLE16(HBRUSH);DECLARE_HANDLE16(HCOLORSPACE);DECLARE_HANDLE16(HCURSOR);DECLARE_HANDLE16(HDC);DECLARE_HANDLE16(HDROP);DECLARE_HANDLE16(HDRVR);DECLARE_HANDLE16(HDWP);DECLARE_HANDLE16(HENHMETAFILE);DECLARE_HANDLE16(HFILE);DECLARE_HANDLE16(HFONT);DECLARE_HANDLE16(HICON);DECLARE_HANDLE16(HINSTANCE);DECLARE_HANDLE16(HKEY);DECLARE_HANDLE16(HMENU);DECLARE_HANDLE16(HMETAFILE);DECLARE_HANDLE16(HMIDI);DECLARE_HANDLE16(HMIDIIN);DECLARE_HANDLE16(HMIDIOUT);DECLARE_HANDLE16(HMIDISTRM);DECLARE_HANDLE16(HMIXER);DECLARE_HANDLE16(HMIXEROBJ);DECLARE_HANDLE16(HMMIO);DECLARE_HANDLE16(HPALETTE);DECLARE_HANDLE16(HPEN);DECLARE_HANDLE16(HQUEUE);DECLARE_HANDLE16(HRGN);DECLARE_HANDLE16(HRSRC);DECLARE_HANDLE16(HTASK);DECLARE_HANDLE16(HWAVE);DECLARE_HANDLE16(HWAVEIN);DECLARE_HANDLE16(HWAVEOUT);DECLARE_HANDLE16(HWINSTA);DECLARE_HANDLE16(HDESK);DECLARE_HANDLE16(HWND);DECLARE_HANDLE16(HKL);DECLARE_HANDLE16(HIC);DECLARE_HANDLE16(HRASCONN);#undef DECLARE_HANDLE16typedef HINSTANCE16 HMODULE16;typedef HANDLE16 HGDIOBJ16;typedef HANDLE16 HGLOBAL16;typedef HANDLE16 HLOCAL16;/* The SIZE structure */typedef struct{    INT16  cx;    INT16  cy;} SIZE16, *PSIZE16, *LPSIZE16;/* The POINT structure */typedef struct{    INT16  x;    INT16  y;} POINT16, *PPOINT16, *LPPOINT16;/* The RECT structure */typedef struct{    INT16  left;    INT16  top;    INT16  right;    INT16  bottom;} RECT16, *LPRECT16;/* Callback function pointers types */typedef LRESULT CALLBACK (*DRIVERPROC16)(DWORD,HDRVR16,UINT16,LPARAM,LPARAM);typedef WIN_BOOL16  CALLBACK (*DLGPROC16)(HWND16,UINT16,WPARAM16,LPARAM);typedef INT16   CALLBACK (*EDITWORDBREAKPROC16)(LPSTR,INT16,INT16,INT16);typedef LRESULT CALLBACK (*FARPROC16)();typedef INT16   CALLBACK (*PROC16)();typedef WIN_BOOL16  CALLBACK (*GRAYSTRINGPROC16)(HDC16,LPARAM,INT16);typedef LRESULT CALLBACK (*HOOKPROC16)(INT16,WPARAM16,LPARAM);typedef WIN_BOOL16  CALLBACK (*PROPENUMPROC16)(HWND16,SEGPTR,HANDLE16);typedef VOID    CALLBACK (*TIMERPROC16)(HWND16,UINT16,UINT16,DWORD);typedef LRESULT CALLBACK (*WNDENUMPROC16)(HWND16,LPARAM);typedef LRESULT CALLBACK (*WNDPROC16)(HWND16,UINT16,WPARAM16,LPARAM);#endif /* MPLAYER_WINDEF16_H *//* Define some empty macros for compatibility with Windows code. *//* Macro for structure packing. */#ifdef __GNUC__#ifndef _EGCS_#define WINE_PACKED   __attribute__((packed))#define WINE_UNUSED   __attribute__((unused))#define WINE_NORETURN __attribute__((noreturn))#endif#else#define WINE_PACKED    /* nothing */#define WINE_UNUSED    /* nothing */#define WINE_NORETURN  /* nothing */#endif/* Macros to split words and longs. */#define LOBYTE(w)              ((BYTE)(WORD)(w))#define HIBYTE(w)              ((BYTE)((WORD)(w) >> 8))#define LOWORD(l)              ((WORD)(DWORD)(l))#define HIWORD(l)              ((WORD)((DWORD)(l) >> 16))#define SLOWORD(l)             ((INT16)(LONG)(l))#define SHIWORD(l)             ((INT16)((LONG)(l) >> 16))#define MAKEWORD(low,high)     ((WORD)(((BYTE)(low)) | ((WORD)((BYTE)(high))) << 8))#define MAKELONG(low,high)     ((LONG)(((WORD)(low)) | (((DWORD)((WORD)(high))) << 16)))#define MAKELPARAM(low,high)   ((LPARAM)MAKELONG(low,high))#define MAKEWPARAM(low,high)   ((WPARAM)MAKELONG(low,high))#define MAKELRESULT(low,high)  ((LRESULT)MAKELONG(low,high))#define MAKEINTATOM(atom)      ((LPCSTR)MAKELONG((atom),0))#define SELECTOROF(ptr)     (HIWORD(ptr))#define OFFSETOF(ptr)       (LOWORD(ptr))/* macros to set parts of a DWORD (not in the Windows API) */#define SET_LOWORD(dw,val)  ((dw) = ((dw) & 0xffff0000) | LOWORD(val))#define SET_LOBYTE(dw,val)  ((dw) = ((dw) & 0xffffff00) | LOBYTE(val))#define SET_HIBYTE(dw,val)  ((dw) = ((dw) & 0xffff00ff) | (LOWORD(val) & 0xff00))#define ADD_LOWORD(dw,val)  ((dw) = ((dw) & 0xffff0000) | LOWORD((DWORD)(dw)+(val)))/* Macros to access unaligned or wrong-endian WORDs and DWORDs. *//* Note: These macros are semantically broken, at least for wrc.  wrc   spits out data in the platform's current binary format, *not* in    little-endian format.  These macros are used throughout the resource   code to load and store data to the resources.  Since it is unlikely    that we'll ever be dealing with little-endian resource data, the    byte-swapping nature of these macros has been disabled.  Rather than    remove the use of these macros from the resource loading code, the   macros have simply been disabled.  In the future, someone may want    to reactivate these macros for other purposes.  In that case, the   resource code will have to be modified to use different macros. */ #if 1#define PUT_WORD(ptr,w)   (*(WORD *)(ptr) = (w))#define GET_WORD(ptr)     (*(WORD *)(ptr))#define PUT_DWORD(ptr,dw) (*(DWORD *)(ptr) = (dw))#define GET_DWORD(ptr)    (*(DWORD *)(ptr))#else#define PUT_WORD(ptr,w)   (*(BYTE *)(ptr) = LOBYTE(w), \                           *((BYTE *)(ptr) + 1) = HIBYTE(w))#define GET_WORD(ptr)     ((WORD)(*(BYTE *)(ptr) | \                                  (WORD)(*((BYTE *)(ptr)+1) << 8)))#define PUT_DWORD(ptr,dw) (PUT_WORD((ptr),LOWORD(dw)), \                           PUT_WORD((WORD *)(ptr)+1,HIWORD(dw)))#define GET_DWORD(ptr)    ((DWORD)(GET_WORD(ptr) | \                                   ((DWORD)GET_WORD((WORD *)(ptr)+1) << 16)))#endif  /* 1 *//* min and max macros */#define __max(a,b) (((a) > (b)) ? (a) : (b))#define __min(a,b) (((a) < (b)) ? (a) : (b))#ifndef max#define max(a,b)   (((a) > (b)) ? (a) : (b))#endif#ifndef min#define min(a,b)   (((a) < (b)) ? (a) : (b))#endif#ifndef _MAX_PATH#define _MAX_PATH  260#endif#ifndef MAX_PATH#define MAX_PATH   260#endif#ifndef _MAX_DRIVE#define _MAX_DRIVE 3#endif#ifndef _MAX_DIR#define _MAX_DIR   256#endif#ifndef _MAX_FNAME#define _MAX_FNAME 255#endif#ifndef _MAX_EXT#define _MAX_EXT   256#endif#define HFILE_ERROR16   ((HFILE16)-1)#define HFILE_ERROR     ((HFILE)-1)/* The SIZE structure */typedef struct tagSIZE{    INT  cx;    INT  cy;} SIZE, *PSIZE, *LPSIZE;typedef SIZE SIZEL, *PSIZEL, *LPSIZEL;#define CONV_SIZE16TO32(s16,s32) \            ((s32)->cx = (INT)(s16)->cx, (s32)->cy = (INT)(s16)->cy)#define CONV_SIZE32TO16(s32,s16) \            ((s16)->cx = (INT16)(s32)->cx, (s16)->cy = (INT16)(s32)->cy)/* The POINT structure */typedef struct tagPOINT{    LONG  x;    LONG  y;} POINT, *PPOINT, *LPPOINT;typedef struct POINTL{    LONG x;    LONG y;} POINTL;#define CONV_POINT16TO32(p16,p32) \            ((p32)->x = (INT)(p16)->x, (p32)->y = (INT)(p16)->y)#define CONV_POINT32TO16(p32,p16) \            ((p16)->x = (INT16)(p32)->x, (p16)->y = (INT16)(p32)->y)#define MAKEPOINT16(l) (*((POINT16 *)&(l)))/* The POINTS structure */typedef struct tagPOINTS{	SHORT x;	SHORT y;} POINTS, *PPOINTS, *LPPOINTS;#define MAKEPOINTS(l)  (*((POINTS *)&(l)))/* The RECT structure */typedef struct tagRECT{    LONG left;    LONG top;    LONG right;    LONG bottom;} RECT, *PRECT, *LPRECT;typedef const RECT *LPCRECT;typedef struct tagRECTL{    LONG left;    LONG top;      LONG right;    LONG bottom;} RECTL, *PRECTL, *LPRECTL;typedef const RECTL *LPCRECTL;#define CONV_RECT16TO32(r16,r32) \    ((r32)->left  = (INT)(r16)->left,  (r32)->top    = (INT)(r16)->top, \     (r32)->right = (INT)(r16)->right, (r32)->bottom = (INT)(r16)->bottom)#define CONV_RECT32TO16(r32,r16) \    ((r16)->left  = (INT16)(r32)->left,  (r16)->top    = (INT16)(r32)->top, \     (r16)->right = (INT16)(r32)->right, (r16)->bottom = (INT16)(r32)->bottom)#ifdef __cplusplus}#endif#endif /* MPLAYER_WINDEF_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -