[Win32k|User32]
[reactos.git] / reactos / subsystems / win32 / win32k / include / userfuncs.h
1 #pragma once
2
3 PMENU_OBJECT FASTCALL UserGetMenuObject(HMENU hMenu);
4
5 #define ASSERT_REFS_CO(_obj_) \
6 { \
7 LONG ref = ((PHEAD)_obj_)->cLockObj;\
8 if (!(ref >= 1)){ \
9 DPRINT1("ASSERT: obj 0x%x, refs %i\n", _obj_, ref); \
10 ASSERT(FALSE); \
11 } \
12 }
13
14 #if 0
15 #define ASSERT_REFS_CO(_obj_) \
16 { \
17 PSINGLE_LIST_ENTRY e; \
18 BOOL gotit=FALSE; \
19 LONG ref = ((PHEAD)_obj_)->cLockObj;\
20 if (!(ref >= 1)){ \
21 DPRINT1("obj 0x%x, refs %i\n", _obj_, ref); \
22 ASSERT(FALSE); \
23 } \
24 \
25 e = PsGetCurrentThreadWin32Thread()->ReferencesList.Next; \
26 while (e) \
27 { \
28 PUSER_REFERENCE_ENTRY ref = CONTAINING_RECORD(e, USER_REFERENCE_ENTRY, Entry); \
29 if (ref->obj == _obj_){ gotit=TRUE; break; } \
30 e = e->Next; \
31 } \
32 ASSERT(gotit); \
33 }
34 #endif
35
36 #define DUMP_REFS(obj) DPRINT1("obj 0x%x, refs %i\n",obj, ((PHEAD)obj)->cLockObj)
37
38 PWND FASTCALL IntGetWindowObject(HWND hWnd);
39
40 /*************** WINSTA.C ***************/
41
42 HWINSTA FASTCALL UserGetProcessWindowStation(VOID);
43
44 /*************** WINPOS.C ***************/
45
46 BOOL FASTCALL
47 UserGetClientOrigin(PWND Window, LPPOINT Point);
48
49 /*************** FOCUS.C ***************/
50
51 HWND FASTCALL UserGetActiveWindow(VOID);
52
53 HWND FASTCALL UserGetForegroundWindow(VOID);
54
55 HWND FASTCALL co_UserSetFocus(PWND Window);
56
57 /*************** WINDC.C ***************/
58
59 INT FASTCALL
60 UserReleaseDC(PWND Window, HDC hDc, BOOL EndPaint);
61
62 HDC FASTCALL
63 UserGetDCEx(PWND Window OPTIONAL, HANDLE ClipRegion, ULONG Flags);
64
65 HDC FASTCALL
66 UserGetWindowDC(PWND Wnd);
67
68
69 /*************** SESSION.C ***************/
70
71 extern PRTL_ATOM_TABLE gAtomTable;
72
73 NTSTATUS FASTCALL InitSessionImpl(VOID);
74
75 /*************** METRIC.C ***************/
76
77 BOOL FASTCALL
78 InitMetrics(VOID);
79
80 ULONG FASTCALL
81 UserGetSystemMetrics(ULONG Index);
82
83 /*************** KEYBOARD.C ***************/
84
85 DWORD FASTCALL UserGetKeyState(DWORD key);
86
87 DWORD FASTCALL UserGetKeyboardType(DWORD TypeFlag);
88
89 HKL FASTCALL UserGetKeyboardLayout(DWORD dwThreadId);
90
91
92 /*************** MISC.C ***************/
93
94 BOOL FASTCALL
95 UserSystemParametersInfo(
96 UINT uiAction,
97 UINT uiParam,
98 PVOID pvParam,
99 UINT fWinIni);
100
101 /*************** MESSAGE.C ***************/
102
103 BOOL FASTCALL
104 UserPostMessage(HWND Wnd,
105 UINT Msg,
106 WPARAM wParam,
107 LPARAM lParam);
108
109
110
111 /*************** PAINTING.C ***************/
112
113 BOOL FASTCALL co_UserValidateRgn(PWND Window, HRGN hRgn);
114
115
116 /*************** WINDOW.C ***************/
117
118 PWND FASTCALL UserGetWindowObject(HWND hWnd);
119
120 VOID FASTCALL
121 co_DestroyThreadWindows(struct _ETHREAD *Thread);
122
123 HWND FASTCALL UserGetShellWindow(VOID);
124
125 HDC FASTCALL
126 UserGetDCEx(PWND Window OPTIONAL, HANDLE ClipRegion, ULONG Flags);
127
128 BOOLEAN FASTCALL co_UserDestroyWindow(PWND Wnd);
129
130 PWND FASTCALL UserGetAncestor(PWND Wnd, UINT Type);
131
132 /*************** MENU.C ***************/
133
134 HMENU FASTCALL UserCreateMenu(BOOL PopupMenu);
135
136 BOOL FASTCALL
137 UserSetMenuDefaultItem(
138 PMENU_OBJECT Menu,
139 UINT uItem,
140 UINT fByPos);
141
142 BOOL FASTCALL UserDestroyMenu(HMENU hMenu);
143
144
145
146
147
148 /*************** SCROLLBAR.C ***************/
149
150 DWORD FASTCALL
151 co_UserShowScrollBar(PWND Window, int wBar, DWORD bShow);
152
153 /* EOF */