aa1b6f459e7cc9adb5db4b842449f06edeb8bf9c
[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_MENU(pWnd,style) ((((style) & (WS_CHILD | WS_POPUP)) != WS_CHILD) && (pWnd->IDMenu) && IntIsMenu(UlongToHandle(pWnd->IDMenu)))
20
21 #define IntIsDesktopWindow(WndObj) \
22 (WndObj->spwndParent == NULL)
23
24 #define IntIsBroadcastHwnd(hWnd) \
25 (hWnd == HWND_BROADCAST || hWnd == HWND_TOPMOST)
26
27
28 #define IntWndBelongsToThread(WndObj, W32Thread) \
29 ((WndObj->head.pti) && (WndObj->head.pti == W32Thread))
30
31 #define IntGetWndThreadId(WndObj) \
32 PsGetThreadId(WndObj->head.pti->pEThread)
33
34 #define IntGetWndProcessId(WndObj) \
35 PsGetProcessId(WndObj->head.pti->ppi->peProcess)
36
37 PWND FASTCALL ValidateHwndNoErr(HWND);
38 BOOL FASTCALL UserUpdateUiState(PWND Wnd, WPARAM wParam);
39 BOOL FASTCALL IntIsWindow(HWND hWnd);
40 HWND* FASTCALL IntWinListChildren(PWND Window);
41 VOID FASTCALL IntGetClientRect (PWND WindowObject, RECTL *Rect);
42 INT FASTCALL IntMapWindowPoints(PWND FromWnd, PWND ToWnd, LPPOINT lpPoints, UINT cPoints);
43 BOOL FASTCALL IntIsChildWindow (PWND Parent, PWND Child);
44 VOID FASTCALL IntUnlinkWindow(PWND Wnd);
45 VOID FASTCALL IntLinkHwnd(PWND Wnd, HWND hWndPrev);
46 PWND FASTCALL IntGetParent(PWND Wnd);
47 VOID FASTCALL IntGetWindowBorderMeasures(PWND WindowObject, UINT *cx, UINT *cy);
48 BOOL FASTCALL IntShowOwnedPopups( PWND owner, BOOL fShow );
49 LRESULT FASTCALL IntDefWindowProc( PWND Window, UINT Msg, WPARAM wParam, LPARAM lParam, BOOL Ansi);
50 VOID FASTCALL IntNotifyWinEvent(DWORD, PWND, LONG, LONG, DWORD);
51 PWND FASTCALL IntCreateWindow(CREATESTRUCTW* Cs,
52 PLARGE_STRING WindowName,
53 PCLS Class,
54 PWND ParentWindow,
55 PWND OwnerWindow,
56 PVOID acbiBuffer,
57 PDESKTOP pdeskCreated);
58 PWND FASTCALL co_UserCreateWindowEx(CREATESTRUCTW* Cs,
59 PUNICODE_STRING ClassName,
60 PLARGE_STRING WindowName,
61 PVOID acbiBuffer);
62 BOOL FASTCALL IntEnableWindow(HWND,BOOL);
63 BOOL FASTCALL IntIsWindowVisible(PWND);
64 DWORD FASTCALL GetNCHitEx(PWND,POINT);
65 ULONG FASTCALL IntSetStyle(PWND,ULONG,ULONG);
66 PWND FASTCALL VerifyWnd(PWND);
67 PWND FASTCALL IntGetNonChildAncestor(PWND);
68 LONG FASTCALL co_UserSetWindowLong(HWND,DWORD,LONG,BOOL);
69 HWND FASTCALL IntGetWindow(HWND,UINT);
70 LRESULT co_UserFreeWindow(PWND,PPROCESSINFO,PTHREADINFO,BOOLEAN);
71
72 /* EOF */