[GSoC] Support of pluggable theming engines
Nikolay Sivov
bunglehead at gmail.com
Sun Mar 27 00:48:35 CDT 2016
On 26.03.2016 22:34, Ivan Akulinchev wrote:
> I wrote a brief roadmap:
>
> 1. Improve uxtheme handles. Currently they are just void pointers to
> the internal structures. All other libraries do it using a handle
> table [1, 2, 3].
Right.
> 2. Move all MSSTYLES-related code to winemsstyles.drv. At this step
> such uxtheme functions as DrawThemeBackground will be stubbed.
I don't think this step is needed, MSSTYLES stuff could stay in uxtheme,
acting similar to null driver from user32.
> 3. Add support for uxtheme drivers. At the startup the registry key
> HKCU\Software\Wine\Drivers\Theme will be read. This is a comma-
> separated list such as "gtk3,qt5,mac,msstyles". In the loop all
> drivers will be tried until the working one found. Note the
> suggested order. If winegtk3.drv see the DESKTOP_SESSION
> environment variable is set to KDE, it should return FALSE from the
> entry point, so wineqt5.drv will be tried. This is a bug founded by
> Ruslan Kabatsayev last year [4]. If nothing found, the last one
> (winemsstyles.drv) should be used.
Just curious, did you explore the ways to implement qt5 variant (let
alone mac)?
> 4. Work on the activation context. This is a complex step I need to
> describe separately...
Class redirection context support is already there, user32 does not
honor it, that's the problem.
> 6. Add double buffering support to comctl32 (I hate flipping!!!)
Some controls have double buffering mode, when working without theme.
You mean here only the case when theme is active?
> 7. Add support for animated transitions like Windows Vista does.
What is affected by this exactly?
> 8. Fix other problems in comctl32 that I hate...
Sure, but could you give a draft list for that?
More information about the wine-devel
mailing list