Re: user32: Factorize graphics driver's WindowCreate and ShowWindow in user32.
"Pierre d'Herbemont" <pdherbemont(a)free.fr> wrote:
At the same time ShowWindow gets factorized because WindowCreate and ShowWindow share both the use of WINPOS_MinMaximize, so it is easier to factorize both functions in a single patch. In fact ShowWindow is removed entirely from the drivers as it is driver independant.
To properly factorize WindowCreate we have to export 3 new functions from the graphics driver which are SetIconicState, SyncWindowStyle, SystrayDockWindow.
I'd suggest to leave ShowWindow in the driver's interface. You already have created 3 new entry points to replace its partial functionality, but still miss ShowWindow functionality for at least SW_RESTORE and SW_MAXIMIZE. Also did you run 'make test' after this patch? -- Dmitry.
On 30 nov. 06, at 05:34, Dmitry Timoshkov wrote:
"Pierre d'Herbemont" <pdherbemont(a)free.fr> wrote:
At the same time ShowWindow gets factorized because WindowCreate and ShowWindow share both the use of WINPOS_MinMaximize, so it is easier to factorize both functions in a single patch. In fact ShowWindow is removed entirely from the drivers as it is driver independant. To properly factorize WindowCreate we have to export 3 new functions from the graphics driver which are SetIconicState, SyncWindowStyle, SystrayDockWindow.
I'd suggest to leave ShowWindow in the driver's interface. You already have created 3 new entry points to replace its partial functionality, but still miss ShowWindow functionality for at least SW_RESTORE and SW_MAXIMIZE.
My patch is wrong, but I am not sure we should leave ShowWindow in the driver: It contains only Win32 calls (appart from WINPOS_MinMaximize), and is indeed a wrapper for SetWindowPos. And the exports are needed for CreateWindow, not ShowWindow. What makes me move ShowWindow in user is the call to WINPOS_MinMaximize which is shared with CreateWindow, and this one needs the SetIconicState.
Also did you run 'make test' after this patch?
I am sorry I missed that point which shows that my patch is wrong, thanks for pointing this to me. I'll try to fix that. Pierre.
"Pierre d'Herbemont" <pdherbemont(a)free.fr> wrote:
My patch is wrong, but I am not sure we should leave ShowWindow in the driver: It contains only Win32 calls (appart from WINPOS_MinMaximize), and is indeed a wrapper for SetWindowPos. And the exports are needed for CreateWindow, not ShowWindow.
What makes me move ShowWindow in user is the call to WINPOS_MinMaximize which is shared with CreateWindow, and this one needs the SetIconicState.
The problem is that for top level windows we need to route ShowWindow actions to a Window Manager/Host Windowing System, so that actions like minimize/maximize/restore would be properly handled. We don't do this at the moment, but we need to. -- Dmitry.
On 1 déc. 06, at 08:38, Dmitry Timoshkov wrote:
The problem is that for top level windows we need to route ShowWindow actions to a Window Manager/Host Windowing System, so that actions like minimize/maximize/restore would be properly handled. We don't do this at the moment, but we need to.
ok thanks, I got your point. Pierre.
participants (2)
-
Dmitry Timoshkov -
Pierre d'Herbemont