mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 04:13:34 +00:00
Implemented UpdateWindow()
svn path=/trunk/; revision=4427
This commit is contained in:
@@ -529,6 +529,7 @@ NtUserUnregisterClass 3
|
||||
NtUserUnregisterHotKey 2
|
||||
NtUserUpdateInputContext 3
|
||||
NtUserUpdateInstance 3
|
||||
NtUserUpdateWindow 1
|
||||
NtUserUpdateLayeredWindow 9
|
||||
NtUserUpdatePerUserSystemParameters 2
|
||||
NtUserUserHandleGrantAccess 3
|
||||
|
||||
@@ -1640,6 +1640,9 @@ NtUserUpdateInstance(
|
||||
DWORD Unknown1,
|
||||
DWORD Unknown2);
|
||||
|
||||
BOOL STDCALL
|
||||
NtUserUpdateWindow( HWND hWnd );
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserUpdateLayeredWindow(
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: paint.c,v 1.10 2003/03/18 09:16:44 gvg Exp $
|
||||
/* $Id: paint.c,v 1.11 2003/03/24 23:08:51 rcampbell Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/input.c
|
||||
@@ -144,7 +144,7 @@ STDCALL
|
||||
UpdateWindow(
|
||||
HWND hWnd)
|
||||
{
|
||||
return FALSE;
|
||||
return NtUserUpdateWindow( hWnd );
|
||||
}
|
||||
WINBOOL
|
||||
STDCALL
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $Id: window.c,v 1.38 2003/03/24 01:36:10 rcampbell Exp $
|
||||
/* $Id: window.c,v 1.39 2003/03/24 23:08:51 rcampbell Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
@@ -851,41 +851,17 @@ NtUserMoveWindow(
|
||||
uExStyle = Window->ExStyle;
|
||||
pWinPos.hwnd = hWnd;
|
||||
|
||||
/* FIXME: Is this the correct behavior? */
|
||||
if (X)
|
||||
{
|
||||
pWinPos.x = X;
|
||||
}
|
||||
else
|
||||
{
|
||||
pWinPos.x = Window->WindowRect.left;
|
||||
}
|
||||
if (Y)
|
||||
{
|
||||
pWinPos.y = Y;
|
||||
}
|
||||
else
|
||||
{
|
||||
pWinPos.y = Window->WindowRect.top;
|
||||
}
|
||||
|
||||
if (nWidth)
|
||||
{
|
||||
pWinPos.x = X;
|
||||
pWinPos.y = Y;
|
||||
if (nWidth > NtUserGetSystemMetrics(SM_CXMIN))
|
||||
pWinPos.cx = pWinPos.x + nWidth;
|
||||
}
|
||||
else
|
||||
{
|
||||
pWinPos.cx = pWinPos.x + (Window->WindowRect.right - Window->WindowRect.left);
|
||||
}
|
||||
if (nHeight)
|
||||
{
|
||||
pWinPos.cy = pWinPos.y + nHeight;
|
||||
}
|
||||
pWinPos.cx = pWinPos.x + NtUserGetSystemMetrics(SM_CXMIN);
|
||||
|
||||
if (nHeight > NtUserGetSystemMetrics(SM_CYMIN))
|
||||
pWinPos.cy = pWinPos.x + nHeight;
|
||||
else
|
||||
{
|
||||
pWinPos.cy = pWinPos.y + (Window->WindowRect.bottom - Window->WindowRect.top);
|
||||
}
|
||||
|
||||
pWinPos.cy = pWinPos.y + NtUserGetSystemMetrics(SM_CYMIN);
|
||||
NtUserSendMessage(hWnd, WM_WINDOWPOSCHANGING, 0, (LPARAM)&pWinPos);
|
||||
|
||||
Window->WindowRect.top = Window->ClientRect.top = pWinPos.y;
|
||||
@@ -901,7 +877,7 @@ NtUserMoveWindow(
|
||||
Window->ClientRect.right -= NtUserGetSystemMetrics(SM_CXSIZEFRAME);
|
||||
}
|
||||
if (uStyle & WS_CAPTION)
|
||||
Window->ClientRect.top += NtUserGetSystemMetrics(SM_CYCAPTION) + 1;
|
||||
Window->ClientRect.top += NtUserGetSystemMetrics(SM_CYCAPTION);
|
||||
if ( Window->Class->Class.lpszMenuName)
|
||||
{
|
||||
Window->ClientRect.top += NtUserGetSystemMetrics(SM_CYMENU);
|
||||
@@ -1175,6 +1151,18 @@ NtUserShowWindowAsync(DWORD Unknown0,
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL STDCALL NtUserUpdateWindow( HWND hWnd )
|
||||
{
|
||||
PWINDOW_OBJECT pWindow = W32kGetWindowObject( hWnd);
|
||||
|
||||
if (!pWindow)
|
||||
return FALSE;
|
||||
if (pWindow->UpdateRegion)
|
||||
NtUserSendMessage( hWnd, WM_PAINT,0,0);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
DWORD STDCALL
|
||||
NtUserUpdateLayeredWindow(DWORD Unknown0,
|
||||
DWORD Unknown1,
|
||||
|
||||
Reference in New Issue
Block a user