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

📄 comdef.h

📁 ct952 source code use for Digital Frame Photo
💻 H
字号:
#ifndef     __COMDEF_H__#define     __COMDEF_H__// ****** Common definitions and typedefs **********************************// Added by D300 Chern Shyh-Chain, 4/11/2002// Rename and redefine the 16-bit huge environment since it is necessary at 32-bit.#ifdef  WIN32#define _halloc( size, dummy )  malloc( size )#define _hfree( pointer )       free( pointer )// wyc.host#ifndef _huge#define _huge#endif // _huge#ifndef __huge#define __huge#endif // _huge#define far#define _far#endif  // WIN32#define BIT                 BYTE// Micky2.80p, don't reference OS_XXX directly#ifndef  APPLICATION_WINDOWS// below identifier/ macros are only for Windows#define VOID                void#define FALSE               0#define TRUE                1typedef unsigned char       BOOL;// wyc0.60-909, add and merge some define from typedef.htypedef char                CHAR;typedef unsigned char       BYTE;typedef unsigned short      WORD;typedef unsigned long       DWORD;typedef unsigned long long  ULONGLONG;typedef long long           LONGLONG;typedef ULONGLONG * PULONGLONG;typedef LONGLONG *  PLONGLONG;typedef short               SHORT;typedef long                LONG;typedef int                 INT;typedef unsigned long       ULONG;typedef unsigned short      USHORT;typedef unsigned int        UINT;typedef CHAR *      PCHAR;typedef SHORT *     PSHORT;typedef LONG *      PLONG;typedef VOID *      PVOID;// cat't define as (WORD *)!!!typedef WORD *      PWORD;typedef BYTE *      PBYTE;typedef DWORD *     PDWORD;#ifndef NULL#define NULL        0#endif //#define LOBYTE(w)           ((BYTE)(w))#define HIBYTE(w)           ((BYTE)(((DWORD)(w) >> 8) & 0xFF)) #define MAKEWORD(low, high) ((WORD)(((BYTE)(low)) | (((WORD)((BYTE)(high))) << 8 )))#define LOWORD(l)           ((WORD)(DWORD)(l))#define HIWORD(l)           ((WORD)((((DWORD)(l)) >> 16) & 0xFFFF))#define MAKELONG(low, high) ((LONG)(((WORD)(low)) | (((DWORD)((WORD)(high))) << 16)))// LLY.049-1, define rectangle structure#endif  //#ifndef  APPLICATION_WINDOWS#define NULL_0                0typedef struct tagRECT_{    WORD    wLeft;    WORD    wTop;    WORD    wRight;    WORD    wBottom;} URECT, *PURECT;typedef struct  tagWIN_PARAMETER{    SHORT   sHStart;    WORD    wHWidth;    SHORT   sVStart;    WORD    wVWidth;    BYTE    bEnable;} WIN_PARAMETER, *PWIN_PARAMETER;typedef union   tagWIN_COLOR{    struct    {        BYTE    bWeight; // 6 bits resolution        BYTE    bY;        BYTE    bU;        BYTE    bV;    } Color;        DWORD       dwColorReg;}WIN_COLOR , *PWIN_COLOR;typedef union   tagULONGLONG_UNION{    BYTE        b8bit[8];    WORD        w16bit[4];    DWORD       dw32bit[2];    ULONGLONG   ull64bit;} ULONGLONG_UNION, *PULONGLONG_UNION;typedef union   tagLONGLONG_UNION{    CHAR        c8bit[8];    SHORT       s16bit[4];    LONG        l32bit[2];    LONGLONG    ll64bit;} LONGLONG_UNION, *PLONGLONG_UNION;typedef union   tagULONG_UNION{    BYTE        b8bit[4];    WORD        w16bit[2];    DWORD       dw32bit;} ULONG_UNION, *PULONG_UNION;typedef union   tagLONG_UNION{    CHAR        c8bit[4];    SHORT       s16bit[2];    LONG        l32bit;} LONG_UNION, *PLONG_UNION;typedef union   tagWORD_UNION{    BYTE        b8bit[2];    WORD        w16bit;} WORD_UNION, *PWORD_UNION;typedef union   tagSHORT_UNION{    CHAR        c8bit[2];    SHORT       s16bit;} SHORT_UNION, *PSHORT_UNION;#ifndef NOMINMAX#define MIN(a,b)                (((a) < (b)) ? (a) : (b))#define MAX(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#endif  // NOMINMAX// ***** Common pointer types ***********************************************// time format conversion macros ***************************#define MSF_MINUTE(msf)             ((BYTE)(msf))#define MSF_SECOND(msf)             ( (BYTE) ( ( (WORD) (msf) ) >> 8 ) )#define MSF_FRAME(msf)              ((BYTE)((msf)>>16))#define MAKE_MSF(m, s, f)           ((DWORD)(((BYTE)(m) | ((WORD)(s)<<8)) | (((DWORD)(BYTE)(f))<<16)))#define TMSF_TRACK(tmsf)            ((BYTE)(tmsf))#define TMSF_MINUTE(tmsf)           ((BYTE)(((WORD)(tmsf)) >> 8))#define TMSF_SECOND(tmsf)           ((BYTE)((tmsf)>>16))#define TMSF_FRAME(tmsf)            ((BYTE)((tmsf)>>24))#define MAKE_TMSF(t, m, s, f)       ((DWORD)(((BYTE)(t) | ((WORD)(m)<<8)) | (((DWORD)(BYTE)(s) | ((WORD)(f)<<8))<<16)))// ** TCH0.36; begin...#define HMSF_HOUR(hmsf)             ((BYTE)(hmsf))#define HMSF_MINUTE(hmsf)           ((BYTE)(((WORD)(hmsf)) >> 8))#define HMSF_SECOND(hmsf)           ((BYTE)((hmsf)>>16))#define HMSF_FRAME(hmsf)            ((BYTE)((hmsf)>>24))#define MAKE_HMSF(h, m, s, f)       ((DWORD)(((BYTE)(h) | ((WORD)(m)<<8)) | (((DWORD)(BYTE)(s) | ((WORD)(f)<<8))<<16)))// ** TCH0.36; end...// LLY.043, YUV <--> RGB conversion macros// [31:24]:don't care, [23:16]:R value, [15:8]: G value, [7:0]: B value#define RGB_R(rgb)              ((BYTE)((DWORD)rgb>>16))#define RGB_G(rgb)              ((BYTE)((DWORD)rgb>>8))#define RGB_B(rgb)              ((BYTE)rgb)#define MAKE_RGB(r, g, b)       ( ((DWORD)r<<16) | ((DWORD)g<<8) | (DWORD)b ) // LLY.102// [Notice] YUV format is defined as OSD spec.// [15:10]<-- Y[7:2]; [9:8]<-- 0x0// [7:4]<-- U[7:4]; [3:0]<-- V[7:4]#define YUV_Y(yuv)              ((BYTE)((WORD)yuv>>10)<<2)#define YUV_U(yuv)              ((BYTE)(yuv&0x00F0))#define YUV_V(yuv)              ((BYTE)(yuv&0x000F)<<4)//Brian2.81#define MAKE_YUV(y, u, v)       ((((DWORD)(y&0xFE))<<11) | (((DWORD)(u&0xFC))<<4) | (((DWORD)(v&0xFC))>>2))// LLY.043 end ...#endif      // __COMDEF_H__

⌨️ 快捷键说明

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