Merge trunk HEAD (r46369)
[reactos.git] / reactos / subsystems / win32 / win32k / include / sysparams.h
1 #ifndef _WIN32K_SYSPARAMS_H
2 #define _WIN32K_SYSPARAMS_H
3
4 #include "cursoricon.h"
5
6 // create one struct
7 // make usable for different users (multiple structs!)
8
9 #define SPI_TABLE1_MIN 1
10 #define SPI_TABLE1_MAX 119
11 #define SPI_TABLE2_MIN 4096
12 #define SPI_TABLE2_MAX 4171
13 #define SPI_TABLE3_MIN 8192
14 #define SPI_TABLE3_MAX 8215
15
16 #define SPIF_PROTECT 0x80000
17
18 typedef enum _USERPREFMASKS
19 {
20 UPM_ACTIVEWINDOWTRACKING = 0x01,
21 UPM_MENUANIMATION = 0x02,
22 UPM_COMBOBOXANIMATION = 0x04,
23 UPM_LISTBOXSMOOTHSCROLLING = 0x08,
24 UPM_GRADIENTCAPTIONS = 0x10,
25 UPM_KEYBOARDCUES = 0x20,
26 UPM_ACTIVEWNDTRKZORDER = 0x40,
27 UPM_HOTTRACKING = 0x80,
28 UPM_RESERVED = 0x100,
29 UPM_MENUFADE = 0x200,
30 UPM_SELECTIONFADE = 0x400,
31 UPM_TOOLTIPANIMATION = 0x800,
32 UPM_TOOLTIPFADE = 0x1000,
33 UPM_CURSORSHADOW = 0x2000,
34 UPM_CLICKLOCK = 0x8000,
35 // room for more
36 UPM_UIEFFECTS = 0x80000000,
37 UPM_DEFAULT = 0x80003E9E
38 } USERPREFMASKS;
39
40 typedef struct _SPIVALUES
41 {
42 /* Metrics */
43 NONCLIENTMETRICSW ncm;
44 MINIMIZEDMETRICS mm;
45 ICONMETRICSW im;
46 UINT uiFocusBorderWidth;
47 UINT uiFocusBorderHeight;
48
49 /* Accessability */
50 ACCESSTIMEOUT accesstimeout;
51 HIGHCONTRAST highcontrast;
52 BOOL bScreenReader;
53 #if(WINVER >= 0x0600)
54 AUDIODESCRIPTION audiodescription;
55 BOOL bClientAreaAnimation;
56 BOOL bDisableOverlappedContent;
57 ULONG ulMsgDuration;
58 BOOL bSpeechRecognition;
59 #endif
60
61 /* Sound */
62 SOUNDSENTRY soundsentry;
63 BOOL bShowSounds;
64 BOOL bBeep;
65
66 /* Mouse */
67 CURSORACCELERATION_INFO caiMouse;
68 MOUSEKEYS mousekeys;
69 BOOL bMouseClickLock;
70 BOOL bMouseCursorShadow;
71 DWORD dwMouseClickLockTime;
72 BOOL bMouseSonar;
73 BOOL bMouseVanish;
74 BOOL bMouseBtnSwap;
75 BOOL bSmoothScrolling;
76 INT iMouseSpeed;
77 INT iMouseHoverWidth;
78 INT iMouseHoverHeight;
79 INT iMouseHoverTime;
80 INT iDblClickWidth;
81 INT iDblClickHeight;
82 INT iDblClickTime;
83 INT iDragWidth;
84 INT iDragHeight;
85 INT iMouseTrails;
86 INT iWheelScrollLines;
87 #if (_WIN32_WINNT >= 0x0600)
88 UINT uiWheelScrollChars;
89 #endif
90
91 /* Keyboard */
92 FILTERKEYS filterkeys;
93 SERIALKEYS serialkeys;
94 STICKYKEYS stickykeys;
95 TOGGLEKEYS togglekeys;
96 DWORD dwKbdSpeed;
97 BOOL bKbdPref;
98 HKL hklDefInputLang;
99 INT iKbdDelay;
100
101 /* Screen saver */
102 INT iScrSaverTimeout;
103 BOOL bScrSaverActive;
104 BOOL bScrSaverRunning;
105 #if(WINVER >= 0x0600)
106 BOOL bScrSaverSecure;
107 #endif
108
109 /* Power */
110 INT iLowPwrTimeout;
111 INT iPwrOffTimeout;
112 BOOL bLowPwrActive;
113 BOOL bPwrOffActive;
114
115 /* UI Effects */
116 DWORD dwUserPrefMask;
117 BOOL bFontSmoothing;
118 UINT uiFontSmoothingType;
119 UINT uiFontSmoothingContrast;
120 UINT uiFontSmoothingOrientation;
121 BOOL bDragFullWindows;
122 BOOL bMenuDropAlign;
123 BOOL bFlatMenu;
124 DWORD dwMenuShowDelay;
125 BOOL bDropShadow;
126 BOOL bBlockSendInputResets;
127 #if(_WIN32_WINNT >= 0x0600)
128 BOOL bClearType;
129 #endif
130
131 /* Text metrics */
132 TEXTMETRICW tmMenuFont;
133 TEXTMETRICW tmCaptionFont;
134
135 BOOL bHandHeld;
136 BOOL bFastTaskSwitch;
137 UINT uiGridGranularity;
138 UNICODE_STRING ustrWallpaper;
139 WCHAR awcWallpaper[MAX_PATH];
140
141 ANIMATIONINFO animationinfo;
142 BOOL bSnapToDefBtn;
143 BOOL bShowImeUi;
144 DWORD dwForegroundLockTimeout;
145 DWORD dwActiveTrackingTimeout;
146 DWORD dwForegroundFlashCount;
147 DWORD dwCaretWidth;
148
149 // SPI_LANGDRIVER
150 // SPI_SETDESKPATTERN
151 // SPI_SETPENWINDOWS
152 // SPI_SETCURSORS
153 // SPI_SETICONS
154 // SPI_SETLANGTOGGLE
155 // SPI_GETWINDOWSEXTENSION
156
157 } SPIVALUES, *PSPIVALUES;
158
159 typedef union _SPIBUFFER
160 {
161 char ach[1];
162 WCHAR awcWallpaper[MAX_PATH+1];
163 FILTERKEYS fiterkeys;
164 TOGGLEKEYS togglekeys;
165 MOUSEKEYS mousekeys;
166 STICKYKEYS stickykeys;
167 ACCESSTIMEOUT accesstimeout;
168 SERIALKEYS serialkeys;
169 SOUNDSENTRY soundsentry;
170 NONCLIENTMETRICSW ncmetrics;
171 MINIMIZEDMETRICS mmmetrics;
172 ICONMETRICS iconmetrics;
173 HIGHCONTRAST highcontrast;
174 ANIMATIONINFO animationinfo;
175 #if(WINVER >= 0x0600)
176 AUDIODESCRIPTION audiodescription;
177 #endif
178 } SPIBUFFER;
179
180 extern SPIVALUES gspv;
181
182 #endif /* _WIN32K_SYSPARAMS_H */