mirror of
https://github.com/reactos/reactos.git
synced 2024-12-29 10:35:28 +00:00
1128447196
- WIN32K and DESK.CPL: Add fit and fill background placement options. - DESK.CPL: Define wallpaper placement constants; update translations. - WIN32K: Fix coding style. CORE-13360
195 lines
4.3 KiB
C
195 lines
4.3 KiB
C
#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;
|
|
|
|
// 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)
|