/* The Win32 headers for GCC currently do not know about the functions */ /* of msimg32.dll - so let's define them here */ // // image blt // typedef USHORT COLOR16; typedef struct _TRIVERTEX { LONG x; LONG y; COLOR16 Red; COLOR16 Green; COLOR16 Blue; COLOR16 Alpha; }TRIVERTEX,*PTRIVERTEX,*LPTRIVERTEX; typedef struct _GRADIENT_TRIANGLE { ULONG Vertex1; ULONG Vertex2; ULONG Vertex3; } GRADIENT_TRIANGLE,*PGRADIENT_TRIANGLE,*LPGRADIENT_TRIANGLE; typedef struct _GRADIENT_RECT { ULONG UpperLeft; ULONG LowerRight; }GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT; typedef struct _BLENDFUNCTION { BYTE BlendOp; BYTE BlendFlags; BYTE SourceConstantAlpha; BYTE AlphaFormat; }BLENDFUNCTION,*PBLENDFUNCTION; // // currentlly defined blend function // #define AC_SRC_OVER 0x00 // // alpha format flags // #define AC_SRC_NO_PREMULT_ALPHA 0x01 #define AC_SRC_NO_ALPHA 0x02 #define AC_DST_NO_PREMULT_ALPHA 0x10 #define AC_DST_NO_ALPHA 0x20 WINGDIAPI BOOL WINAPI AlphaBlend(HDC,int,int,int,int,HDC,int,int,int,int,BLENDFUNCTION); WINGDIAPI BOOL WINAPI AlphaDIBBlend(HDC,int,int,int,int,CONST VOID *, CONST BITMAPINFO *,UINT,int,int,int,int,BLENDFUNCTION); WINGDIAPI BOOL WINAPI TransparentBlt(HDC,int,int,int,int,HDC,int,int,int,int,UINT); WINGDIAPI BOOL WINAPI TransparentDIBits(HDC,int,int,int,int,CONST VOID *, CONST BITMAPINFO *,UINT,int,int,int,int,UINT); // // gradient drawing modes // #define GRADIENT_FILL_RECT_H 0x00000000 #define GRADIENT_FILL_RECT_V 0x00000001 #define GRADIENT_FILL_TRIANGLE 0x00000002 #define GRADIENT_FILL_OP_FLAG 0x000000ff WINGDIAPI BOOL WINAPI GradientFill(HDC,PTRIVERTEX,ULONG,PVOID,ULONG,ULONG);