15#define MINMAX_NOSWP (0x00010000)
17#define SWP_EX_NOCOPY 0x0001
18#define SWP_EX_PAINTSELF 0x0002
20#define SWP_AGG_NOGEOMETRYCHANGE \
21 (SWP_NOSIZE | SWP_NOCLIENTSIZE | SWP_NOZORDER)
22#define SWP_AGG_NOPOSCHANGE \
23 (SWP_NOSIZE | SWP_NOMOVE | SWP_NOCLIENTSIZE | SWP_NOCLIENTMOVE | SWP_NOZORDER)
24#define SWP_AGG_STATUSFLAGS \
25 (SWP_AGG_NOPOSCHANGE | SWP_FRAMECHANGED | SWP_HIDEWINDOW | SWP_SHOWWINDOW)
26#define SWP_AGG_NOCLIENTCHANGE \
27 (SWP_NOCLIENTSIZE | SWP_NOCLIENTMOVE)
29#define EMPTYPOINT(pt) ((pt).x == -1 && (pt).y == -1)
30#define PLACE_MIN 0x0001
31#define PLACE_MAX 0x0002
32#define PLACE_RECT 0x0004
125 if (!Wnd)
return FALSE;
146 BOOL mirror_from, mirror_to;
152 Delta.
x = Delta.
y = 0;
153 mirror_from = mirror_to =
FALSE;
181 for (
i = 0;
i != cPoints;
i++)
183 lpPoints[
i].
x += Delta.
x;
184 lpPoints[
i].
x *= Change;
185 lpPoints[
i].
y += Delta.
y;
188 if ((mirror_from || mirror_to) && cPoints == 2)
190 int tmp =
min(lpPoints[0].
x, lpPoints[1].
x);
191 lpPoints[1].
x =
max(lpPoints[0].
x, lpPoints[1].
x);
278 Window->hrgnClip = hRgnClip;
287 BOOL ActivePrev, FindTopWnd;
288 PWND pWndTopMost, pWndChild, pWndSetActive, pWndTemp, pWndDesk;
306 pWndSetActive = pWndChild;
326 if (!pWndTemp ) pWndTemp = pWndSetActive;
331 pWndSetActive = pWndChild;
334 pWndSetActive = pWndSetActive->
spwndNext;
337 if ( !FindTopWnd )
break;
354 if ((pWndSetActive = pWndTemp))
377 if (!Wnd)
return FALSE;
414 TRACE(
"WPAOW Popup with Owner\n");
434 WndTo = Wnd->
head.pti->MessageQueue->spwndActivePrev;
532 WorkArea = pmonitor->
rcWork;
566 if (!Wnd)
return FALSE;
570 ERR(
"length mismatch: %u\n", lpwndpl->
length);
635 if (!pmonitor)
return;
741 INT x,
y, xspacing, yspacing, sx, sy;
765 Child->InternalPos.IconPos.x = sx;
766 Child->InternalPos.IconPos.y = sy;
773 if (
x <= rectParent.
right - xspacing)
790 PWND pwndChild, pwndParent;
791 int x,
y, xspacing, yspacing;
793 pwndParent =
Window->spwndParent;
796 ERR(
"FIXME: Parent is Desktop, Min off screen!\n");
820 if (pwndChild ==
Window)
continue;
831 if (
x <= rectParent.
right - xspacing)
845 TRACE(
"Position is set! X:%d Y:%d\n",
Pos->x,
Pos->y);
961 adjustedStyle =
style & ~WS_BORDER;
963 adjustedStyle =
style;
974 xinc = yinc = adjust;
1020 rc_work = monitor->
rcWork;
1040 Window->state &= ~WNDS_MAXIMIZESTOMONITOR;
1089 if (ClientRect->
left < WindowRect->
left)
1091 ClientRect->
left = WindowRect->
left;
1093 else if (WindowRect->
right < ClientRect->
left)
1097 if (ClientRect->
right < WindowRect->
left)
1101 else if (WindowRect->
right < ClientRect->
right)
1105 if (ClientRect->
top < WindowRect->
top)
1107 ClientRect->
top = WindowRect->
top;
1109 else if (WindowRect->
bottom < ClientRect->
top)
1113 if (ClientRect->
bottom < WindowRect->
top)
1154 valid[0] = *new_client;
1155 valid[1] = *old_client;
1199 params.rgrc[0] = *WindowRect;
1211 params.lppos = &winposCopy;
1212 winposCopy = *WinPos;
1220 *ClientRect =
params.rgrc[0];
1228 if (ClientRect->
left !=
Window->rcClient.left ||
1229 ClientRect->
top !=
Window->rcClient.top)
1231 WinPos->
flags &= ~SWP_NOCLIENTMOVE;
1236 WinPos->
flags &= ~SWP_NOCLIENTSIZE;
1239 wvrFlags &= ~WVR_HREDRAW;
1243 WinPos->
flags &= ~SWP_NOCLIENTSIZE;
1246 wvrFlags &= ~WVR_VREDRAW;
1248 validRects[0] =
params.rgrc[1];
1249 validRects[1] =
params.rgrc[2];
1254 (ClientRect->
left !=
Window->rcClient.left ||
1255 ClientRect->
top !=
Window->rcClient.top))
1257 WinPos->
flags &= ~SWP_NOCLIENTMOVE;
1291 *WindowRect =
Window->rcWindow;
1303 WindowRect->
right = WindowRect->
left + WinPos->
cx;
1304 WindowRect->
bottom = WindowRect->
top + WinPos->
cy;
1322 TRACE(
"Not SWP_NOMOVE 1 Parent client offset X %d Y %d\n",
X,
Y);
1325 TRACE(
"Not SWP_NOMOVE 2 Parent client offset X %d Y %d\n",
X,
Y);
1328 WindowRect->
left =
X;
1329 WindowRect->
top =
Y;
1338 TRACE(
"hwnd %p, after %p, swp %d,%d %dx%d flags %08x\n",
1340 WinPos->
cx, WinPos->
cy, WinPos->
flags );
1366 PWND DesktopWindow, ChildObject;
1369 TRACE(
"(%p) hInsertAfter = %p\n",
Window, hWndInsertAfter );
1375 TRACE(
"Window is child\n");
1376 return hWndInsertAfter;
1418 hWndInsertAfter =
List[
i - 1];
1425 return hWndInsertAfter;
1437 if (!topmost)
break;
1439 else if (
List[
i] == hWndInsertAfter)
break;
1443 return hWndInsertAfter;
1449 ERR(
"Window is HWND_BOTTOM hwnd %p\n",hWndInsertAfter);
1468 TRACE(
"skip all the topmost windows\n");
1480 if (
List[
i] == hWndInsertAfter)
break;
1510 hWndInsertAfter =
List[
i];
1515 return hWndInsertAfter;
1532 TRACE(
"InternalMoveWin X %d Y %d\n", MoveX, MoveY);
1534 Window->rcWindow.left += MoveX;
1535 Window->rcWindow.right += MoveX;
1536 Window->rcWindow.top += MoveY;
1537 Window->rcWindow.bottom += MoveY;
1539 Window->rcClient.left += MoveX;
1540 Window->rcClient.right += MoveX;
1541 Window->rcClient.top += MoveY;
1542 Window->rcClient.bottom += MoveY;
1563 if (WinPos->
x < -32768) WinPos->
x = -32768;
1564 else if (WinPos->
x > 32767) WinPos->
x = 32767;
1565 if (WinPos->
y < -32768) WinPos->
y = -32768;
1566 else if (WinPos->
y > 32767) WinPos->
y = 32767;
1568 WinPos->
cx =
max(WinPos->
cx, 0);
1569 WinPos->
cy =
max(WinPos->
cy, 0);
1579 WinPos->
flags &= ~SWP_HIDEWINDOW;
1593 TRACE(
"WPFU C2S wpx %d wpy %d ptx %d pty %d\n",WinPos->
x,WinPos->
y,
pt.x,
pt.y);
1608 WinPos->
flags &= ~SWP_NOZORDER;
1774 if (pwndNode ==
NULL ||
1794 HWND WndInsertAfter,
1803 RECTL NewWindowRect;
1804 RECTL NewClientRect;
1805 RECTL valid_rects[2];
1811 RECTL OldWindowRect, OldClientRect;
1816 BOOL bPointerInWindow, PosChanged =
FALSE;
1821 TRACE(
"pwnd %p, after %p, %d,%d (%dx%d), flags 0x%x\n",
1824 dump_winpos_flags(
flags);
1845 WinPos.
flags &= ~SWP_ASYNCWINDOWPOS;
1865 TRACE(
"WinPosSetWindowPos: Invalid handle 0x%p!\n",WinPos.
hwnd);
1895 if ( VisBefore !=
NULL &&
1912 if ( VisBeforeJustClient !=
NULL &&
1916 VisBeforeJustClient =
NULL;
1918 else if(VisBeforeJustClient)
1927 if (
Window->hrgnNewFrame)
1945 OldWindowRect =
Window->rcWindow;
1946 OldClientRect =
Window->rcClient;
1948 if (NewClientRect.
left != OldClientRect.
left ||
1949 NewClientRect.
top != OldClientRect.
top)
1953 NewClientRect.
left - OldClientRect.
left,
1954 NewClientRect.
top - OldClientRect.
top);
1958 Window->rcWindow = NewWindowRect;
1959 Window->rcClient = NewClientRect;
1973 Window->style &= ~WS_VISIBLE;
1974 Window->head.pti->cVisWindows--;
2001 Window->head.pti->cVisWindows++;
2012 NewWindowRect.
left - OldWindowRect.
left,
2013 NewWindowRect.
top - OldWindowRect.
top);
2032 (OldWindowRect.
right - OldWindowRect.
left) != (NewWindowRect.
right - NewWindowRect.
left) ||
2033 (OldWindowRect.
bottom - OldWindowRect.
top) != (NewWindowRect.
bottom - NewWindowRect.
top)))
2046 if ( VisAfter !=
NULL &&
2074 if (VisBefore !=
NULL &&
2093 else if (VisBeforeJustClient !=
NULL)
2122 else if ( OldWindowRect.
left != NewWindowRect.
left ||
2123 OldWindowRect.
top != NewWindowRect.
top ||
2166 if (VisAfter !=
NULL)
2213 TRACE(
"SWP_FRAMECHANGED win child %p Parent %p\n",pwnd,
Parent);
2232 TRACE(
"SWP_FRAMECHANGED win %p hRgn %p\n",pwnd, DcRgn);
2246 if (VisBefore !=
NULL)
2253 OldWindowRect.
left - NewWindowRect.
left,
2254 OldWindowRect.
top - NewWindowRect.
top);
2256 if (VisAfter !=
NULL)
2303 if ( VisBefore ==
NULL &&
2304 VisBeforeJustClient ==
NULL &&
2308 TRACE(
"No drawing, set no Z order and no redraw!\n");
2312 if (VisBefore !=
NULL)
2317 if (VisBeforeJustClient !=
NULL)
2320 VisBeforeJustClient =
NULL;
2322 if (VisAfter !=
NULL)
2363 WinPos.
x = NewWindowRect.
left;
2364 WinPos.
y = NewWindowRect.
top;
2365 WinPos.
cx = NewWindowRect.
right - NewWindowRect.
left;
2366 WinPos.
cy = NewWindowRect.
bottom - NewWindowRect.
top;
2367 TRACE(
"WM_WINDOWPOSCHANGED hwnd %p Flags %04x\n",WinPos.
hwnd,WinPos.
flags);
2407 *ClientRect = *WindowRect;
2425 Wnd->
state &= ~WNDS_SENDSIZEMOVEMSGS;
2459 wpl.
length =
sizeof(wpl);
2464 ERR(
"WinPosMinMaximize WH_CBT Call Hook return!\n");
2497 Wnd->
InternalPos.flags &= ~WPF_RESTORETOMAXIMIZED;
2550 Wnd->
InternalPos.flags &= ~WPF_RESTORETOMAXIMIZED;
2592 Wnd->
InternalPos.flags &= ~WPF_RESTORETOMAXIMIZED;
2615 pWnd->
ExStyle &= ~WS_EX_MAKEVISIBLEWHENUNGHOSTED;
2638 UINT Swp = 0, EventMsg = 0;
2639 RECTL NewPos = {0, 0, 0, 0};
2653 TRACE(
"co_WinPosShowWindow START hwnd %p Cmd %d usicmd %u\n",
2669 TRACE(
"co_WPSW FT 1\n");
2681 TRACE(
"co_WPSW FT 2\n");
2732 EventMsg = EVENT_SYSTEM_MINIMIZESTART;
2755 EventMsg = EVENT_SYSTEM_MINIMIZEEND;
2774 if (WasVisible)
return(
TRUE);
2839 ERR(
"WinPosShowWindow Set active\n");
2848 TRACE(
"Child is Vis %s or State changed %s. ShowFlag %s Swp %04x\n",
2850 (ShowFlag ?
"TRUE" :
"FALSE"),
LOWORD(Swp));
2861 TRACE(
"Parent Vis?\n");
2965 for (phWnd =
List; *phWnd; ++phWnd)
2974 if (pwndChild !=
NULL)
3015 if( ScopeWin ==
NULL )
3018 if(ScopeWin ==
NULL)
3049 Pt.
x +=
Parent->rcClient.left;
3057 for (phWnd =
List; *phWnd; phWnd++)
3076 return pwndHit ? pwndHit :
Parent;
3092 Pt.
x =
Parent->rcClient.right - Pt.
x;
3094 Pt.
x +=
Parent->rcClient.left;
3102 for (phWnd =
List; *phWnd; phWnd++)
3127 return pwndHit ? pwndHit :
Parent;
3143 HDWP retvalue = hdwp;
3145 TRACE(
"hdwp %p, hwnd %p, after %p, %d,%d (%dx%d), flags %08x\n",
3164 for (
i = 0;
i < pDWP->
ccvr;
i++)
3204 pDWP->
acvr = newpos;
3227 TRACE(
"%p\n", hdwp);
3235 for (
i = 0, winpos = pDWP->
acvr;
res && i < pDWP->ccvr;
i++, winpos++)
3240 TRACE(
"hwnd %p, after %p, %d,%d (%dx%d), flags %08x\n",
3256 *ppos = winpos->
pos;
3298 TRACE(
"Enter NtUserChildWindowFromPointEx\n");
3305 TRACE(
"Leave NtUserChildWindowFromPointEx\n");
3317 TRACE(
"Enter NtUserEndDeferWindowPosEx\n");
3320 TRACE(
"Leave NtUserEndDeferWindowPosEx, ret=%i\n", Ret);
3331 HWND WndInsertAfter,
3344 TRACE(
"Enter NtUserDeferWindowPos\n");
3359 if ( WndInsertAfter &&
3374 TRACE(
"Leave NtUserDeferWindowPos, ret=%p\n", Ret);
3446 if (!Hit) Ret = wndpl.
showCmd;
3465 TRACE(
"Enter NtUserGetWindowPlacement\n");
3493 TRACE(
"Leave NtUserGetWindowPlacement, ret=%i\n", Ret);
3507 TRACE(
"Enter NtUserMinMaximize\n");
3527 TRACE(
"Leave NtUserMinMaximize\n");
3558 TRACE(
"Enter NtUserRealChildWindowFromPoint\n");
3565 TRACE(
"Leave NtUserRealChildWindowFromPoint\n");
3575 HWND hWndInsertAfter,
3586 TRACE(
"Enter NtUserSetWindowPos\n");
3592 ERR(
"NtUserSetWindowPos bad window handle!\n");
3596 if ( hWndInsertAfter !=
HWND_TOP &&
3604 ERR(
"NtUserSetWindowPos bad insert window handle!\n");
3612 if (
X < -32768)
X = -32768;
3613 else if (
X > 32767)
X = 32767;
3614 if (
Y < -32768)
Y = -32768;
3615 else if (
Y > 32767)
Y = 32767;
3620 else if (
cx > 32767)
cx = 32767;
3622 else if (
cy > 32767)
cy = 32767;
3630 TRACE(
"Leave NtUserSetWindowPos, ret=%i\n",
ret);
3644 HRGN hrgnCopy =
NULL;
3649 TRACE(
"Enter NtUserSetWindowRgn\n");
3674 Window->hrgnNewFrame = hrgnCopy;
3684 TRACE(
"Leave NtUserSetWindowRgn, ret=%i\n", Ret);
3707 TRACE(
"Enter NtUserSetWindowPlacement\n");
3736 wndpl.
length =
sizeof(wndpl);
3758 TRACE(
"Leave NtUserSetWindowPlacement, ret=%i\n", Ret);
3776 TRACE(
"Enter NtUserSetWindowPlacement\n");
3793 Safepl.
length =
sizeof(Safepl);
3795 if (Safepl.
length !=
sizeof(Safepl))
3815 TRACE(
"Leave NtUserSetWindowPlacement, ret=%i\n", Ret);
3831 TRACE(
"Enter NtUserShowWindowAsync\n");
3852 TRACE(
"Leave NtUserShowWindowAsync, ret=%i\n",
ret);
3867 TRACE(
"Enter NtUserShowWindow hWnd %p SW_ %d\n",
hWnd, nCmdShow);
3887 TRACE(
"Leave NtUserShowWindow, ret=%i\n",
ret);
3905 TRACE(
"Enter NtUserWindowFromPoint\n");
3929 TRACE(
"Leave NtUserWindowFromPoint, ret=%p\n", Ret);
3954 POINT maxs, mint, maxt;
3976 ERR(
"Unexpected snap edge %#x\n", Edge);
4002 else if (wasSnapped)
4048 ERR(
"Unexpected snap edge %#x\n", Edge);
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE Parent
#define DBG_DEFAULT_CHANNEL(ch)
VOID FASTCALL DceResetActiveDCEs(PWND Window)
#define UserIsMessageWindow(pWnd)
#define UserIsDesktopWindow(pWnd)
_In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ ULONG _In_ ULONG Flags
#define NT_SUCCESS(StatCode)
#define ERROR_INVALID_PARAMETER
VOID FASTCALL IntEngWindowChanged(_In_ struct _WND *Window, _In_ FLONG flChanged)
#define ExAllocatePoolWithTag(hernya, size, tag)
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
HWND FASTCALL co_UserSetFocus(PWND Window)
BOOL FASTCALL IntCheckFullscreen(PWND Window)
BOOL FASTCALL UserSetActiveWindow(_In_opt_ PWND Wnd)
PUSER_MESSAGE_QUEUE gpqForeground
VOID FASTCALL UpdateShellHook(PWND Window)
BOOL FASTCALL co_IntSetForegroundWindow(PWND Window)
HWND FASTCALL UserGetForegroundWindow(VOID)
GLint GLint GLint GLint GLint x
GLint GLint GLsizei GLsizei height
GLint GLint GLint GLint GLint GLint y
GLdouble GLdouble GLdouble r
GLint GLint GLsizei width
GLdouble GLdouble GLdouble GLdouble top
GLenum const GLfloat * params
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define WNDS2_WIN31COMPAT
#define WNDS2_FORCEFULLNCPAINTCLIPRGN
#define WNDS_BEINGACTIVATED
#define UserHMGetHandle(obj)
#define WNDS_MAXIMIZESTOMONITOR
#define WNDS_ERASEBACKGROUND
#define WS_EX2_VERTICALLYMAXIMIZEDLEFT
#define WNDS_SENDSIZEMOVEMSGS
#define WS_EX2_VERTICALLYMAXIMIZEDRIGHT
#define WNDS_SENDERASEBACKGROUND
#define EXCEPTION_EXECUTE_HANDLER
#define MmCopyToCaller(x, y, z)
#define ExFreePoolWithTag(_P, _T)
VOID FASTCALL co_MsqInsertMouseMessage(MSG *Msg, DWORD flags, ULONG_PTR dwExtraInfo, BOOL Hook)
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID Owner
#define GDI_OBJ_HMGR_POWNED
#define GDI_OBJ_HMGR_PUBLIC
PVOID NTAPI PsGetCurrentThreadWin32Thread(VOID)
LRESULT APIENTRY co_HOOK_CallHooks(INT HookId, INT Code, WPARAM wParam, LPARAM lParam)
BOOL FASTCALL IntClientToScreen(PWND Wnd, LPPOINT lpPoint)
UINT FASTCALL co_WinPosMinMaximize(PWND Wnd, UINT ShowFlag, RECT *NewPos)
INT APIENTRY NtUserSetWindowRgn(HWND hWnd, HRGN hRgn, BOOL bRedraw)
BOOL APIENTRY NtUserSetWindowPlacement(HWND hWnd, WINDOWPLACEMENT *lpwndpl)
DWORD APIENTRY NtUserMinMaximize(HWND hWnd, UINT cmd, BOOL Hide)
VOID FASTCALL IntSetSnapInfo(PWND Wnd, UINT Edge, IN const RECT *Pos OPTIONAL)
UINT FASTCALL co_WinPosArrangeIconicWindows(PWND parent)
static VOID FASTCALL FixClientRect(PRECTL ClientRect, PRECTL WindowRect)
BOOL FASTCALL IntSetWindowPlacement(PWND Wnd, WINDOWPLACEMENT *wpl, UINT Flags)
static BOOL FASTCALL co_WinPosDoWinPosChanging(PWND Window, PWINDOWPOS WinPos, PRECTL WindowRect, PRECTL ClientRect)
VOID FASTCALL co_WinPosActivateOtherWindow(PWND Wnd)
BOOLEAN FASTCALL co_WinPosSetWindowPos(PWND Window, HWND WndInsertAfter, INT x, INT y, INT cx, INT cy, UINT flags)
VOID FASTCALL co_IntSnapWindow(PWND Wnd, UINT Edge)
static BOOL FASTCALL WinPosFixupFlags(WINDOWPOS *WinPos, PWND Wnd)
BOOL APIENTRY NtUserMoveWindow(HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint)
INT FASTCALL IntMapWindowPoints(PWND FromWnd, PWND ToWnd, LPPOINT lpPoints, UINT cPoints)
BOOL FASTCALL IsChildVisible(PWND pWnd)
PWND FASTCALL IntGetLastTopMostWindow(VOID)
BOOL APIENTRY NtUserSetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags)
VOID ForceNCPaintErase(PWND Wnd, HRGN hRgn, PREGION pRgn)
DWORD APIENTRY NtUserGetInternalWindowPos(HWND hWnd, LPRECT rectWnd, LPPOINT ptIcon)
static void make_point_onscreen(POINT *pt)
DWORD IntGetWindowBorders(DWORD Style, DWORD ExStyle)
VOID FASTCALL co_IntCalculateSnapPosition(PWND Wnd, UINT Edge, OUT RECT *Pos)
VOID FASTCALL WinPosInitInternalPos(PWND Wnd, RECTL *RestoreRect)
DWORD APIENTRY NtUserSetInternalWindowPos(HWND hwnd, UINT showCmd, LPRECT lprect, LPPOINT lppt)
BOOL FASTCALL IntGetWindowPlacement(PWND Wnd, WINDOWPLACEMENT *lpwndpl)
static PWND co_WinPosSearchChildren(IN PWND ScopeWin, IN POINT *Point, IN OUT USHORT *HitTest, IN BOOL Ignore)
static VOID FASTCALL get_valid_rects(RECTL *old_client, RECTL *new_client, UINT flags, RECTL *valid)
BOOL FASTCALL ActivateOtherWindowMin(PWND Wnd)
static void make_rect_onscreen(RECT *rect)
PWND APIENTRY co_WinPosWindowFromPoint(IN PWND ScopeWin, IN POINT *WinPoint, IN OUT USHORT *HitTest, IN BOOL Ignore)
#define SWP_AGG_STATUSFLAGS
static VOID FASTCALL WinPosFindIconPos(PWND Window, POINT *Pos)
BOOL APIENTRY NtUserShowWindow(HWND hWnd, LONG nCmdShow)
HWND APIENTRY NtUserRealChildWindowFromPoint(HWND Parent, LONG x, LONG y)
LRESULT FASTCALL co_WinPosGetNonClientSize(PWND Window, RECT *WindowRect, RECT *ClientRect)
static VOID FASTCALL WinPosInternalMoveWindow(PWND Window, INT MoveX, INT MoveY)
VOID FASTCALL IntGetClientRect(PWND Wnd, RECTL *Rect)
BOOL APIENTRY NtUserShowWindowAsync(HWND hWnd, LONG nCmdShow)
static BOOL IntValidateParent(PWND Child, PREGION ValidateRgn)
BOOL FASTCALL IntGetWindowRect(PWND Wnd, RECTL *Rect)
#define SWP_AGG_NOCLIENTCHANGE
UINT FASTCALL co_WinPosGetMinMaxInfo(PWND Window, POINT *MaxSize, POINT *MaxPos, POINT *MinTrack, POINT *MaxTrack)
static HWND FASTCALL WinPosDoOwnedPopups(PWND Window, HWND hWndInsertAfter)
BOOL FASTCALL IntScreenToClient(PWND Wnd, LPPOINT lpPoint)
PWND APIENTRY IntChildWindowFromPointEx(PWND Parent, LONG x, LONG y, UINT uiFlags)
BOOL APIENTRY NtUserGetWindowPlacement(HWND hWnd, WINDOWPLACEMENT *lpwndpl)
static BOOL FASTCALL can_activate_window(PWND Wnd OPTIONAL)
void FASTCALL co_WinPosSendSizeMove(PWND Wnd)
BOOL UserHasWindowEdge(DWORD Style, DWORD ExStyle)
HWND APIENTRY NtUserWindowFromPoint(LONG X, LONG Y)
HDWP APIENTRY NtUserDeferWindowPos(HDWP WinPosInfo, HWND Wnd, HWND WndInsertAfter, int x, int y, int cx, int cy, UINT Flags)
HWND APIENTRY NtUserChildWindowFromPointEx(HWND hwndParent, LONG x, LONG y, UINT uiFlags)
BOOLEAN FASTCALL co_WinPosShowWindow(PWND Wnd, INT Cmd)
BOOL FASTCALL IntGetClientOrigin(PWND Window OPTIONAL, LPPOINT Point)
#define SWP_AGG_NOGEOMETRYCHANGE
VOID UserGetWindowBorders(DWORD Style, DWORD ExStyle, SIZE *Size, BOOL WithClient)
#define SWP_AGG_NOPOSCHANGE
VOID FASTCALL IntGetWindowBorderMeasures(PWND Wnd, UINT *cx, UINT *cy)
VOID SelectWindowRgn(PWND Window, HRGN hRgnClip)
PWND FASTCALL IntRealChildWindowFromPoint(PWND Parent, LONG x, LONG y)
UINT FASTCALL IntGetWindowSnapEdge(PWND Wnd)
void IntForceMinimizeWindow(PWND pWnd)
HDWP FASTCALL IntDeferWindowPos(HDWP hdwp, HWND hwnd, HWND hwndAfter, INT x, INT y, INT cx, INT cy, UINT flags)
VOID FASTCALL IntSetSnapEdge(PWND Wnd, UINT Edge)
BOOL APIENTRY NtUserEndDeferWindowPosEx(HDWP WinPosInfo, BOOL bAsync)
BOOL FASTCALL IntEndDeferWindowPosEx(HDWP hdwp, BOOL bAsync)
static LONG FASTCALL co_WinPosDoNCCALCSize(PWND Window, PWINDOWPOS WinPos, RECTL *WindowRect, RECTL *ClientRect, RECTL *validRects)
static VOID FASTCALL IntImeWindowPosChanged(VOID)
VOID FASTCALL UserLeave(VOID)
VOID FASTCALL UserEnterShared(VOID)
VOID FASTCALL UserEnterExclusive(VOID)
static __inline VOID UserDerefObjectCo(PVOID obj)
static __inline VOID UserRefObjectCo(PVOID obj, PUSER_REFERENCE_ENTRY UserReferenceEntry)
#define WS_EX_DLGMODALFRAME
#define WS_EX_TRANSPARENT
_Out_opt_ int _Out_opt_ int * cy
__kernel_entry W32KAPI INT APIENTRY NtGdiCombineRgn(_In_ HRGN hrgnDst, _In_ HRGN hrgnSrc1, _In_opt_ HRGN hrgnSrc2, _In_ INT iMode)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiBitBlt(_In_ HDC hdcDst, _In_ INT x, _In_ INT y, _In_ INT cx, _In_ INT cy, _In_opt_ HDC hdcSrc, _In_ INT xSrc, _In_ INT ySrc, _In_ DWORD rop4, _In_ DWORD crBackColor, _In_ FLONG fl)
__kernel_entry W32KAPI HRGN APIENTRY NtGdiCreateRectRgn(_In_ INT xLeft, _In_ INT yTop, _In_ INT xRight, _In_ INT yBottom)
__kernel_entry W32KAPI INT APIENTRY NtGdiOffsetRgn(_In_ HRGN hrgn, _In_ INT cx, _In_ INT cy)
BOOL WINAPI CopyRect(_Out_ LPRECT, _In_ LPCRECT)
#define CWP_SKIPTRANSPARENT
#define HSHELL_WINDOWDESTROYED
#define WM_WINDOWPOSCHANGING
#define HSHELL_WINDOWCREATED
#define RDW_NOINTERNALPAINT
#define SW_SHOWNOACTIVATE
#define SWP_ASYNCWINDOWPOS
BOOL WINAPI ValidateRgn(_In_ HWND, _In_opt_ HRGN)
#define CWP_SKIPINVISIBLE
#define WPF_RESTORETOMAXIMIZED
#define SWP_NOOWNERZORDER
struct _WINDOWPLACEMENT WINDOWPLACEMENT
#define WM_WINDOWPOSCHANGED
#define SWP_NOSENDCHANGING
#define WPF_SETMINPOSITION
#define SW_SHOWMINNOACTIVE
#define _SEH2_GetExceptionCode()
#define _SEH2_EXCEPT(...)
#define _SEH2_YIELD(__stmt)
for(i=0;i< sizeof(testsuite)/sizeof(testsuite[0]);++i) ok(call_test(testsuite[i].func)
#define GreCreateRectRgnIndirect(prc)
PULONG MinorVersion OPTIONAL
struct _USER_MESSAGE_QUEUE * MessageQueue
struct _WND::@6139 InternalPos
UINT InternalPosInitialized
struct _WND * spwndParent
HWND ahwnd[ANYSIZE_ARRAY]
TW_UINT32 TW_UINT16 TW_UINT16 MSG
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
VOID FASTCALL UserSyncAndPaintWindows(PWND pWnd, ULONG Flags)
VOID FASTCALL IntSendNCPaint(PWND pWnd, HRGN hRgn)
VOID FASTCALL co_IntPaintWindows(PWND Wnd, ULONG Flags, BOOL Recurse)
BOOL FASTCALL co_UserRedrawWindow(PWND Window, const RECTL *UpdateRect, PREGION UpdateRgn, ULONG Flags)
VOID FASTCALL IntInvalidateWindows(PWND Wnd, PREGION Rgn, ULONG Flags)
PWND FASTCALL UserGetWindowObject(HWND hWnd)
PWND FASTCALL UserGetAncestor(PWND Wnd, UINT Type)
#define ASSERT_REFS_CO(_obj_)
HWND FASTCALL UserGetShellWindow(VOID)
INT FASTCALL UserReleaseDC(PWND Window, HDC hDc, BOOL EndPaint)
HDC FASTCALL UserGetDCEx(PWND Window OPTIONAL, HANDLE ClipRegion, ULONG Flags)
PREGION FASTCALL VIS_ComputeVisibleRegion(PWND Wnd, BOOLEAN ClientArea, BOOLEAN ClipChildren, BOOLEAN ClipSiblings)
VOID FASTCALL co_VIS_WindowLayoutChanged(PWND Wnd, PREGION NewlyExposed)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFDEVICE Child
_Must_inspect_result_ _In_ WDFCMRESLIST List
VOID FASTCALL SetLastNtError(_In_ NTSTATUS Status)
BOOL NTAPI GreDeleteObject(HGDIOBJ hobj)
BOOL NTAPI GreIsHandleValid(HGDIOBJ hobj)
VOID FASTCALL RECTL_vInflateRect(_Inout_ RECTL *rect, _In_ INT dx, _In_ INT dy)
BOOL FASTCALL RECTL_bIntersectRect(_Out_ RECTL *prclDst, _In_ const RECTL *prcl1, _In_ const RECTL *prcl2)
FORCEINLINE VOID RECTL_vSetRect(_Out_ RECTL *prcl, _In_ LONG left, _In_ LONG top, _In_ LONG right, _In_ LONG bottom)
FORCEINLINE BOOL RECTL_bPointInRect(_In_ const RECTL *prcl, _In_ INT x, _In_ INT y)
FORCEINLINE BOOL RECTL_bIsEmptyRect(_In_ const RECTL *prcl)
FORCEINLINE VOID RECTL_vOffsetRect(_Inout_ RECTL *prcl, _In_ INT cx, _In_ INT cy)
FORCEINLINE VOID RECTL_vSetEmptyRect(_Out_ RECTL *prcl)
INT FASTCALL REGION_Complexity(PREGION prgn)
VOID FASTCALL REGION_Delete(PREGION pRgn)
PREGION FASTCALL REGION_LockRgn(_In_ HRGN hrgn)
BOOL FASTCALL IntGdiSetRegionOwner(HRGN hRgn, DWORD OwnerMask)
VOID FASTCALL REGION_UnlockRgn(_In_ PREGION prgn)
INT FASTCALL REGION_GetRgnBox(PREGION Rgn, PRECTL pRect)
PREGION FASTCALL IntSysCreateRectpRgn(INT LeftRect, INT TopRect, INT RightRect, INT BottomRect)
BOOL FASTCALL REGION_bOffsetRgn(_Inout_ PREGION prgn, _In_ INT cx, _In_ INT cy)
INT FASTCALL IntGdiCombineRgn(PREGION prgnDest, PREGION prgnSrc1, PREGION prgnSrc2, INT iCombineMode)
#define ValidateHwndNoErr(hwnd)
PWND FASTCALL UserGetDesktopWindow(VOID)
VOID FASTCALL IntSetFocusMessageQueue(PUSER_MESSAGE_QUEUE NewQueue)
HWND FASTCALL IntGetDesktopWindow(VOID)
PUSER_MESSAGE_QUEUE FASTCALL IntGetFocusMessageQueue(VOID)
VOID co_IntShellHookNotify(WPARAM Message, WPARAM wParam, LPARAM lParam)
PWND FASTCALL IntGetThreadDesktopWindow(PTHREADINFO pti)
VOID FASTCALL IntNotifyWinEvent(DWORD Event, PWND pWnd, LONG idObject, LONG idChild, DWORD flags)
LRESULT FASTCALL co_IntSendMessageNoWait(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
LRESULT FASTCALL co_IntSendMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
LONG NTAPI UserGetSystemMetrics(ULONG Index)
PMONITOR NTAPI UserMonitorFromRect(PRECTL pRect, DWORD dwFlags)
PMONITOR NTAPI UserGetPrimaryMonitor(VOID)
PVOID UserGetObject(PUSER_HANDLE_TABLE ht, HANDLE handle, HANDLE_TYPE type)
BOOL FASTCALL UserDereferenceObject(PVOID Object)
BOOL FASTCALL UserDeleteObject(HANDLE h, HANDLE_TYPE type)
PUSER_HANDLE_TABLE gHandleTable
VOID FASTCALL UserReferenceObject(PVOID obj)
BOOL FASTCALL UserSystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni)
ULONG FASTCALL IntSetStyle(PWND pwnd, ULONG set_bits, ULONG clear_bits)
HWND *FASTCALL IntWinListChildren(PWND Window)
VOID FASTCALL IntFreeHwndList(PWINDOWLIST pwlTarget)
BOOL FASTCALL IntShowOwnedPopups(PWND OwnerWnd, BOOL fShow)
PWND FASTCALL VerifyWnd(PWND pWnd)
HWND FASTCALL IntGetWindow(HWND hWnd, UINT uCmd)
BOOL FASTCALL IntIsWindow(HWND hWnd)
PWINDOWLIST FASTCALL IntBuildHwndList(PWND pwnd, DWORD dwFlags, PTHREADINFO pti)
VOID FASTCALL IntLinkHwnd(PWND Wnd, HWND hWndPrev)
BOOL FASTCALL IntIsWindowVisible(PWND Wnd)
#define STARTF_USEPOSITION
#define STARTF_USESHOWWINDOW
ENGAPI VOID APIENTRY EngSetLastError(_In_ ULONG iError)
#define HAS_DLGFRAME(Style, ExStyle)
#define HAS_THINFRAME(Style, ExStyle)
#define IntIsDesktopWindow(WndObj)
#define HAS_THICKFRAME(Style, ExStyle)
#define CopyRgn(hrgnDst, hrgnSrc)
#define ERROR_INVALID_DWP_HANDLE
#define ERROR_INVALID_WINDOW_HANDLE
#define ERROR_INVALID_FLAGS
FORCEINLINE BOOLEAN IntIsWindowSnapped(PWND Wnd)
FORCEINLINE BOOL IntPtInWindow(PWND pwnd, INT x, INT y)
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO