|
From: Joe E. <jen...@fl...> - 2004-10-04 20:23:24
|
Notebook widgets still don't look quite right under Windows XP -- more precisely, the stuff inside a notebook doesn't look quite right. The pane should have a subtle gradient, from white at the top to a very light gray at the bottom. The Tile notebook can draw this part, but widgets like checkbuttons, radiobuttons, and labelframes, inside a notebook pane are still drawn with the standard background. This is a symptom of a more general problem: the correct background for a widget may depend on what it's contained in, but the theme engine doesn't have access to this information. This is especially apparent on Mac OSX. I'm still not entirely sure how to solve this, but it's pretty clear that the theme engine will need to treat background elements differently from other elements. Background elements are already something of a special case: every layout has to include one, and it has to be the first element drawn. (This is only mentioned in a comment buried in the middle of the source code...) As a first step towards a fix, I plan to make TTK_CreateLayout() automatically include the background element, instead of listing it explicitly in each layout specification. This will mostly impact programs that have defined custom layouts; they'll need to remove the background element. Then if someone can figure out exactly how DrawThemeParentBackground() is supposed to work in XP, maybe we can get notebooks to look right too... --Joe English jen...@fl... |