mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 16:03:00 +00:00

This reverts commit 3b3741c10a
of #7679 .
It seems like the shell icon size is not the
system icon size.
The wide string L"Shell Small Icon Size" is detected in
shell32.dll and themeui.dll.
No L"Shell Small Icon Size" in win32k.sys found.
JIRA issue: CORE-12905
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)
|