[Win32k]
[reactos.git] / reactos / subsystems / win32 / win32k / include / winpos.h
1 #pragma once
2
3 typedef struct _CVR // Tag Ussw
4 {
5 WINDOWPOS pos;
6 LONG xClientNew;
7 LONG yClientNew;
8 LONG cxClientNew;
9 LONG cyClientNew;
10 RECT rcBlt;
11 LONG dxBlt;
12 LONG dyBlt;
13 UINT fsRE;
14 HRGN hrgnVisOld;
15 PTHREADINFO pti;
16 HRGN hrgnClip;
17 HRGN hrgnInterMonitor;
18 } CVR, *PCVR;
19
20 typedef struct _SMWP
21 {
22 HEAD head;
23 UINT bShellNotify:1;
24 UINT bHandle:1;
25 INT ccvr;
26 INT ccvrAlloc;
27 PCVR acvr;
28 } SMWP, *PSMWP;
29
30 #define IntPtInWindow(WndObject,x,y) \
31 ((x) >= (WndObject)->rcWindow.left && \
32 (x) < (WndObject)->rcWindow.right && \
33 (y) >= (WndObject)->rcWindow.top && \
34 (y) < (WndObject)->rcWindow.bottom && \
35 (!(WndObject)->hrgnClip || ((WndObject)->style & WS_MINIMIZE) || \
36 NtGdiPtInRegion((WndObject)->hrgnClip, (INT)((x) - (WndObject)->rcWindow.left), \
37 (INT)((y) - (WndObject)->rcWindow.top))))
38
39 #define IntPtInRect(lprc,pt) \
40 ((pt.x >= (lprc)->left) && (pt.x < (lprc)->right) && (pt.y >= (lprc)->top) && (pt.y < (lprc)->bottom))
41
42 UINT
43 FASTCALL co_WinPosArrangeIconicWindows(PWND parent);
44 BOOL FASTCALL
45 IntGetClientOrigin(PWND Window, LPPOINT Point);
46 LRESULT FASTCALL
47 co_WinPosGetNonClientSize(PWND Window, RECTL* WindowRect, RECTL* ClientRect);
48 UINT FASTCALL
49 co_WinPosGetMinMaxInfo(PWND Window, POINT* MaxSize, POINT* MaxPos,
50 POINT* MinTrack, POINT* MaxTrack);
51 UINT FASTCALL
52 co_WinPosMinMaximize(PWND WindowObject, UINT ShowFlag, RECTL* NewPos);
53 BOOLEAN FASTCALL
54 co_WinPosSetWindowPos(PWND Wnd, HWND WndInsertAfter, INT x, INT y, INT cx,
55 INT cy, UINT flags);
56 BOOLEAN FASTCALL
57 co_WinPosShowWindow(PWND Window, INT Cmd);
58 void FASTCALL
59 co_WinPosSendSizeMove(PWND Window);
60 PWND FASTCALL
61 co_WinPosWindowFromPoint(PWND ScopeWin, POINT *WinPoint, USHORT* HitTest);
62 VOID FASTCALL co_WinPosActivateOtherWindow(PWND Window);
63
64 VOID FASTCALL WinPosInitInternalPos(PWND WindowObject,
65 POINT *pt, RECTL *RestoreRect);
66 BOOL FASTCALL IntEndDeferWindowPosEx(HDWP);
67 HDWP FASTCALL IntDeferWindowPos(HDWP,HWND,HWND,INT,INT,INT,INT,UINT);