Hi Todd, great work, but i have some little complaints ... > Ok, this has been fixed. TerraTheme now provides a constructor that > takes a URL, allowing you to pass a custom JSON file with the font and > color palette properties. I also updated the TerraTheme docs to > better describe how the color palette is built. Great, this is really useful, to avoid extend a theme only to change its colors.
> So instead we > went with the notion of a palette, a notion based on the design > process of graphic designers. A typical graphic designer decides on a > color palette and then choose colors from that palette without > preconceived notions of how each color must be used. Yes, but usually in Graphic Design only few main colors (usually 3, max 5) are taken into the chosen Palette, then if/when needed others the trick is to calculate others as variants of main colors, for example changing only one of its HSV components to lighten/darken or to change the color percentage ... in this way all seems to be more visually coherent. The Palette in the Terra theme contains 24 colors, but its main colors are 8, and this is in line with what i said, ok. But to simplify/generalize this for other themes, if i had the methods below for determining color variants, i could define only few, and then let the skin behavior to choose what color (or its variant) to use (and cache it), without defining a color for background of buttons, one for labels, etc as you said before, because this generates visual noise. For example, the beautiful Substance Look&Feel uses these concepts in its skins. And: http://en.wikipedia.org/wiki/Color_blindness , and many other references (some year ago i have read a very interesting article on this from ibm developerworks, but now i can't find it). Again, Substance have also these features integrated. But maybe these questions could be handled in a future release, to support accessibility in Pivot, also from this point of view. And so my last question: > Finally, note that TerraTheme /does/ provide brighten(Color):Color and > darken(Color):Color in its public API. Great, but a better place for these features wouldn't be in a more generic Theme base class, so any theme could use this ? Or in a generic Color management utility class, maybe as static methods (ok, not so much Object Oriented in this case) ... And so my previous questions for other optional methods to get the contrast between two colors, get a color variant for a Colour Blindness Simulation, and many others ... What do you think ? Thanks and good work, Sandro
