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