[GSoC] Support of pluggable theming engines

Ivan Akulinchev ivan.akulinchev at gmail.com
Sun Mar 27 06:17:29 CDT 2016


>> 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.

Of course I thought about it, but for a long time ago. Then it was
better to keep all MSSTYLES-related stub separately.

Now I see some reasons to keep it inside. You're right, thanks.

> Just curious, did you explore the ways to implement qt5 variant (let
> alone mac)?

I didn't plan to implement this in the context of GSoC, but yes. If
you mean something like MOC (Qt preprocessor), it's not necessary
until you want to inherit some QObject class. It looks a little bit
tricky, but it's the documented way. The only thing you need is a
modern C++ compiler and Qt headers installed on the build system.

The mac driver has no unsolvable problems too.

> Class redirection context support is already there, user32 does not
> honor it, that's the problem.

Sorry, can't find it. Could you please provide a link?

>> 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?

I don't know which case I mean, but such complex controls as toolbars
flip on the window resize.

>> 7. Add support for animated transitions like Windows Vista does.
>
> What is affected by this exactly?

Sorry, didn't understand the question. If mean how I'm going to do it:

1. Implement BeginBufferedAnimation and EndBufferedAnimation.
2. Call GetThemeTransitionDuration when the state changes.
3. Use BeginBufferedAnimation and EndBufferedAnimation, see the
   example from MSDN. Even if the transition duration is set to 0, you
   get double buffering for free.

>> 8. Fix other problems in comctl32 that I hate...
>
> Sure, but could you give a draft list for that?

I'll write you later (you already asked me in another mail above).



More information about the wine-devel mailing list