[CMAKE]
[reactos.git] / 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 INIT_FUNCTION
54 NTSTATUS
55 NTAPI
56 InitWindowImpl (VOID);
57
58 NTSTATUS FASTCALL
59 CleanupWindowImpl (VOID);
60
61 VOID FASTCALL
62 IntGetClientRect (PWND WindowObject, RECTL *Rect);
63
64 HWND FASTCALL
65 IntGetActiveWindow (VOID);
66
67 BOOL FASTCALL
68 IntIsWindowVisible (PWND Window);
69
70 BOOL FASTCALL
71 IntIsChildWindow (PWND Parent, PWND Child);
72
73 VOID FASTCALL
74 IntUnlinkWindow(PWND Wnd);
75
76 VOID FASTCALL
77 IntLinkWindow(PWND Wnd, PWND WndPrevSibling);
78
79 VOID FASTCALL
80 IntLinkHwnd(PWND Wnd, HWND hWndPrev);
81
82 PWND FASTCALL
83 IntGetAncestor(PWND Wnd, UINT Type);
84
85 PWND FASTCALL
86 IntGetParent(PWND Wnd);
87
88 INT FASTCALL
89 IntGetWindowRgn(PWND Window, HRGN hRgn);
90
91 INT FASTCALL
92 IntGetWindowRgnBox(PWND Window, RECTL *Rect);
93
94 BOOL FASTCALL
95 IntGetWindowInfo(PWND WindowObject, PWINDOWINFO pwi);
96
97 VOID FASTCALL
98 IntGetWindowBorderMeasures(PWND WindowObject, UINT *cx, UINT *cy);
99
100 BOOL FASTCALL
101 IntIsWindowInDestroy(PWND Window);
102
103 BOOL FASTCALL
104 IntShowOwnedPopups( PWND owner, BOOL fShow );
105
106 LRESULT FASTCALL
107 IntDefWindowProc( PWND Window, UINT Msg, WPARAM wParam, LPARAM lParam, BOOL Ansi);
108
109 VOID FASTCALL IntNotifyWinEvent(DWORD, PWND, LONG, LONG, DWORD);
110
111 PWND FASTCALL co_UserCreateWindowEx(CREATESTRUCTW*, PUNICODE_STRING, PLARGE_STRING);
112 WNDPROC FASTCALL IntGetWindowProc(PWND,BOOL);
113
114 BOOL FASTCALL IntEnableWindow(HWND,BOOL);
115
116 /* EOF */