GetClientRect implementation by Tim Jobling

svn path=/trunk/; revision=4251
This commit is contained in:
Gé van Geldorp 2003-03-06 21:03:49 +00:00
parent 5d28d9704c
commit 63d294b58a
4 changed files with 28 additions and 3 deletions

View file

@ -359,6 +359,7 @@ NtUserGetClassInfo 5
NtUserGetClassLong 2 NtUserGetClassLong 2
NtUserGetClassName 3 NtUserGetClassName 3
NtUserGetClientOrigin 2 NtUserGetClientOrigin 2
NtUserGetClientRect 2
NtUserGetClipboardData 2 NtUserGetClipboardData 2
NtUserGetClipboardFormatName 3 NtUserGetClipboardFormatName 3
NtUserGetClipboardOwner 0 NtUserGetClipboardOwner 0

View file

@ -11,6 +11,8 @@ INT STDCALL
NtUserReleaseDC(HWND hWnd, HDC hDc); NtUserReleaseDC(HWND hWnd, HDC hDc);
BOOL STDCALL BOOL STDCALL
NtUserGetWindowRect(HWND hWnd, LPRECT Rect); NtUserGetWindowRect(HWND hWnd, LPRECT Rect);
BOOL STDCALL
NtUserGetClientRect(HWND hWnd, LPRECT Rect);
HANDLE STDCALL HANDLE STDCALL
NtUserGetProp(HWND hWnd, ATOM Atom); NtUserGetProp(HWND hWnd, ATOM Atom);
BOOL STDCALL BOOL STDCALL

View file

@ -1,4 +1,4 @@
/* $Id: window.c,v 1.17 2003/03/04 22:34:48 rcampbell Exp $ /* $Id: window.c,v 1.18 2003/03/06 21:03:49 gvg Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS user32.dll * PROJECT: ReactOS user32.dll
@ -577,7 +577,7 @@ GetAncestor(HWND hwnd, UINT gaFlags)
WINBOOL STDCALL WINBOOL STDCALL
GetClientRect(HWND hWnd, LPRECT lpRect) GetClientRect(HWND hWnd, LPRECT lpRect)
{ {
return FALSE; return(NtUserGetClientRect(hWnd, lpRect));
} }
HWND STDCALL HWND STDCALL

View file

@ -1,4 +1,4 @@
/* $Id: window.c,v 1.23 2003/03/04 00:39:56 rcampbell Exp $ /* $Id: window.c,v 1.24 2003/03/06 21:03:49 gvg Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -11,6 +11,7 @@
/* INCLUDES ******************************************************************/ /* INCLUDES ******************************************************************/
#include <ddk/ntddk.h> #include <ddk/ntddk.h>
#include <internal/safe.h>
#include <win32k/win32k.h> #include <win32k/win32k.h>
#include <include/object.h> #include <include/object.h>
#include <include/guicheck.h> #include <include/guicheck.h>
@ -189,6 +190,27 @@ NtUserGetWindowRect(HWND hWnd, LPRECT Rect)
return(W32kGetWindowRect(hWnd, Rect)); return(W32kGetWindowRect(hWnd, Rect));
} }
BOOL STDCALL
NtUserGetClientRect(HWND hWnd, LPRECT Rect)
{
PWINDOW_OBJECT WindowObject;
RECT SafeRect;
WindowObject = W32kGetWindowObject(hWnd);
if (WindowObject == NULL)
{
return(FALSE);
}
W32kGetClientRect(WindowObject, &SafeRect);
if (! NT_SUCCESS(MmCopyToCaller(Rect, &SafeRect, sizeof(RECT))))
{
return(FALSE);
}
W32kReleaseWindowObject(WindowObject);
return(TRUE);
}
HWND HWND
W32kGetActiveWindow(VOID) W32kGetActiveWindow(VOID)
{ {