2008/11/1 Frank Richter frank.richter@gmail.com:
On 01.11.2008 14:04, Reece Dunn wrote:
we could have the msstyles DLL expose the uxtheme API and have uxtheme call msstyles to do the rendering. That way, we could have a gtk.msstyles, qt3.msstyles, qt4.msstyles and an carbon.msstyles
That sounds like misappropriating the msstyles 'format'. The idea of "theming engine plugins" is a good one, but then some other mechanism than abusing the msstyles extension should be used to detect these plugins. Some ideas: an extension (but a different, unique one), putting them into a special directory, listing engines in the registry.
Anyhow, this is somewhat bikeshedding ;P
:). Your point makes more sense.
First step would probably be to define a theming plugin API - you say that the theming plugins would just export the whole uxtheme API. However, it could be possible that the theming plugin interface can be simplified compared to that, with uxtheme.dll filling the gaps. (After all, a simpler interface can mean a simpler plugin implementation...)
That is a good idea.
It would also be a good idea to look at the capabilities of the major theming engines (Gtk, Qt, Cocoa) and possibly some others like the one used by Enlightemnent and try to abstract an API that can accommodate them all in a straightforward way.
Note also that there is the added complication that the interface wine uses will need to be a native one, so it can interact with the native cocoa, qt or gtk libraries.
- Reece