Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202#pragma once
// Create one struct// Make usable for different users (multiple structs!)
#define SPI_TABLE1_MIN 1#define SPI_TABLE1_MAX 119#define SPI_TABLE2_MIN 4096#define SPI_TABLE2_MAX 4171#define SPI_TABLE3_MIN 8192#define SPI_TABLE3_MAX 8215
#define SPIF_PROTECT 0x80000
typedef enum _USERPREFMASKS{ UPM_ACTIVEWINDOWTRACKING = 0x01, UPM_MENUANIMATION = 0x02, UPM_COMBOBOXANIMATION = 0x04, UPM_LISTBOXSMOOTHSCROLLING = 0x08, UPM_GRADIENTCAPTIONS = 0x10, UPM_KEYBOARDCUES = 0x20, UPM_ACTIVEWNDTRKZORDER = 0x40, UPM_HOTTRACKING = 0x80, UPM_RESERVED = 0x100, UPM_MENUFADE = 0x200, UPM_SELECTIONFADE = 0x400, UPM_TOOLTIPANIMATION = 0x800, UPM_TOOLTIPFADE = 0x1000, UPM_CURSORSHADOW = 0x2000, UPM_CLICKLOCK = 0x8000, UPM_FLATMENU = 0x20000, UPM_DROPSHADOW = 0x40000, // room for more UPM_UIEFFECTS = 0x80000000, UPM_DEFAULT = 0x80003E9E} USERPREFMASKS;
typedef enum{ wmCenter = 0, wmTile, wmStretch, wmFit, wmFill} WALLPAPER_MODE;
typedef struct _SPIVALUES{ /* Metrics */ NONCLIENTMETRICSW ncm; MINIMIZEDMETRICS mm; ICONMETRICSW im; UINT uiFocusBorderWidth; UINT uiFocusBorderHeight;
/* Accessability */ ACCESSTIMEOUT accesstimeout; HIGHCONTRASTW highcontrast; BOOL bScreenReader;#if(WINVER >= 0x0600) AUDIODESCRIPTION audiodescription; BOOL bClientAreaAnimation; BOOL bDisableOverlappedContent; ULONG ulMsgDuration; BOOL bSpeechRecognition;#endif
/* Sound */ SOUNDSENTRYW soundsentry; BOOL bShowSounds; BOOL bBeep;
/* Mouse */ CURSORACCELERATION_INFO caiMouse; MOUSEKEYS mousekeys; BOOL bMouseClickLock; BOOL bMouseCursorShadow; DWORD dwMouseClickLockTime; BOOL bMouseSonar; BOOL bMouseVanish; BOOL bMouseBtnSwap; BOOL bSmoothScrolling; INT iMouseSpeed; INT iMouseHoverWidth; INT iMouseHoverHeight; INT iMouseHoverTime; INT iDblClickWidth; INT iDblClickHeight; INT iDblClickTime; INT iDragWidth; INT iDragHeight; INT iMouseTrails; INT iWheelScrollLines;#if (_WIN32_WINNT >= 0x0600) UINT uiWheelScrollChars;#endif
/* Keyboard */ FILTERKEYS filterkeys; SERIALKEYS serialkeys; STICKYKEYS stickykeys; TOGGLEKEYS togglekeys; DWORD dwKbdSpeed; BOOL bKbdPref; HKL hklDefInputLang; INT iKbdDelay;
/* Screen saver */ INT iScrSaverTimeout; BOOL bScrSaverActive; BOOL bScrSaverRunning;#if(WINVER >= 0x0600) BOOL bScrSaverSecure;#endif
/* Power */ INT iLowPwrTimeout; INT iPwrOffTimeout; BOOL bLowPwrActive; BOOL bPwrOffActive;
/* UI Effects */ DWORD dwUserPrefMask; BOOL bFontSmoothing; UINT uiFontSmoothingType; UINT uiFontSmoothingContrast; UINT uiFontSmoothingOrientation; BOOL bDragFullWindows; BOOL bMenuDropAlign; DWORD dwMenuShowDelay; BOOL bBlockSendInputResets;#if(_WIN32_WINNT >= 0x0600) BOOL bClearType;#endif
/* Text metrics */ TEXTMETRICW tmMenuFont; TEXTMETRICW tmCaptionFont;
/* Wallpaper */ HANDLE hbmWallpaper; ULONG cxWallpaper, cyWallpaper; WALLPAPER_MODE WallpaperMode; UNICODE_STRING ustrWallpaper; WCHAR awcWallpaper[MAX_PATH + 1];
BOOL bHandHeld; BOOL bFastTaskSwitch; UINT uiGridGranularity;
ANIMATIONINFO animationinfo; BOOL bSnapToDefBtn; BOOL bShowImeUi; DWORD dwForegroundLockTimeout; DWORD dwActiveTrackingTimeout; DWORD dwForegroundFlashCount; DWORD dwCaretWidth;
/* Snap */ // BOOL bWinArranging; (g_bWindowSnapEnabled) BOOL bDockMoving; // BOOL bSnapSizing; // BOOL bDragFromMaximize;
// SPI_LANGDRIVER// SPI_SETDESKPATTERN// SPI_SETPENWINDOWS// SPI_SETCURSORS// SPI_SETICONS// SPI_SETLANGTOGGLE// SPI_GETWINDOWSEXTENSION
} SPIVALUES, *PSPIVALUES;
typedef union _SPIBUFFER{ char ach[1]; WCHAR awcWallpaper[MAX_PATH+1]; FILTERKEYS fiterkeys; TOGGLEKEYS togglekeys; MOUSEKEYS mousekeys; STICKYKEYS stickykeys; ACCESSTIMEOUT accesstimeout; SERIALKEYS serialkeys; SOUNDSENTRYW soundsentry; NONCLIENTMETRICSW ncmetrics; MINIMIZEDMETRICS mmmetrics; ICONMETRICSW iconmetrics; HIGHCONTRASTW highcontrast; ANIMATIONINFO animationinfo;#if(WINVER >= 0x0600) AUDIODESCRIPTION audiodescription;#endif} SPIBUFFER;
extern SPIVALUES gspv;extern BOOL g_PaintDesktopVersion;
BOOL InitSysParams();#define SPITESTPREF(x) (gspv.dwUserPrefMask & x ? 1 : 0)