reactos/dll/cpl/desk/appearance.h
Art Yerkes c501d8112c Create a branch for network fixes.
svn path=/branches/aicom-network-fixes/; revision=34994
2008-08-01 11:32:26 +00:00

91 lines
2.2 KiB
C

/* Some definitions for appearance page */
#define SIZE_BORDER_X 0
#define SIZE_BORDER_Y 1
#define SIZE_CAPTION_Y 2
#define SIZE_ICON_X 3
#define SIZE_ICON_Y 4
#define SIZE_ICON_SPC_X 5
#define SIZE_ICON_SPC_Y 6
#define SIZE_MENU_X 7
#define SIZE_MENU_Y 8
#define SIZE_SCROLL_X 9
#define SIZE_SCROLL_Y 10
#define SIZE_SMCAPTION_Y 11
#define FONT_CAPTION 0
#define FONT_SMCAPTION 1
#define FONT_HILIGHT 2
#define FONT_MENU 2
#define FONT_ICON 3
#define FONT_INFO 4
#define FONT_DIALOG 5
#define NUM_ELEMENTS 22
#define NUM_FONTS 6
#define NUM_SIZES 13
#define NUM_COLORS 31
#define MAX_TEMPLATES 50
#define MAX_COLORNAMELENGTH 30
#define MAX_TEMPLATENAMELENTGH 80
/* Some typedefs for appearance */
typedef struct
{
COLORREF crColor[NUM_COLORS];
LOGFONT lfFont[NUM_FONTS];
UINT64 Size[NUM_SIZES];
BOOL bFlatMenus;
BOOL bHasChanged;
BOOL bIsCustom;
} THEME;
typedef struct
{
TCHAR strKeyName[4];
TCHAR strSizeName[4];
TCHAR strDisplayName[MAX_TEMPLATENAMELENTGH];
TCHAR strLegacyName[MAX_TEMPLATENAMELENTGH];
INT NumSizes;
} THEME_PRESET;
typedef struct
{
int Size;
int Size2;
int Color1;
int Color2;
int Font;
int FontColor;
} ASSIGNMENT;
/* This is the global structure used to store the current values.
A pointer of this get's passed to the functions either directly
or by passing hwnd and getting the pointer by GetWindowLongPtr */
typedef struct tagGLOBALS
{
THEME_PRESET ThemeTemplates[MAX_TEMPLATES];
THEME Theme;
THEME ThemeAdv;
INT ColorList[NUM_COLORS];
HBITMAP hbmpColor[3];
INT CurrentElement;
COLORREF crCOLOR_BTNFACE;
COLORREF crCOLOR_BTNSHADOW;
COLORREF crCOLOR_BTNTEXT;
COLORREF crCOLOR_BTNHIGHLIGHT;
HFONT hBoldFont;
HFONT hItalicFont;
} GLOBALS;
extern const ASSIGNMENT g_Assignment[NUM_ELEMENTS];
extern const TCHAR g_RegColorNames[NUM_COLORS][MAX_COLORNAMELENGTH];
extern const INT g_SizeMetric[NUM_SIZES];
/* prototypes for appearance.c */
INT_PTR CALLBACK AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
/* prototypes for advappearancedlg.c */
INT_PTR CALLBACK AdvAppearanceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);