Bar Theming API
This is the first approach to replace the current theming API.
- Provide backwards compatibility.
- Don't need to access object members like parents or other stuff.
- Avoid the need to know implementation details of widgets to write engines.
- Improve support for dynamic style properties.
- Provide an extensible context information provider from widgets (kill the detail string!)
A new GtkStyleContext object that can contain multiple values/hints. This would substitute the detail string, and would allow less scary if switches within the engines implementation.
Reimplement a compatibility layer for legacy primitives. This legacy implementation would call the new primitives by creating a new GtkStyleContext that would fit the current call+detail string. It's pretty much like emulating what a current engine does, but instead of painting, calling the new primitives.