Partially fixed up tree after merge from HEAD. More to do.
[reactos.git] / reactos / dll / win32 / user32 / include / user32p.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS System Libraries
4 * FILE: lib/user32/include/user32p.h
5 * PURPOSE: Win32 User Library Private Headers
6 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
7 */
8
9 /* INCLUDES ******************************************************************/
10
11 #ifndef USER32_PRIVATE_H
12 #define USER32_PRIVATE_H
13
14 /* Private User32 Headers */
15 #include "accel.h"
16 #include "cursor.h"
17 #include "controls.h"
18 #include "draw.h"
19 #include "dde_private.h"
20 #include "menu.h"
21 #include "message.h"
22 #include "regcontrol.h"
23 #include "resource.h"
24 #include "scroll.h"
25 #include "strpool.h"
26 #include "window.h"
27 #include "winpos.h"
28 #include "winsta.h"
29
30 /* One/Two Param Functions */
31 #define NtUserMsqSetWakeMask(dwWaitMask) \
32 (HANDLE)NtUserCallOneParam(dwWaitMask, ONEPARAM_ROUTINE_MSQSETWAKEMASK)
33
34 #define NtUserMsqClearWakeMask() \
35 NtUserCallNoParam(NOPARAM_ROUTINE_MSQCLEARWAKEMASK)
36
37 #define NtUserAnyPopup() \
38 (BOOL)NtUserCallNoParam(NOPARAM_ROUTINE_ANYPOPUP)
39
40 #define NtUserValidateRgn(hWnd, hRgn) \
41 (BOOL)NtUserCallTwoParam((DWORD)hWnd, (DWORD)hRgn, TWOPARAM_ROUTINE_VALIDATERGN)
42
43 #define NtUserSetWindowContextHelpId(hWnd, dwContextHelpId) \
44 (BOOL)NtUserCallTwoParam((DWORD)hwnd, dwContextHelpId, TWOPARAM_ROUTINE_SETWNDCONTEXTHLPID)
45
46 #define NtUserSetCaretPos(X, Y) \
47 (BOOL)NtUserCallTwoParam((DWORD)X, (DWORD)Y, TWOPARAM_ROUTINE_SETCARETPOS)
48
49 #define NtUserSetGUIThreadHandle(field, hwnd) \
50 (BOOL)NtUserCallTwoParam((DWORD)field, (DWORD)hwnd, TWOPARAM_ROUTINE_SETGUITHRDHANDLE)
51
52 #define NtUserSetMenuItemRect(menu, mir) \
53 (BOOL)NtUserCallTwoParam((DWORD)menu, (DWORD)mir, TWOPARAM_ROUTINE_SETMENUITEMRECT)
54
55 #define NtUserSetMenuBarHeight(menu, height) \
56 (BOOL)NtUserCallTwoParam((DWORD)menu, (DWORD)height, TWOPARAM_ROUTINE_SETMENUBARHEIGHT)
57
58 #define NtUserGetWindowInfo(hwnd, pwi) \
59 (BOOL)NtUserCallTwoParam((DWORD)hwnd, (DWORD)pwi, TWOPARAM_ROUTINE_GETWINDOWINFO)
60
61 #define NtUserRegisterLogonProcess(hproc, x) \
62 (BOOL)NtUserCallTwoParam((DWORD)hproc, (DWORD)x, TWOPARAM_ROUTINE_REGISTERLOGONPROC)
63
64 #define NtUserGetSysColorBrushes(HBrushes, count) \
65 (BOOL)NtUserCallTwoParam((DWORD)(HBrushes), (DWORD)(count), TWOPARAM_ROUTINE_GETSYSCOLORBRUSHES)
66
67 #define NtUserGetSysColorPens(HPens, count) \
68 (BOOL)NtUserCallTwoParam((DWORD)(HPens), (DWORD)(count), TWOPARAM_ROUTINE_GETSYSCOLORPENS)
69
70 #define NtUserGetSysColors(ColorRefs, count) \
71 (BOOL)NtUserCallTwoParam((DWORD)(ColorRefs), (DWORD)(count), TWOPARAM_ROUTINE_GETSYSCOLORS)
72
73 #define NtUserSetSysColors(ColorRefs, count) \
74 (BOOL)NtUserCallTwoParam((DWORD)(ColorRefs), (DWORD)(count), TWOPARAM_ROUTINE_SETSYSCOLORS)
75
76 #define NtUserSetCaretBlinkTime(uMSeconds) \
77 (BOOL)NtUserCallOneParam((DWORD)uMSeconds, ONEPARAM_ROUTINE_SETCARETBLINKTIME)
78
79 #define NtUserEnumClipboardFormats(format) \
80 (UINT)NtUserCallOneParam(format, ONEPARAM_ROUTINE_ENUMCLIPBOARDFORMATS)
81
82 #define NtUserWindowFromDC(hDC) \
83 (HWND)NtUserCallOneParam((DWORD)hDC, ONEPARAM_ROUTINE_WINDOWFROMDC)
84
85 #define NtUserSwitchCaretShowing(CaretInfo) \
86 (BOOL)NtUserCallOneParam((DWORD)CaretInfo, ONEPARAM_ROUTINE_SWITCHCARETSHOWING)
87
88 #define NtUserSwapMouseButton(fSwap) \
89 (BOOL)NtUserCallOneParam((DWORD)fSwap, ONEPARAM_ROUTINE_SWAPMOUSEBUTTON)
90
91 #define NtUserGetMenu(hWnd) \
92 (HMENU)NtUserCallOneParam((DWORD)hWnd, ONEPARAM_ROUTINE_GETMENU)
93
94 #define NtUserSetMessageExtraInfo(lParam) \
95 (LPARAM)NtUserCallOneParam((DWORD)lParam, ONEPARAM_ROUTINE_SETMESSAGEEXTRAINFO)
96
97 #define NtUserIsWindowUnicode(hWnd) \
98 (BOOL)NtUserCallOneParam((DWORD)hWnd, ONEPARAM_ROUTINE_ISWINDOWUNICODE)
99
100 #define NtUserGetWindowContextHelpId(hwnd) \
101 NtUserCallOneParam((DWORD)hwnd, ONEPARAM_ROUTINE_GETWNDCONTEXTHLPID)
102
103 #define NtUserGetWindowInstance(hwnd) \
104 (HINSTANCE)NtUserCallOneParam((DWORD)hwnd, ONEPARAM_ROUTINE_GETWINDOWINSTANCE)
105
106 #define NtUserGetCursorPos(lpPoint) \
107 (BOOL)NtUserCallOneParam((DWORD)lpPoint, ONEPARAM_ROUTINE_GETCURSORPOSITION)
108
109 #define NtUserIsWindowInDestroy(hWnd) \
110 (BOOL)NtUserCallOneParam((DWORD)hWnd, ONEPARAM_ROUTINE_ISWINDOWINDESTROY)
111
112 #define NtUserEnableProcessWindowGhosting(bEnable) \
113 NtUserCallOneParam((DWORD)bEnable, ONEPARAM_ROUTINE_ENABLEPROCWNDGHSTING)
114
115 #define NtUserShowCursor(bShow) \
116 NtUserCallOneParam((DWORD)bShow, ONEPARAM_ROUTINE_SHOWCURSOR)
117
118
119
120 /* Internal Thread Data */
121 extern HINSTANCE User32Instance;
122
123 typedef struct _USER32_THREAD_DATA
124 {
125 MSG LastMessage;
126 HKL KeyboardLayoutHandle;
127 } USER32_THREAD_DATA, *PUSER32_THREAD_DATA;
128
129 PUSER32_THREAD_DATA User32GetThreadData();
130
131 DEVMODEW *
132 STDCALL
133 GdiConvertToDevmodeW(DEVMODEA *dm);
134
135 /* FIXME: Belongs to some header. */
136 BOOL STDCALL GdiDllInitialize(HANDLE, DWORD, LPVOID);
137 void InitStockObjects(void);
138 VOID DeleteFrameBrushes(VOID);
139
140 #endif
141 /* EOF */