Markus Hahn wrote:
Hi there, with none default themes, I get the error messages like: "too many different colors used in palette" by using 16 different colors in theme file. As a result some Skins.Message are not displayed
Digging deeper, I found cPalette::SetBpp osd.c give some strange values: At Start maxColors: 256 maxColors: 2 maxColors: 256 maxColors: 4 first call up menu maxColors: 16 maxColors: 4
etc.
Why does the color resolution changed? Shoudn`t be at one value?
The color resolution can be different for the various areas of the OSD. See the call to SetAreas() in the skin. For instance
tArea Areas[] = { { x0, y0, x7 - 1, y7 - 1, 4 } }; if (osd->CanHandleAreas(Areas, sizeof(Areas) / sizeof(tArea)) == oeOk) osd->SetAreas(Areas, sizeof(Areas) / sizeof(tArea)); else { tArea Areas[] = { { x0, y0, x7 - 1, y3 - 1, 2 }, { x0, y3, x3 - 1, y4 - 1, 1 }, { x3, y3, x4 - 1, y4 - 1, 2 }, { x4, y3, x7 - 1, y4 - 1, 2 }, { x0, y4, x7 - 1, y7 - 1, 4 } }; osd->SetAreas(Areas, sizeof(Areas) / sizeof(tArea)); }
tries to set one single area with 4bpp, and if that fails it splits the whole OSD into 5 separate areas with smaller bpp values.
Klaus