miniwin.h

Go to the documentation of this file.

#ifndef __MINIWIN_H__
#define __MINIWIN_H__
#pragma pack(1)
#define FAR  
#define CONST   const
#define VOID    void
#define TRUE    1
#define FALSE   0
#ifndef NULL
#define NULL    ((void*)0)
#endif
#define CALLBACK    __stdcall
#define WINAPI     __stdcall
#define FILE_BEGIN          0
#define FILE_CURRENT 1
#define FILE_END            2

#define GetBValue(rgb) ((BYTE) ((rgb) >> 16))
#define GetGValue(rgb) ((BYTE) (((WORD) (rgb)) >> 8))
#define GetRValue(rgb) ((BYTE) (rgb))
#define RGB(r,g,b) ((DWORD)(((BYTE)(r)|((WORD)(g) << 8))|(((DWORD)(BYTE)(b)) << 16)))
#define HIBYTE(w) ((BYTE) (((WORD) (w) >> 8) & 0xFF))
#define HIWORD(l) ((WORD) (((DWORD) (l) >> 16) & 0xFFFF))
#define LOBYTE(w) (((BYTE) (w)) & 0xFF)
#define LOWORD(l) (((WORD) (l)) & 0xFFFF)
#define MAKELONG(a,b) ((LONG) (((WORD) (a)) | ((DWORD) ((WORD) (b))) << 16))
#define MAKEWORD(a,b) ((WORD) (((BYTE) (a)) | ((WORD) ((BYTE) (b))) << 8))
#define MAKEINTRESOURCE(i) (LPTSTR) ((DWORD) ((WORD) (i)))
#define MAKELPARAM(l,h) ((LPARAM) MAKELONG(l,h))
#define MAKELRESULT(l,h) ((LRESULT) MAKELONG(l,h))
#define MAKEWPARAM(l,h) ((WPARAM) MAKELONG(l,h))
#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif
#ifndef min
#define min(a,b) (((a) < (b)) ? (a) : (b))
#endif

#define EndType(b)   b ; typedef b *P##b ; typedef b CONST *PC##b ; \
                     typedef b FAR *LP##b ; typedef b CONST FAR *LPC##b
#define SimpleType(a,b)  typedef a b ; typedef a *P##b ; typedef a CONST *PC##b ;\
                         typedef a FAR *LP##b ; typedef a CONST FAR *LPC##b
#define SimpleTypePtr(a,b)  typedef a *P##b ; typedef a CONST *PC##b ;\
                         typedef a FAR *LP##b ; typedef a CONST FAR *LPC##b

SimpleType(char,CHAR);
SimpleType(unsigned char,UCHAR);
SimpleType(signed char,SCHAR);

SimpleType(short,SHORT);
SimpleType(unsigned short,USHORT);
SimpleType(signed short,SSHORT);

SimpleType(long,LONG);
SimpleType(unsigned long,ULONG);
SimpleType(signed long,SLONG);

SimpleType(float,FLOAT);
SimpleType(double,DOUBLE);

SimpleType(int,INT);
SimpleType(unsigned int,UINT);
SimpleType(signed int,SINT);

#ifdef _MSC_VER
SimpleType(__int64,LONGLONG);
SimpleType(unsigned __int64,ULONGLONG);
#else
SimpleType(long long,LONGLONG);
SimpleType(unsigned long long,ULONGLONG);
#endif

SimpleTypePtr(void,VOID);
SimpleTypePtr(CHAR,STR);
SimpleTypePtr(USHORT,WSTR);
#ifndef UNICODE
#define __TEXT(x)  L##x
#define TEXT(x)    __TEXT(x)
SimpleType(CHAR,TCHAR);
#else
#define __TEXT(x)  x
#define TEXT(x)    __TEXT(x)
SimpleType(USHORT,TCHAR);
#endif
SimpleTypePtr(TCHAR,TSTR);


#if ( 501 < __midl )
SimpleType(__int3264,INT_PTR);
SimpleType(unsigned __int3264,UINT_PTR);
SimpleType(INT_PTR,LONG_PTR);
SimpleType(UINT_PTR,ULONG_PTR);
#elif defined(_WIN64)
SimpleType(__int64,INT_PTR);
SimpleType(unsigned __int64,UINT_PTR);
SimpleType(INT_PTR,LONG_PTR);
SimpleType(UINT_PTR,ULONG_PTR);
SimpleType(__int64,__int3264);
#elif !defined(__midl) && defined(_X86_) && _MSC_VER >= 1300
SimpleType(__w64 int,INT_PTR);
SimpleType(__w64 unsigned int,UINT_PTR);
SimpleType(__w64 long,LONG_PTR);
SimpleType(__w64 unsigned long,ULONG_PTR);
SimpleType(int,__int3264);
#else
SimpleType(int,INT_PTR);
SimpleType(unsigned int,UINT_PTR);
SimpleType(long,LONG_PTR);
SimpleType(unsigned long,ULONG_PTR);
SimpleType(int,__int3264);
#endif

