81 lines
1.8 KiB
C
81 lines
1.8 KiB
C
/**
|
|
** Header for the New version of RC.EXE. This contains the structures
|
|
** for new format of BITMAP files.
|
|
**/
|
|
|
|
/* The width of the name field in the Data for the group resources */
|
|
#ifndef RC_INVOKED // RC can't handle #pragmas
|
|
#pragma pack(2)
|
|
|
|
typedef struct tagBITMAPHEADER
|
|
{
|
|
DWORD Size;
|
|
WORD Width;
|
|
WORD Height;
|
|
WORD Planes;
|
|
WORD BitCount;
|
|
} BITMAPHEADER;
|
|
|
|
// IDIOTS! WHY WASN'T THIS DEFINED TO BE SAME AS RESOURCE FORMAT?
|
|
// Image File header
|
|
typedef struct tagIMAGEFILEHEADER
|
|
{
|
|
BYTE cx;
|
|
BYTE cy;
|
|
BYTE nColors;
|
|
BYTE iUnused;
|
|
WORD xHotSpot;
|
|
WORD yHotSpot;
|
|
DWORD cbDIB;
|
|
DWORD offsetDIB;
|
|
} IMAGEFILEHEADER;
|
|
|
|
// File header
|
|
#define FT_ICON 1
|
|
#define FT_CURSOR 2
|
|
|
|
typedef struct tagICONFILEHEADER
|
|
{
|
|
WORD iReserved;
|
|
WORD iResourceType;
|
|
WORD cresIcons;
|
|
IMAGEFILEHEADER imh[1];
|
|
} ICONFILEHEADER;
|
|
|
|
typedef struct tagNEWHEADER {
|
|
WORD Reserved;
|
|
WORD ResType;
|
|
WORD ResCount;
|
|
} NEWHEADER, *LPNEWHEADER;
|
|
|
|
typedef struct tagICONDIR
|
|
{
|
|
BYTE Width; /* 16, 32, 64 */
|
|
BYTE Height; /* 16, 32, 64 */
|
|
BYTE ColorCount; /* 2, 8, 16 */
|
|
BYTE reserved;
|
|
} ICONDIR;
|
|
|
|
// Format of resource directory (array of resources)
|
|
|
|
typedef struct tagRESDIR
|
|
{
|
|
ICONDIR Icon;
|
|
WORD Planes;
|
|
WORD BitCount;
|
|
DWORD BytesInRes;
|
|
WORD idIcon;
|
|
} RESDIR, *LPRESDIR;
|
|
|
|
typedef struct tagRESDIRDISK
|
|
{
|
|
struct tagICONDIR Icon;
|
|
|
|
WORD Reserved[2];
|
|
DWORD BytesInRes;
|
|
DWORD Offset;
|
|
} RESDIRDISK, *LPRESDIRDISK;
|
|
|
|
#pragma pack()
|
|
#endif // !RC_INVOKED
|