33 lines
925 B
C
33 lines
925 B
C
typedef struct an_icon_resource {
|
|
BYTE width;
|
|
BYTE height;
|
|
BYTE colour_count;
|
|
BYTE reserved[5];
|
|
DWORD DIB_size;
|
|
DWORD DIB_offset;
|
|
} an_icon_resource;
|
|
|
|
typedef struct an_icon {
|
|
BITMAPINFO *bm;
|
|
BYTE *xor_mask;
|
|
WORD xor_size;
|
|
BYTE *and_mask;
|
|
WORD and_size;
|
|
} an_icon;
|
|
|
|
typedef struct an_icon_file {
|
|
WORD reserved;
|
|
WORD type;
|
|
WORD count;
|
|
an_icon_resource resources[1];
|
|
} an_icon_file;
|
|
|
|
extern an_icon_file *IconOpen(FILE *);
|
|
extern WORD IconCount(an_icon_file *);
|
|
extern void IconResInfo(an_icon_file *,an_icon_resource *,unsigned int );
|
|
extern an_icon *IconResourceToIcon(FILE *,an_icon_file *,unsigned int );
|
|
extern void IconFini(an_icon *);
|
|
extern HBITMAP IconToXorBitmap(HDC ,an_icon *);
|
|
extern HBITMAP IconToAndBitmap(HDC ,an_icon *);
|
|
extern void IconClose(an_icon_file *);
|