2008-07-13 23:31:00 +00:00
|
|
|
/*
|
|
|
|
* COPYRIGHT: See COPYING in the top level directory
|
|
|
|
* PROJECT: ReactOS kernel
|
|
|
|
* PURPOSE: Misc User funcs
|
|
|
|
* FILE: subsystem/win32/win32k/ntuser/defwnd.c
|
|
|
|
* PROGRAMER:
|
|
|
|
* REVISION HISTORY:
|
|
|
|
* 2003/05/22 Created
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <w32k.h>
|
|
|
|
|
|
|
|
#define NDEBUG
|
|
|
|
#include <debug.h>
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
Win32k counterpart of User DefWindowProc
|
|
|
|
*/
|
|
|
|
LRESULT FASTCALL
|
|
|
|
IntDefWindowProc(
|
|
|
|
PWINDOW_OBJECT Window,
|
|
|
|
UINT Msg,
|
|
|
|
WPARAM wParam,
|
|
|
|
LPARAM lParam)
|
|
|
|
{
|
|
|
|
PWINDOW Wnd;
|
|
|
|
|
|
|
|
if (Msg > WM_USER) return 0;
|
|
|
|
|
|
|
|
Wnd = Window->Wnd;
|
|
|
|
if (!Wnd) return 0;
|
|
|
|
|
|
|
|
switch (Msg)
|
|
|
|
{
|
|
|
|
case WM_SHOWWINDOW:
|
|
|
|
{
|
|
|
|
if ((Wnd->Style & WS_VISIBLE) && wParam) break;
|
|
|
|
if (!(Wnd->Style & WS_VISIBLE) && !wParam) break;
|
|
|
|
if (!Window->hOwner) break;
|
|
|
|
if (LOWORD(lParam))
|
|
|
|
{
|
|
|
|
if (wParam)
|
|
|
|
{
|
|
|
|
if (!(Window->Flags & WIN_NEEDS_SHOW_OWNEDPOPUP)) break;
|
|
|
|
Window->Flags &= ~WIN_NEEDS_SHOW_OWNEDPOPUP;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
Window->Flags |= WIN_NEEDS_SHOW_OWNEDPOPUP;
|
|
|
|
|
|
|
|
co_WinPosShowWindow(Window, wParam ? SW_SHOWNOACTIVATE : SW_HIDE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2008-07-16 02:06:05 +00:00
|
|
|
return 0;
|
2008-07-13 23:31:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* EOF */
|