From: Jacek Caban jacek@codeweavers.com
--- dlls/user32/Makefile.in | 1 - dlls/user32/win.c | 228 +++++++++++++++++++++++++++++++++++ dlls/user32/winpos.c | 258 ---------------------------------------- 3 files changed, 228 insertions(+), 259 deletions(-) delete mode 100644 dlls/user32/winpos.c
diff --git a/dlls/user32/Makefile.in b/dlls/user32/Makefile.in index 1a29970e112..0cf2d575e87 100644 --- a/dlls/user32/Makefile.in +++ b/dlls/user32/Makefile.in @@ -42,7 +42,6 @@ C_SRCS = \ user_main.c \ win.c \ winhelp.c \ - winpos.c \ winproc.c \ winstation.c \ wsprintf.c diff --git a/dlls/user32/win.c b/dlls/user32/win.c index 150c334b9d8..28cf40441d9 100644 --- a/dlls/user32/win.c +++ b/dlls/user32/win.c @@ -648,6 +648,234 @@ UINT WINAPI GetDpiForWindow( HWND hwnd ) }
+/*********************************************************************** + * SwitchToThisWindow (USER32.@) + */ +void WINAPI SwitchToThisWindow( HWND hwnd, BOOL alt_tab ) +{ + if (IsIconic( hwnd )) NtUserShowWindow( hwnd, SW_RESTORE ); + else BringWindowToTop( hwnd ); +} + + +/*********************************************************************** + * GetWindowRect (USER32.@) + */ +BOOL WINAPI GetWindowRect( HWND hwnd, RECT *rect ) +{ + BOOL ret = NtUserGetWindowRect( hwnd, rect ); + if (ret) TRACE( "hwnd %p %s\n", hwnd, wine_dbgstr_rect(rect) ); + return ret; +} + + +/*********************************************************************** + * GetWindowRgn (USER32.@) + */ +int WINAPI GetWindowRgn( HWND hwnd, HRGN hrgn ) +{ + return NtUserGetWindowRgnEx( hwnd, hrgn, 0 ); +} + + +/*********************************************************************** + * GetWindowRgnBox (USER32.@) + */ +int WINAPI GetWindowRgnBox( HWND hwnd, RECT *rect ) +{ + int ret = ERROR; + HRGN hrgn; + + if (!rect) + return ERROR; + + if ((hrgn = CreateRectRgn( 0, 0, 0, 0 ))) + { + if ((ret = GetWindowRgn( hwnd, hrgn )) != ERROR ) + ret = GetRgnBox( hrgn, rect ); + DeleteObject( hrgn ); + } + + return ret; +} + + +/*********************************************************************** + * GetClientRect (USER32.@) + */ +BOOL WINAPI GetClientRect( HWND hwnd, RECT *rect ) +{ + return NtUserGetClientRect( hwnd, rect ); +} + + +/******************************************************************* + * WindowFromPoint (USER32.@) + */ +HWND WINAPI WindowFromPoint( POINT pt ) +{ + return NtUserWindowFromPoint( pt.x, pt.y ); +} + + +/******************************************************************* + * ChildWindowFromPoint (USER32.@) + */ +HWND WINAPI ChildWindowFromPoint( HWND parent, POINT pt ) +{ + return NtUserChildWindowFromPointEx( parent, pt.x, pt.y, CWP_ALL ); +} + +/******************************************************************* + * RealChildWindowFromPoint (USER32.@) + */ +HWND WINAPI RealChildWindowFromPoint( HWND parent, POINT pt ) +{ + return NtUserRealChildWindowFromPoint( parent, pt.x, pt.y ); +} + +/******************************************************************* + * ChildWindowFromPointEx (USER32.@) + */ +HWND WINAPI ChildWindowFromPointEx( HWND parent, POINT pt, UINT flags ) +{ + return NtUserChildWindowFromPointEx( parent, pt.x, pt.y, flags ); +} + + +/******************************************************************* + * MapWindowPoints (USER32.@) + */ +INT WINAPI MapWindowPoints( HWND hwnd_from, HWND hwnd_to, POINT *points, UINT count ) +{ + return NtUserMapWindowPoints( hwnd_from, hwnd_to, points, count ); +} + + +/******************************************************************* + * ClientToScreen (USER32.@) + */ +BOOL WINAPI ClientToScreen( HWND hwnd, POINT *pt ) +{ + return NtUserClientToScreen( hwnd, pt ); +} + + +/******************************************************************* + * ScreenToClient (USER32.@) + */ +BOOL WINAPI ScreenToClient( HWND hwnd, POINT *pt ) +{ + return NtUserScreenToClient( hwnd, pt ); +} + + +/*********************************************************************** + * IsIconic (USER32.@) + */ +BOOL WINAPI IsIconic( HWND hwnd ) +{ + return (GetWindowLongW( hwnd, GWL_STYLE ) & WS_MINIMIZE) != 0; +} + + +/*********************************************************************** + * IsZoomed (USER32.@) + */ +BOOL WINAPI IsZoomed( HWND hwnd ) +{ + return (GetWindowLongW( hwnd, GWL_STYLE ) & WS_MAXIMIZE) != 0; +} + + +/******************************************************************* + * AllowSetForegroundWindow (USER32.@) + */ +BOOL WINAPI AllowSetForegroundWindow( DWORD procid ) +{ + /* FIXME: If Win98/2000 style SetForegroundWindow behavior is + * implemented, then fix this function. */ + return TRUE; +} + + +/******************************************************************* + * LockSetForegroundWindow (USER32.@) + */ +BOOL WINAPI LockSetForegroundWindow( UINT lockcode ) +{ + /* FIXME: If Win98/2000 style SetForegroundWindow behavior is + * implemented, then fix this function. */ + return TRUE; +} + + +/*********************************************************************** + * BringWindowToTop (USER32.@) + */ +BOOL WINAPI BringWindowToTop( HWND hwnd ) +{ + return NtUserSetWindowPos( hwnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE ); +} + + +/*********************************************************************** + * AnimateWindow (USER32.@) + */ +BOOL WINAPI AnimateWindow( HWND hwnd, DWORD time, DWORD flags ) +{ + FIXME( "partial stub\n" ); + + /* If trying to show/hide and it's already shown/hidden or invalid window, + * fail with invalid parameter. */ + if (!IsWindow( hwnd ) || (!(flags & AW_HIDE)) == IsWindowVisible( hwnd )) + { + SetLastError(ERROR_INVALID_PARAMETER); + return FALSE; + } + + NtUserShowWindow( hwnd, (flags & AW_HIDE) ? SW_HIDE : ((flags & AW_ACTIVATE) ? SW_SHOW : SW_SHOWNA) ); + return TRUE; +} + + +/*********************************************************************** + * BeginDeferWindowPos (USER32.@) + */ +HDWP WINAPI BeginDeferWindowPos( INT count ) +{ + return NtUserBeginDeferWindowPos( count ); +} + + +/*********************************************************************** + * DeferWindowPos (USER32.@) + */ +HDWP WINAPI DeferWindowPos( HDWP hdwp, HWND hwnd, HWND after, INT x, INT y, + INT cx, INT cy, UINT flags ) +{ + return NtUserDeferWindowPosAndBand( hdwp, hwnd, after, x, y, cx, cy, flags, 0, 0 ); +} + + +/*********************************************************************** + * EndDeferWindowPos (USER32.@) + */ +BOOL WINAPI EndDeferWindowPos( HDWP hdwp ) +{ + return NtUserEndDeferWindowPosEx( hdwp, FALSE ); +} + + +/*********************************************************************** + * ArrangeIconicWindows (USER32.@) + */ +UINT WINAPI ArrangeIconicWindows( HWND parent ) +{ + return NtUserArrangeIconicWindows( parent ); +} + + /********************************************************************** * GetWindowWord (USER32.@) */ diff --git a/dlls/user32/winpos.c b/dlls/user32/winpos.c deleted file mode 100644 index 6e2c892f2b7..00000000000 --- a/dlls/user32/winpos.c +++ /dev/null @@ -1,258 +0,0 @@ -/* - * Window position related functions. - * - * Copyright 1993, 1994, 1995 Alexandre Julliard - * 1995, 1996, 1999 Alex Korobka - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "user_private.h" -#include "wine/debug.h" - -WINE_DEFAULT_DEBUG_CHANNEL(win); - - -/*********************************************************************** - * SwitchToThisWindow (USER32.@) - */ -void WINAPI SwitchToThisWindow( HWND hwnd, BOOL alt_tab ) -{ - if (IsIconic( hwnd )) NtUserShowWindow( hwnd, SW_RESTORE ); - else BringWindowToTop( hwnd ); -} - - -/*********************************************************************** - * GetWindowRect (USER32.@) - */ -BOOL WINAPI GetWindowRect( HWND hwnd, LPRECT rect ) -{ - BOOL ret = NtUserGetWindowRect( hwnd, rect ); - if (ret) TRACE( "hwnd %p %s\n", hwnd, wine_dbgstr_rect(rect) ); - return ret; -} - - -/*********************************************************************** - * GetWindowRgn (USER32.@) - */ -int WINAPI GetWindowRgn( HWND hwnd, HRGN hrgn ) -{ - return NtUserGetWindowRgnEx( hwnd, hrgn, 0 ); -} - -/*********************************************************************** - * GetWindowRgnBox (USER32.@) - */ -int WINAPI GetWindowRgnBox( HWND hwnd, LPRECT prect ) -{ - int ret = ERROR; - HRGN hrgn; - - if (!prect) - return ERROR; - - if ((hrgn = CreateRectRgn(0, 0, 0, 0))) - { - if ((ret = GetWindowRgn( hwnd, hrgn )) != ERROR ) - ret = GetRgnBox( hrgn, prect ); - DeleteObject(hrgn); - } - - return ret; -} - - -/*********************************************************************** - * GetClientRect (USER32.@) - */ -BOOL WINAPI GetClientRect( HWND hwnd, LPRECT rect ) -{ - return NtUserGetClientRect( hwnd, rect ); -} - - -/******************************************************************* - * WindowFromPoint (USER32.@) - */ -HWND WINAPI WindowFromPoint( POINT pt ) -{ - return NtUserWindowFromPoint( pt.x, pt.y ); -} - - -/******************************************************************* - * ChildWindowFromPoint (USER32.@) - */ -HWND WINAPI ChildWindowFromPoint( HWND parent, POINT pt ) -{ - return NtUserChildWindowFromPointEx( parent, pt.x, pt.y, CWP_ALL ); -} - -/******************************************************************* - * RealChildWindowFromPoint (USER32.@) - */ -HWND WINAPI RealChildWindowFromPoint( HWND parent, POINT pt ) -{ - return NtUserRealChildWindowFromPoint( parent, pt.x, pt.y ); -} - -/******************************************************************* - * ChildWindowFromPointEx (USER32.@) - */ -HWND WINAPI ChildWindowFromPointEx( HWND parent, POINT pt, UINT flags ) -{ - return NtUserChildWindowFromPointEx( parent, pt.x, pt.y, flags ); -} - - -/******************************************************************* - * MapWindowPoints (USER32.@) - */ -INT WINAPI MapWindowPoints( HWND hwnd_from, HWND hwnd_to, POINT *points, UINT count ) -{ - return NtUserMapWindowPoints( hwnd_from, hwnd_to, points, count ); -} - - -/******************************************************************* - * ClientToScreen (USER32.@) - */ -BOOL WINAPI ClientToScreen( HWND hwnd, POINT *pt ) -{ - return NtUserClientToScreen( hwnd, pt ); -} - - -/******************************************************************* - * ScreenToClient (USER32.@) - */ -BOOL WINAPI ScreenToClient( HWND hwnd, POINT *pt ) -{ - return NtUserScreenToClient( hwnd, pt ); -} - - -/*********************************************************************** - * IsIconic (USER32.@) - */ -BOOL WINAPI IsIconic(HWND hWnd) -{ - return (GetWindowLongW( hWnd, GWL_STYLE ) & WS_MINIMIZE) != 0; -} - - -/*********************************************************************** - * IsZoomed (USER32.@) - */ -BOOL WINAPI IsZoomed(HWND hWnd) -{ - return (GetWindowLongW( hWnd, GWL_STYLE ) & WS_MAXIMIZE) != 0; -} - - -/******************************************************************* - * AllowSetForegroundWindow (USER32.@) - */ -BOOL WINAPI AllowSetForegroundWindow( DWORD procid ) -{ - /* FIXME: If Win98/2000 style SetForegroundWindow behavior is - * implemented, then fix this function. */ - return TRUE; -} - - -/******************************************************************* - * LockSetForegroundWindow (USER32.@) - */ -BOOL WINAPI LockSetForegroundWindow( UINT lockcode ) -{ - /* FIXME: If Win98/2000 style SetForegroundWindow behavior is - * implemented, then fix this function. */ - return TRUE; -} - - -/*********************************************************************** - * BringWindowToTop (USER32.@) - */ -BOOL WINAPI BringWindowToTop( HWND hwnd ) -{ - return NtUserSetWindowPos( hwnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE ); -} - - -/*********************************************************************** - * AnimateWindow (USER32.@) - * Shows/Hides a window with an animation - * NO ANIMATION YET - */ -BOOL WINAPI AnimateWindow(HWND hwnd, DWORD dwTime, DWORD dwFlags) -{ - FIXME("partial stub\n"); - - /* If trying to show/hide and it's already * - * shown/hidden or invalid window, fail with * - * invalid parameter */ - if(!IsWindow(hwnd) || - (IsWindowVisible(hwnd) && !(dwFlags & AW_HIDE)) || - (!IsWindowVisible(hwnd) && (dwFlags & AW_HIDE))) - { - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - } - - NtUserShowWindow( hwnd, (dwFlags & AW_HIDE) ? SW_HIDE : ((dwFlags & AW_ACTIVATE) ? SW_SHOW : SW_SHOWNA) ); - - return TRUE; -} - - -/*********************************************************************** - * BeginDeferWindowPos (USER32.@) - */ -HDWP WINAPI BeginDeferWindowPos( INT count ) -{ - return NtUserBeginDeferWindowPos( count ); -} - - -/*********************************************************************** - * DeferWindowPos (USER32.@) - */ -HDWP WINAPI DeferWindowPos( HDWP hdwp, HWND hwnd, HWND after, INT x, INT y, - INT cx, INT cy, UINT flags ) -{ - return NtUserDeferWindowPosAndBand( hdwp, hwnd, after, x, y, cx, cy, flags, 0, 0 ); -} - - -/*********************************************************************** - * EndDeferWindowPos (USER32.@) - */ -BOOL WINAPI EndDeferWindowPos( HDWP hdwp ) -{ - return NtUserEndDeferWindowPosEx( hdwp, FALSE ); -} - - -/*********************************************************************** - * ArrangeIconicWindows (USER32.@) - */ -UINT WINAPI ArrangeIconicWindows( HWND parent ) -{ - return NtUserArrangeIconicWindows( parent ); -}