[YAROTOWS] Reintegrate the branch. For a brighter future.
[reactos.git] / reactos / subsystems / win32 / win32k / include / window.h
1 #pragma once
2
3 struct _PROPERTY;
4 struct _WINDOW_OBJECT;
5 typedef struct _WINDOW_OBJECT *PWINDOW_OBJECT;
6
7 #include <include/object.h>
8 #include <include/class.h>
9 #include <include/msgqueue.h>
10 #include <include/winsta.h>
11 #include <include/dce.h>
12 #include <include/prop.h>
13 #include <include/scroll.h>
14
15 extern ATOM AtomMessage;
16 extern ATOM AtomWndObj; /* WNDOBJ list */
17
18 BOOL FASTCALL UserUpdateUiState(PWND Wnd, WPARAM wParam);
19
20 #define HAS_DLGFRAME(Style, ExStyle) \
21 (((ExStyle) & WS_EX_DLGMODALFRAME) || \
22 (((Style) & WS_DLGFRAME) && (!((Style) & WS_THICKFRAME))))
23
24 #define HAS_THICKFRAME(Style, ExStyle) \
25 (((Style) & WS_THICKFRAME) && \
26 (!(((Style) & (WS_DLGFRAME | WS_BORDER)) == WS_DLGFRAME)))
27
28 #define HAS_THINFRAME(Style, ExStyle) \
29 (((Style) & WS_BORDER) || (!((Style) & (WS_CHILD | WS_POPUP))))
30
31 #define IntIsDesktopWindow(WndObj) \
32 (WndObj->spwndParent == NULL)
33
34 #define IntIsBroadcastHwnd(hWnd) \
35 (hWnd == HWND_BROADCAST || hWnd == HWND_TOPMOST)
36
37
38 #define IntWndBelongsToThread(WndObj, W32Thread) \
39 ((WndObj->head.pti) && (WndObj->head.pti == W32Thread))
40
41 #define IntGetWndThreadId(WndObj) \
42 WndObj->head.pti->pEThread->Cid.UniqueThread
43
44 #define IntGetWndProcessId(WndObj) \
45 WndObj->head.pti->pEThread->ThreadsProcess->UniqueProcessId
46
47 BOOL FASTCALL
48 IntIsWindow(HWND hWnd);
49
50 HWND* FASTCALL
51 IntWinListChildren(PWND Window);
52
53 NTSTATUS FASTCALL
54 InitWindowImpl (VOID);
55
56 NTSTATUS FASTCALL
57 CleanupWindowImpl (VOID);
58
59 VOID FASTCALL
60 IntGetClientRect (PWND WindowObject, RECTL *Rect);
61
62 HWND FASTCALL
63 IntGetActiveWindow (VOID);
64
65 BOOL FASTCALL
66 IntIsWindowVisible (PWND Window);
67
68 BOOL FASTCALL
69 IntIsChildWindow (PWND Parent, PWND Child);
70
71 VOID FASTCALL
72 IntUnlinkWindow(PWND Wnd);
73
74 VOID FASTCALL
75 IntLinkWindow(PWND Wnd, PWND WndPrevSibling);
76
77 VOID FASTCALL
78 IntLinkHwnd(PWND Wnd, HWND hWndPrev);
79
80 PWND FASTCALL
81 IntGetAncestor(PWND Wnd, UINT Type);
82
83 PWND FASTCALL
84 IntGetParent(PWND Wnd);
85
86 INT FASTCALL
87 IntGetWindowRgn(PWND Window, HRGN hRgn);
88
89 INT FASTCALL
90 IntGetWindowRgnBox(PWND Window, RECTL *Rect);
91
92 BOOL FASTCALL
93 IntGetWindowInfo(PWND WindowObject, PWINDOWINFO pwi);
94
95 VOID FASTCALL
96 IntGetWindowBorderMeasures(PWND WindowObject, UINT *cx, UINT *cy);
97
98 BOOL FASTCALL
99 IntIsWindowInDestroy(PWND Window);
100
101 BOOL FASTCALL
102 IntShowOwnedPopups( PWND owner, BOOL fShow );
103
104 LRESULT FASTCALL
105 IntDefWindowProc( PWND Window, UINT Msg, WPARAM wParam, LPARAM lParam, BOOL Ansi);
106
107 VOID FASTCALL IntNotifyWinEvent(DWORD, PWND, LONG, LONG, DWORD);
108
109 PWND FASTCALL co_UserCreateWindowEx(CREATESTRUCTW*, PUNICODE_STRING, PLARGE_STRING);
110 WNDPROC FASTCALL IntGetWindowProc(PWND,BOOL);
111
112 /* EOF */