1 /* Some definitions for theme */
2 #define SIZE_BORDER_X 0
3 #define SIZE_BORDER_Y 1
4 #define SIZE_CAPTION_Y 2
7 #define SIZE_ICON_SPC_X 5
8 #define SIZE_ICON_SPC_Y 6
9 #define SIZE_MENU_SIZE_X 7
11 #define SIZE_SCROLL_X 9
12 #define SIZE_SCROLL_Y 10
13 #define SIZE_SMCAPTION_Y 11
14 #define SIZE_EDGE_X 12
15 #define SIZE_EDGE_Y 13
16 #define SIZE_FRAME_Y 14
17 #define SIZE_MENU_CHECK_X 15
18 #define SIZE_MENU_CHECK_Y 16
19 #define SIZE_MENU_SIZE_Y 17
20 #define SIZE_SIZE_X 18
21 #define SIZE_SIZE_Y 19
23 #define FONT_CAPTION 0
24 #define FONT_SMCAPTION 1
25 #define FONT_HILIGHT 2
31 #define NUM_ELEMENTS 22
35 #define MAX_TEMPLATES 50
36 #define MAX_COLORNAMELENGTH 30
37 #define MAX_TEMPLATENAMELENTGH 80
39 /* Some typedefs for theme */
41 /* Most (but not all) fields below correspond to HKCU\Control Panel\Desktop\UserPreferencesMask */
44 BOOL bActiveWindowTracking
;
46 BOOL bComboBoxAnimation
;
47 BOOL bListBoxSmoothScrolling
;
48 BOOL bGradientCaptions
;
50 BOOL bActiveWndTrkZorder
;
54 BOOL bTooltipAnimation
;
59 BOOL bDragFullWindows
;
60 UINT uiFontSmoothingType
;
65 COLORREF crColor
[NUM_COLORS
];
66 LOGFONT lfFont
[NUM_FONTS
];
67 UINT64 Size
[NUM_SIZES
];
76 TCHAR strDisplayName
[MAX_TEMPLATENAMELENTGH
];
77 TCHAR strLegacyName
[MAX_TEMPLATENAMELENTGH
];
80 extern const TCHAR g_RegColorNames
[NUM_COLORS
][MAX_COLORNAMELENGTH
];
81 extern const INT g_SizeMetric
[NUM_SIZES
];
82 extern THEME_PRESET g_ThemeTemplates
[MAX_TEMPLATES
];
84 /* prototypes for theme.c */
85 VOID
LoadCurrentTheme(THEME
* theme
);
86 BOOL
LoadThemeFromReg(THEME
* theme
, INT ThemeId
);
87 VOID
ApplyTheme(THEME
* theme
, INT ThemeId
);
88 BOOL
SaveTheme(THEME
* theme
, LPCTSTR strLegacyName
);
89 INT
LoadThemePresetEntries(LPTSTR pszSelectedStyle
);