1
+ /* Some definitions for theme */
2
+ #define SIZE_BORDER_X 0
3
+ #define SIZE_BORDER_Y 1
4
+ #define SIZE_CAPTION_Y 2
5
+ #define SIZE_ICON_X 3
6
+ #define SIZE_ICON_Y 4
7
+ #define SIZE_ICON_SPC_X 5
8
+ #define SIZE_ICON_SPC_Y 6
9
+ #define SIZE_MENU_SIZE_X 7
10
+ #define SIZE_MENU_Y 8
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
22
+
23
+ #define FONT_CAPTION 0
24
+ #define FONT_SMCAPTION 1
25
+ #define FONT_HILIGHT 2
26
+ #define FONT_MENU 2
27
+ #define FONT_ICON 3
28
+ #define FONT_INFO 4
29
+ #define FONT_DIALOG 5
30
+
31
+ #define NUM_ELEMENTS 22
32
+ #define NUM_FONTS 6
33
+ #define NUM_SIZES 20
34
+ #define NUM_COLORS 31
35
+ #define MAX_TEMPLATES 50
36
+ #define MAX_TEMPLATENAMELENTGH 80
37
+
38
+ /* Some typedefs for theme */
39
+
40
+ /* Most (but not all) fields below correspond to HKCU\Control Panel\Desktop\UserPreferencesMask */
41
+ typedef struct
42
+ {
43
+ BOOL bActiveWindowTracking ;
44
+ BOOL bMenuAnimation ;
45
+ BOOL bComboBoxAnimation ;
46
+ BOOL bListBoxSmoothScrolling ;
47
+ BOOL bGradientCaptions ;
48
+ BOOL bKeyboardCues ;
49
+ BOOL bActiveWndTrkZorder ;
50
+ BOOL bHotTracking ;
51
+ BOOL bMenuFade ;
52
+ BOOL bSelectionFade ;
53
+ BOOL bTooltipAnimation ;
54
+ BOOL bTooltipFade ;
55
+ BOOL bCursorShadow ;
56
+ BOOL bUiEffects ;
57
+ BOOL bFontSmoothing ;
58
+ BOOL bDragFullWindows ;
59
+ UINT uiFontSmoothingType ;
60
+ } EFFECTS ;
61
+
62
+ typedef struct
63
+ {
64
+ COLORREF crColor [NUM_COLORS ];
65
+ LOGFONT lfFont [NUM_FONTS ];
66
+ INT Size [NUM_SIZES ];
67
+ BOOL bFlatMenus ;
68
+ EFFECTS Effects ;
69
+ } COLOR_SCHEME ;
70
+
71
+ typedef struct
72
+ {
73
+ TCHAR strKeyName [4 ];
74
+ TCHAR strSizeName [4 ];
75
+ TCHAR strDisplayName [MAX_TEMPLATENAMELENTGH ];
76
+ TCHAR strLegacyName [MAX_TEMPLATENAMELENTGH ];
77
+ } SCHEME_PRESET ;
78
+
1
79
/* Some typedefs for appearance */
2
80
3
81
/* This is the global structure used to store the current values.
@@ -16,6 +94,15 @@ typedef struct tagGLOBALS
16
94
BOOL bInitializing ;
17
95
} GLOBALS ;
18
96
97
+ extern SCHEME_PRESET g_ColorSchemes [MAX_TEMPLATES ];
98
+
99
+ /* prototypes for theme.c */
100
+ VOID LoadCurrentScheme (COLOR_SCHEME * scheme );
101
+ BOOL LoadSchemeFromReg (COLOR_SCHEME * scheme , INT SchemeId );
102
+ VOID ApplyScheme (COLOR_SCHEME * scheme , INT SchemeId );
103
+ BOOL SaveScheme (COLOR_SCHEME * scheme , LPCTSTR strLegacyName );
104
+ INT LoadSchemePresetEntries (LPTSTR pszSelectedStyle );
105
+
19
106
/* prototypes for appearance.c */
20
107
INT_PTR CALLBACK AppearancePageProc (HWND hwndDlg , UINT uMsg , WPARAM wParam , LPARAM lParam );
21
108
0 commit comments