From: Vadim Zeitlin Date: Sun, 3 Aug 2008 10:31:07 +0000 (+0000) Subject: store palette information from XPM in wxImage (#9763) X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/942368061731ed2a42949287dfd1281e8c28b22d store palette information from XPM in wxImage (#9763) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/xpmdecod.cpp b/src/common/xpmdecod.cpp index a752ead86f..ae43e513fd 100644 --- a/src/common/xpmdecod.cpp +++ b/src/common/xpmdecod.cpp @@ -809,7 +809,23 @@ wxImage wxXPMDecoder::ReadData(const char* const* xpm_data) img_data[2] = entry->second.B; } } +#if wxUSE_PALETTE + unsigned char* r = new unsigned char[colors_cnt]; + unsigned char* g = new unsigned char[colors_cnt]; + unsigned char* b = new unsigned char[colors_cnt]; + for (it = clr_tbl.begin(), i = 0; it != clr_tbl.end(); it++, i++) + { + r[i] = it->second.R; + g[i] = it->second.G; + b[i] = it->second.B; + } + wxASSERT(i == colors_cnt); + img.SetPalette(wxPalette(colors_cnt, r, g, b)); + delete[] r; + delete[] g; + delete[] b; +#endif // wxUSE_PALETTE return img; }