[NtUser]
[reactos.git] / reactos / win32ss / user / ntuser / window.h
1 #pragma once
2
3 extern ATOM AtomMessage;
4 extern ATOM AtomWndObj; /* WNDOBJ list */
5 extern ATOM AtomLayer;
6 extern ATOM AtomFlashWndState;
7
8 #define HAS_DLGFRAME(Style, ExStyle) \
9 (((ExStyle) & WS_EX_DLGMODALFRAME) || \
10 (((Style) & WS_DLGFRAME) && (!((Style) & WS_THICKFRAME))))
11
12 #define HAS_THICKFRAME(Style, ExStyle) \
13 (((Style) & WS_THICKFRAME) && \
14 (!(((Style) & (WS_DLGFRAME | WS_BORDER)) == WS_DLGFRAME)))
15
16 #define HAS_THINFRAME(Style, ExStyle) \
17 (((Style) & WS_BORDER) || (!((Style) & (WS_CHILD | WS_POPUP))))
18
19 #define HAS_CLIENTFRAME(Style, ExStyle) \
20 (((ExStyle) & WS_EX_CLIENTEDGE) || (!((Style) & (WS_CHILD | WS_POPUP))))
21
22 #define HAS_MENU(pWnd,style) ((((style) & (WS_CHILD | WS_POPUP)) != WS_CHILD) && (pWnd->IDMenu) && IntIsMenu(UlongToHandle(pWnd->IDMenu)))
23
24 #define IntIsDesktopWindow(WndObj) \
25 (WndObj->spwndParent == NULL)
26
27 #define IntIsBroadcastHwnd(hWnd) \
28 (hWnd == HWND_BROADCAST || hWnd == HWND_TOPMOST)
29
30
31 #define IntWndBelongsToThread(WndObj, W32Thread) \
32 ((WndObj->head.pti) && (WndObj->head.pti == W32Thread))
33
34 #define IntGetWndThreadId(WndObj) \
35 PsGetThreadId(WndObj->head.pti->pEThread)
36
37 #define IntGetWndProcessId(WndObj) \
38 PsGetProcessId(WndObj->head.pti->ppi->peProcess)
39
40 PWND FASTCALL ValidateHwndNoErr(HWND);
41 BOOL FASTCALL UserUpdateUiState(PWND Wnd, WPARAM wParam);
42 BOOL FASTCALL IntIsWindow(HWND hWnd);
43 HWND* FASTCALL IntWinListChildren(PWND Window);
44 VOID FASTCALL IntGetClientRect (PWND WindowObject, RECTL *Rect);
45 INT FASTCALL IntMapWindowPoints(PWND FromWnd, PWND ToWnd, LPPOINT lpPoints, UINT cPoints);
46 BOOL FASTCALL IntIsChildWindow (PWND Parent, PWND Child);
47 VOID FASTCALL IntUnlinkWindow(PWND Wnd);
48 VOID FASTCALL IntLinkHwnd(PWND Wnd, HWND hWndPrev);
49 PWND FASTCALL IntGetParent(PWND Wnd);
50 VOID FASTCALL IntGetWindowBorderMeasures(PWND WindowObject, UINT *cx, UINT *cy);
51 BOOL FASTCALL IntShowOwnedPopups( PWND owner, BOOL fShow );
52 LRESULT FASTCALL IntDefWindowProc( PWND Window, UINT Msg, WPARAM wParam, LPARAM lParam, BOOL Ansi);
53 VOID FASTCALL IntNotifyWinEvent(DWORD, PWND, LONG, LONG, DWORD);
54 PWND FASTCALL IntCreateWindow(CREATESTRUCTW* Cs,
55 PLARGE_STRING WindowName,
56 PCLS Class,
57 PWND ParentWindow,
58 PWND OwnerWindow,
59 PVOID acbiBuffer,
60 PDESKTOP pdeskCreated);
61 PWND FASTCALL co_UserCreateWindowEx(CREATESTRUCTW* Cs,
62 PUNICODE_STRING ClassName,
63 PLARGE_STRING WindowName,
64 PVOID acbiBuffer);
65 BOOL FASTCALL IntEnableWindow(HWND,BOOL);
66 BOOL FASTCALL IntIsWindowVisible(PWND);
67 DWORD FASTCALL GetNCHitEx(PWND,POINT);
68 ULONG FASTCALL IntSetStyle(PWND,ULONG,ULONG);
69 PWND FASTCALL VerifyWnd(PWND);
70 PWND FASTCALL IntGetNonChildAncestor(PWND);
71 LONG FASTCALL co_UserSetWindowLong(HWND,DWORD,LONG,BOOL);
72 HWND FASTCALL IntGetWindow(HWND,UINT);
73 LRESULT co_UserFreeWindow(PWND,PPROCESSINFO,PTHREADINFO,BOOLEAN);
74
75 /* EOF */