mirror of
https://github.com/reactos/reactos.git
synced 2024-12-31 19:42:51 +00:00
[Win32k]
- Move function out of the stub file. svn path=/trunk/; revision=53450
This commit is contained in:
parent
d18d487420
commit
b9ae58dc0d
5 changed files with 108 additions and 107 deletions
|
@ -14,6 +14,8 @@ typedef struct _WINDOW_OBJECT *PWINDOW_OBJECT;
|
|||
|
||||
extern ATOM AtomMessage;
|
||||
extern ATOM AtomWndObj; /* WNDOBJ list */
|
||||
extern ATOM AtomLayer;
|
||||
extern ATOM AtomFlashWndState;
|
||||
|
||||
BOOL FASTCALL UserUpdateUiState(PWND Wnd, WPARAM wParam);
|
||||
|
||||
|
|
|
@ -744,54 +744,6 @@ NtUserHardErrorControl(
|
|||
return 0;
|
||||
}
|
||||
|
||||
DWORD
|
||||
APIENTRY
|
||||
NtUserMinMaximize(
|
||||
HWND hWnd,
|
||||
UINT cmd, // Wine SW_ commands
|
||||
BOOL Hide)
|
||||
{
|
||||
RECTL NewPos;
|
||||
UINT SwFlags;
|
||||
PWND pWnd;
|
||||
|
||||
TRACE("Enter NtUserMinMaximize\n");
|
||||
UserEnterExclusive();
|
||||
|
||||
pWnd = UserGetWindowObject(hWnd);
|
||||
if ( !pWnd || // FIXME:
|
||||
pWnd == IntGetDesktopWindow() || // pWnd->fnid == FNID_DESKTOP
|
||||
pWnd == IntGetMessageWindow() ) // pWnd->fnid == FNID_MESSAGEWND
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
if ( cmd > SW_MAX || pWnd->state2 & WNDS2_INDESTROY)
|
||||
{
|
||||
EngSetLastError(ERROR_INVALID_PARAMETER);
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
co_WinPosMinMaximize(pWnd, cmd, &NewPos);
|
||||
|
||||
SwFlags = Hide ? SWP_NOACTIVATE|SWP_NOZORDER|SWP_FRAMECHANGED : SWP_NOZORDER|SWP_FRAMECHANGED;
|
||||
|
||||
co_WinPosSetWindowPos( pWnd,
|
||||
NULL,
|
||||
NewPos.left,
|
||||
NewPos.top,
|
||||
NewPos.right,
|
||||
NewPos.bottom,
|
||||
SwFlags);
|
||||
|
||||
co_WinPosShowWindow(pWnd, cmd);
|
||||
|
||||
Exit:
|
||||
TRACE("Leave NtUserMinMaximize\n");
|
||||
UserLeave();
|
||||
return 0; // Always NULL?
|
||||
}
|
||||
|
||||
DWORD
|
||||
APIENTRY
|
||||
NtUserNotifyProcessCreate(
|
||||
|
@ -1055,23 +1007,6 @@ NtUserGetLayeredWindowAttributes(
|
|||
return 0;
|
||||
}
|
||||
|
||||
BOOL
|
||||
APIENTRY
|
||||
NtUserValidateTimerCallback(
|
||||
HWND hWnd,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
BOOL Ret = FALSE;
|
||||
|
||||
UserEnterShared();
|
||||
|
||||
Ret = ValidateTimerCallback(PsGetCurrentThreadWin32Thread(), lParam);
|
||||
|
||||
UserLeave();
|
||||
return Ret;
|
||||
}
|
||||
|
||||
DWORD
|
||||
APIENTRY
|
||||
NtUserRemoteConnect(
|
||||
|
@ -1156,48 +1091,6 @@ NtUserFillWindow(HWND hWndPaint,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
BOOL APIENTRY
|
||||
NtUserFlashWindowEx(IN PFLASHWINFO pfwi)
|
||||
{
|
||||
PWND pWnd;
|
||||
FLASHWINFO finfo = {0};
|
||||
BOOL Ret = TRUE;
|
||||
|
||||
UserEnterExclusive();
|
||||
|
||||
_SEH2_TRY
|
||||
{
|
||||
ProbeForRead(pfwi, sizeof(FLASHWINFO), sizeof(ULONG));
|
||||
RtlCopyMemory(&finfo, pfwi, sizeof(FLASHWINFO));
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
SetLastNtError(_SEH2_GetExceptionCode());
|
||||
Ret = FALSE;
|
||||
}
|
||||
_SEH2_END
|
||||
|
||||
if (!Ret) goto Exit;
|
||||
|
||||
if (!(pWnd = (PWND)UserGetObject(gHandleTable, finfo.hwnd, otWindow)) ||
|
||||
finfo.cbSize != sizeof(FLASHWINFO) ||
|
||||
finfo.dwFlags & ~(FLASHW_ALL|FLASHW_TIMER|FLASHW_TIMERNOFG) )
|
||||
{
|
||||
EngSetLastError(ERROR_INVALID_PARAMETER);
|
||||
Ret = FALSE;
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
//Ret = IntFlashWindowEx(pWnd, &finfo);
|
||||
|
||||
Exit:
|
||||
UserLeave();
|
||||
return Ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
|
|
|
@ -951,6 +951,47 @@ CLEANUP:
|
|||
END_CLEANUP;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
BOOL APIENTRY
|
||||
NtUserFlashWindowEx(IN PFLASHWINFO pfwi)
|
||||
{
|
||||
PWND pWnd;
|
||||
FLASHWINFO finfo = {0};
|
||||
BOOL Ret = TRUE;
|
||||
|
||||
UserEnterExclusive();
|
||||
|
||||
_SEH2_TRY
|
||||
{
|
||||
ProbeForRead(pfwi, sizeof(FLASHWINFO), sizeof(ULONG));
|
||||
RtlCopyMemory(&finfo, pfwi, sizeof(FLASHWINFO));
|
||||
}
|
||||
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
SetLastNtError(_SEH2_GetExceptionCode());
|
||||
Ret = FALSE;
|
||||
}
|
||||
_SEH2_END
|
||||
|
||||
if (!Ret) goto Exit;
|
||||
|
||||
if (!(pWnd = (PWND)UserGetObject(gHandleTable, finfo.hwnd, otWindow)) ||
|
||||
finfo.cbSize != sizeof(FLASHWINFO) ||
|
||||
finfo.dwFlags & ~(FLASHW_ALL|FLASHW_TIMER|FLASHW_TIMERNOFG) )
|
||||
{
|
||||
EngSetLastError(ERROR_INVALID_PARAMETER);
|
||||
Ret = FALSE;
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
//Ret = IntFlashWindowEx(pWnd, &finfo);
|
||||
|
||||
Exit:
|
||||
UserLeave();
|
||||
return Ret;
|
||||
}
|
||||
|
||||
INT FASTCALL
|
||||
co_UserGetUpdateRgn(PWND Window, HRGN hRgn, BOOL bErase)
|
||||
|
|
|
@ -684,5 +684,22 @@ CLEANUP:
|
|||
END_CLEANUP;
|
||||
}
|
||||
|
||||
BOOL
|
||||
APIENTRY
|
||||
NtUserValidateTimerCallback(
|
||||
HWND hWnd,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
BOOL Ret = FALSE;
|
||||
|
||||
UserEnterShared();
|
||||
|
||||
Ret = ValidateTimerCallback(PsGetCurrentThreadWin32Thread(), lParam);
|
||||
|
||||
UserLeave();
|
||||
return Ret;
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -1944,6 +1944,54 @@ Exit:
|
|||
return Ret;
|
||||
}
|
||||
|
||||
DWORD
|
||||
APIENTRY
|
||||
NtUserMinMaximize(
|
||||
HWND hWnd,
|
||||
UINT cmd, // Wine SW_ commands
|
||||
BOOL Hide)
|
||||
{
|
||||
RECTL NewPos;
|
||||
UINT SwFlags;
|
||||
PWND pWnd;
|
||||
|
||||
TRACE("Enter NtUserMinMaximize\n");
|
||||
UserEnterExclusive();
|
||||
|
||||
pWnd = UserGetWindowObject(hWnd);
|
||||
if ( !pWnd || // FIXME:
|
||||
pWnd == IntGetDesktopWindow() || // pWnd->fnid == FNID_DESKTOP
|
||||
pWnd == IntGetMessageWindow() ) // pWnd->fnid == FNID_MESSAGEWND
|
||||
{
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
if ( cmd > SW_MAX || pWnd->state2 & WNDS2_INDESTROY)
|
||||
{
|
||||
EngSetLastError(ERROR_INVALID_PARAMETER);
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
co_WinPosMinMaximize(pWnd, cmd, &NewPos);
|
||||
|
||||
SwFlags = Hide ? SWP_NOACTIVATE|SWP_NOZORDER|SWP_FRAMECHANGED : SWP_NOZORDER|SWP_FRAMECHANGED;
|
||||
|
||||
co_WinPosSetWindowPos( pWnd,
|
||||
NULL,
|
||||
NewPos.left,
|
||||
NewPos.top,
|
||||
NewPos.right,
|
||||
NewPos.bottom,
|
||||
SwFlags);
|
||||
|
||||
co_WinPosShowWindow(pWnd, cmd);
|
||||
|
||||
Exit:
|
||||
TRACE("Leave NtUserMinMaximize\n");
|
||||
UserLeave();
|
||||
return 0; // Always NULL?
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue