1) fixed handling of 48bit colors in XPMs
2) re-added #if wxUSE_IMAGE && wxUSE_XPM git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10739 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -105,6 +105,7 @@ license is as follows:
|
|||||||
# include "wx/defs.h"
|
# include "wx/defs.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if wxUSE_IMAGE && wxUSE_XPM
|
||||||
|
|
||||||
#include "wx/stream.h"
|
#include "wx/stream.h"
|
||||||
#include "wx/image.h"
|
#include "wx/image.h"
|
||||||
@@ -522,12 +523,14 @@ static bool GetRGBFromName(const char *inname, bool *isNone,
|
|||||||
char *name;
|
char *name;
|
||||||
char *grey, *p;
|
char *grey, *p;
|
||||||
|
|
||||||
// #rrggbb are not in database, we parse them directly
|
// Neither #rrggbb nor #rrrrggggbbbb are in database, we parse them directly
|
||||||
if ( *inname == '#' && strlen(inname) == 7 )
|
size_t inname_len = strlen(inname);
|
||||||
|
if ( *inname == '#' && (inname_len == 7 || inname_len == 13))
|
||||||
{
|
{
|
||||||
|
size_t ofs = (inname_len == 7) ? 2 : 4;
|
||||||
*r = ParseHexadecimal(inname[1], inname[2]);
|
*r = ParseHexadecimal(inname[1], inname[2]);
|
||||||
*g = ParseHexadecimal(inname[3], inname[4]);
|
*g = ParseHexadecimal(inname[1*ofs+1], inname[1*ofs+2]);
|
||||||
*b = ParseHexadecimal(inname[5], inname[6]);
|
*b = ParseHexadecimal(inname[2*ofs+1], inname[2*ofs+2]);
|
||||||
*isNone = FALSE;
|
*isNone = FALSE;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@@ -751,4 +754,4 @@ wxImage wxXPMDecoder::ReadData(const char **xpm_data)
|
|||||||
return img;
|
return img;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // wxUSE_IMAGE && wxUSE_XPM
|
||||||
|
Reference in New Issue
Block a user