Author: fireball
Date: Mon Aug 24 18:47:13 2009
New Revision: 42914
URL:
http://svn.reactos.org/svn/reactos?rev=42914&view=rev
Log:
- Update zorder when switching focus from one window to another, and when a windows
becomes visible. Not quite there yet - window's contents is not being repainted if
needed, but switching between windows is much better now.
- Remove unneeded magic from NTDRV.
Modified:
branches/arwinss/reactos/dll/win32/winent.drv/userdrv.c
Modified: branches/arwinss/reactos/dll/win32/winent.drv/userdrv.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winen…
==============================================================================
--- branches/arwinss/reactos/dll/win32/winent.drv/userdrv.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/dll/win32/winent.drv/userdrv.c [iso-8859-1] Mon Aug 24
18:47:13 2009
@@ -708,12 +708,25 @@
void CDECL RosDrv_SetCapture( HWND hwnd, UINT flags )
{
- UNIMPLEMENTED;
+ if (!(flags & (GUI_INMOVESIZE | GUI_INMENUMODE))) return;
+
+ if (hwnd)
+ {
+ /* Capturing */
+ FIXME("Capture set for hwnd %x\n", hwnd);
+ }
+ else
+ {
+ FIXME("Capture released\n");
+ }
}
void CDECL RosDrv_SetFocus( HWND hwnd )
{
- UNIMPLEMENTED;
+ RECT rc;
+ //UNIMPLEMENTED;
+ GetWindowRect(hwnd, &rc);
+ RosDrv_UpdateZOrder(hwnd, &rc);
}
void CDECL RosDrv_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alpha, DWORD
flags )
@@ -774,19 +787,10 @@
UINT CDECL RosDrv_ShowWindow( HWND hwnd, INT cmd, RECT *rect, UINT swp )
{
- /*int x, y;
- unsigned int width, height;*/
- DWORD style = GetWindowLongW( hwnd, GWL_STYLE );
-
- if (style & WS_MINIMIZE) return swp;
- if (IsRectEmpty( rect )) return swp;
-
- /* only fetch the new rectangle if the ShowWindow was a result of a window manager
event */
-
TRACE( "win %p cmd %d at %s flags %08x\n",
hwnd, cmd, wine_dbgstr_rect(rect), swp );
- return swp & ~(SWP_NOMOVE | SWP_NOCLIENTMOVE | SWP_NOSIZE | SWP_NOCLIENTSIZE);
+ return swp;
}
LRESULT CDECL RosDrv_SysCommand( HWND hwnd, WPARAM wparam, LPARAM lparam )