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