SimpleType(UCHAR,BYTE);
SimpleType(USHORT,WORD);
SimpleType(ULONG,DWORD);
SimpleType(INT,BOOL);
SimpleType(UCHAR,BOOLEAN);
SimpleType(UINT,WPARAM);
SimpleType(SLONG,LPARAM);
SimpleType(LPVOID,HANDLE);
SimpleType(ULONG,COLORREF);
SimpleType(ULONGLONG,DWORDLONG);
SimpleType(ULONG_PTR,DWORD_PTR);

#define INVALID_HANDLE_VALUE    (HANDLE)(0xffffffff)

typedef struct {
 LONG x;
 LONG y;
} EndType(POINT);

typedef struct {
 LONG cx;
 LONG cy;
} EndType(SIZE);

typedef struct {
 LONG left;
 LONG top;
 LONG right;
 LONG bottom;
} EndType(RECT);

typedef struct {
 FLOAT eM11;
 FLOAT eM12;
 FLOAT eM21;
 FLOAT eM22;
 FLOAT eDx;
 FLOAT eDy;
} EndType(XFORM);

typedef struct {
 WORD wYear;
 WORD wMonth;
 WORD wDayOfWeek;
 WORD wDay;
 WORD wHour;
 WORD wMinute;
 WORD wSecond;
 WORD wMilliseconds;
} EndType(SYSTEMTIME);

typedef struct {
 DWORD dwLowDateTime;
 DWORD dwHighDateTime;
} EndType(FILETIME);

typedef struct {
 DWORD bcSize;
 WORD bcWidth;
 WORD bcHeight;
 WORD bcPlanes;
 WORD bcBitCount;
} EndType(BITMAPCOREHEADER);

typedef struct {
 BYTE rgbtBlue;
 BYTE rgbtGreen;
 BYTE rgbtRed;
} EndType(RGBTRIPLE);

typedef struct {
 BITMAPCOREHEADER bmciHeader;
 RGBTRIPLE bmciColors[1];
} EndType(BITMAPCOREINFO);

typedef struct {
 WORD bfType;
 DWORD bfSize;
 WORD bfReserved1;
 WORD bfReserved2;
 DWORD bfOffBits;
} EndType(BITMAPFILEHEADER);

typedef struct {
 DWORD biSize;
 LONG biWidth;
 LONG biHeight;
 WORD biPlanes;
 WORD biBitCount;
 DWORD biCompression;
 DWORD biSizeImage;
 LONG biXPelsPerMeter;
 LONG biYPelsPerMeter;
 DWORD biClrUsed;
 DWORD biClrImportant;
} EndType(BITMAPINFOHEADER);

#define BI_RGB 0
#define BI_RLE8 1
#define BI_RLE4 2
#define BI_BITFIELDS 3

typedef struct {
 BYTE rgbBlue;
 BYTE rgbGreen;
 BYTE rgbRed;
 BYTE rgbReserved;
} EndType(RGBQUAD);

typedef struct {
 BITMAPINFOHEADER bmiHeader;
 RGBQUAD bmiColors[1];
} EndType(BITMAPINFO);

#define R2_BLACK        1
#define R2_COPYPEN      13
#define R2_MASKNOTPEN   3
#define R2_MASKPEN      9
#define R2_MASKPENNOT   5
#define R2_MERGENOTPEN  12
#define R2_MERGEPEN     15
#define R2_MERGEPENNOT  14
#define R2_NOP  11
#define R2_NOT  6
#define R2_NOTCOPYPEN   4
#define R2_NOTMASKPEN   8
#define R2_NOTMERGEPEN  2
#define R2_NOTXORPEN    10
#define R2_WHITE        16
#define R2_XORPEN       7

//MEMORY

#define HEAP_ZERO_MEMORY  8
HANDLE WINAPI GetProcessHeap(void);
//dwFlags is one of 0 or HEAP_ZERO_MEMORY
LPVOID WINAPI HeapAlloc(HANDLE,DWORD,DWORD);
LPVOID WINAPI HeapReAlloc(HANDLE,DWORD,LPVOID,DWORD);
BOOL WINAPI HeapFree(HANDLE,DWORD,LPVOID);


#pragma pack()
#endif

Generated on Thu Mar 27 01:46:53 2008 for Item Arrays by  doxygen 1.4.6-NO