wrc: Add support for PNG icons.
This commit is contained in:
parent
a4cb7c46fe
commit
c9d806a0d1
|
@ -34,6 +34,8 @@
|
||||||
|
|
||||||
#include "wingdi.h" /* for BITMAPINFOHEADER */
|
#include "wingdi.h" /* for BITMAPINFOHEADER */
|
||||||
|
|
||||||
|
#define ICO_PNG_MAGIC 0x474e5089
|
||||||
|
|
||||||
#include <pshpack2.h>
|
#include <pshpack2.h>
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
@ -397,27 +399,28 @@ static int convert_bitmap(char *data, int size)
|
||||||
}
|
}
|
||||||
|
|
||||||
bmsize = bih->bV5Size;
|
bmsize = bih->bV5Size;
|
||||||
if (bmsize >> 16) /* assume swapped */
|
|
||||||
{
|
|
||||||
#ifndef WORDS_BIGENDIAN
|
|
||||||
type |= FL_SIZEBE;
|
|
||||||
#endif
|
|
||||||
bmsize = BYTESWAP_DWORD( bmsize );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
#ifdef WORDS_BIGENDIAN
|
|
||||||
type |= FL_SIZEBE;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (bmsize)
|
switch (bmsize)
|
||||||
{
|
{
|
||||||
case sizeof(BITMAPOS2HEADER):
|
case sizeof(BITMAPOS2HEADER):
|
||||||
case sizeof(BITMAPINFOHEADER):
|
case sizeof(BITMAPINFOHEADER):
|
||||||
case sizeof(BITMAPV4HEADER):
|
case sizeof(BITMAPV4HEADER):
|
||||||
case sizeof(BITMAPV5HEADER):
|
case sizeof(BITMAPV5HEADER):
|
||||||
|
#ifdef WORDS_BIGENDIAN
|
||||||
|
type |= FL_SIZEBE;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
|
case BYTESWAP_DWORD( sizeof(BITMAPOS2HEADER) ):
|
||||||
|
case BYTESWAP_DWORD( sizeof(BITMAPINFOHEADER) ):
|
||||||
|
case BYTESWAP_DWORD( sizeof(BITMAPV4HEADER) ):
|
||||||
|
case BYTESWAP_DWORD( sizeof(BITMAPV5HEADER) ):
|
||||||
|
#ifndef WORDS_BIGENDIAN
|
||||||
|
type |= FL_SIZEBE;
|
||||||
|
#endif
|
||||||
|
bmsize = BYTESWAP_DWORD( bmsize );
|
||||||
|
break;
|
||||||
|
case ICO_PNG_MAGIC:
|
||||||
|
case BYTESWAP_DWORD( ICO_PNG_MAGIC ):
|
||||||
|
return 0; /* nothing to convert */
|
||||||
default:
|
default:
|
||||||
parser_error("Invalid bitmap format, bih->biSize = %d", bih->bV5Size);
|
parser_error("Invalid bitmap format, bih->biSize = %d", bih->bV5Size);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue