//-----------------------------------------------------------------------------
// File: uielements.h
//
// Desc: Defines various UI element definitions used throughout the UI.
//
// Copyright (C) 1999-2001 Microsoft Corporation. All Rights Reserved.
//-----------------------------------------------------------------------------

#ifndef __DEFINE_ELEMENT_STRUCTURES__


#ifndef __UIELEMENTS_H_ENUMS__
#define __UIELEMENTS_H_ENUMS__


enum UIELEMENT {
	UIE_VOID,
	//
	UIE_TAB,
	UIE_TABARROW,
	UIE_SELTAB,
	UIE_BUTTON,
	UIE_DEFBUTTON,
	UIE_BORDER,
	UIE_VIEWSEL,
	UIE_DEVOBJ,
	UIE_GLYPH,
	UIE_CALLOUT,
	UIE_CALLOUTHIGH,
	UIE_CALLOUTSHADOW,
	UIE_CALLOUTMAX,
	UIE_CALLOUTALIGN,
	UIE_VIEWBORDER,
	UIE_SBTRACK,
	UIE_SBTHUMB,
	UIE_SBBUTTON,
	UIE_USERNAMES,
	UIE_USERNAMESEL,
	UIE_ACTION,
	UIE_ACTIONLABEL,
	UIE_PICERRORTEXT,
	UIE_PICCUSTOMTEXT,
	UIE_PICCUSTOM2TEXT,
	UIE_ERRORHEADER,
	UIE_ERRORMESSAGE,
};

enum UIFONT {
	UIF_VOID,
	UIF_LAST,
	//
	UIF_FRAME,
	UIF_DEVOBJ,
	UIF_CALLOUT,
	UIF_ACTION,
	UIF_ACTIONLABEL,
	UIF_INFO,
	UIF_VIEWSEL,
	UIF_PICERROR,
	UIF_PICCUSTOM,
	UIF_PICCUSTOM2,
	UIF_ERRORHEADER,
	UIF_ERRORMESSAGE,
};

enum UIBRUSH {
	UIB_VOID,
	UIB_LAST,
	UIB_NULL,
	//
	UIB_BLACK,
	UIB_AREAFILL,
	UIB_HIGHLIGHTFILL,
	UIB_SB,
};

enum UIPEN {
	UIP_VOID,
	UIP_LAST,
	UIP_NULL,
	//
	UIP_BORDER,
	UIP_BLACK,
	UIP_AREAFILL,
	UIP_TEXTFORE,
	UIP_VIEWSELGRID,
	UIP_CALLOUTLINE,
	UIP_CALLOUTHIGHLIGHT,
	UIP_CALLOUTMAX,
	UIP_CALLOUTALIGN,
	UIP_VIEWBORDER,
	UIP_SELTHUMB,
};

enum UICOLOR {
	UIC_VOID,
	UIC_LAST,
	UIC_NULL,
	//
	UIC_BLACK,
	UIC_WHITE,
	UIC_RED,
	//
	UIC_TEXTFORE,
	UIC_TEXTHIGHLIGHT,
	UIC_CALLOUTLINE,
	UIC_CALLOUTHIGHLIGHT,
	UIC_BORDER,
	UIC_CONTROLFILL,
	UIC_HIGHLIGHTFILL,
	UIC_AREAFILL,
	//
	UIC_PICERRORTEXT,
};


#endif //__UIELEMENTS_H_ENUMS__


#else // __DEFINE_ELEMENT_STRUCTURES__


#ifndef __UIELEMENTS_H_TABLES__
#define __UIELEMENTS_H_TABLES__


static const UIELEMENTINFO uielement[] = {
	{UIE_TAB,			UIF_FRAME,			UIB_NULL,			UIP_BORDER,				UIC_BORDER,				UIC_NULL},
	{UIE_TABARROW,		UIF_LAST,			UIB_BLACK,			UIP_BORDER,				UIC_LAST,				UIC_LAST},
	{UIE_SELTAB,		UIF_FRAME,			UIB_HIGHLIGHTFILL,	UIP_BORDER,				UIC_BORDER,				UIC_NULL},
	{UIE_BUTTON,		UIF_FRAME,			UIB_NULL,			UIP_AREAFILL,			UIC_AREAFILL,			UIC_NULL},
	{UIE_DEFBUTTON,		UIF_FRAME,			UIB_HIGHLIGHTFILL,	UIP_BORDER,				UIC_BORDER,				UIC_NULL},
	{UIE_BORDER,		UIF_LAST,			UIB_NULL,			UIP_BORDER,				UIC_LAST,				UIC_LAST},
	{UIE_VIEWSEL,		UIF_VIEWSEL,		UIB_NULL,			UIP_NULL,				UIC_TEXTFORE,			UIC_NULL},
	{UIE_DEVOBJ,		UIF_DEVOBJ,			UIB_LAST,			UIP_LAST,				UIC_TEXTFORE,			UIC_BLACK},
	{UIE_GLYPH,			UIF_LAST,			UIB_LAST,			UIP_LAST,				UIC_TEXTFORE,			UIC_NULL},
	{UIE_CALLOUT,		UIF_CALLOUT,		UIB_AREAFILL,		UIP_CALLOUTLINE,		UIC_TEXTFORE,			UIC_AREAFILL},
	{UIE_CALLOUTHIGH,	UIF_CALLOUT,		UIB_AREAFILL,		UIP_CALLOUTHIGHLIGHT,	UIC_TEXTHIGHLIGHT,		UIC_AREAFILL},
	{UIE_CALLOUTSHADOW,	UIF_LAST,			UIB_LAST,			UIP_AREAFILL,			UIC_LAST,				UIC_LAST},
	{UIE_CALLOUTMAX,	UIF_LAST,			UIB_NULL,			UIP_CALLOUTMAX,			UIC_LAST,				UIC_NULL},
	{UIE_CALLOUTALIGN,	UIF_LAST,			UIB_LAST,			UIP_CALLOUTALIGN,		UIC_LAST,				UIC_LAST},
	{UIE_VIEWBORDER,	UIF_LAST,			UIB_NULL,			UIP_VIEWBORDER,			UIC_LAST,				UIC_NULL},
	{UIE_SBTRACK,		UIF_LAST,			UIB_AREAFILL,		UIP_NULL,				UIC_LAST,				UIC_LAST},
	{UIE_SBTHUMB,		UIF_LAST,			UIB_SB,				UIP_NULL,				UIC_LAST,				UIC_LAST},
	{UIE_SBBUTTON,		UIF_LAST,			UIB_SB,				UIP_BORDER,				UIC_LAST,				UIC_LAST},
	{UIE_USERNAMES,		UIF_LAST,			UIB_SB,				UIP_BORDER,				UIC_TEXTFORE,			UIC_AREAFILL},
	{UIE_USERNAMESEL,	UIF_LAST,			UIB_LAST,			UIP_LAST,				UIC_AREAFILL,			UIC_TEXTFORE},
	{UIE_ACTION,		UIF_ACTION,			UIB_LAST,			UIP_LAST,				UIC_TEXTFORE,			UIC_NULL},
	{UIE_ACTIONLABEL,	UIF_ACTIONLABEL,	UIB_LAST,			UIP_LAST,				UIC_TEXTFORE,			UIC_NULL},
	{UIE_PICERRORTEXT,	UIF_PICERROR,		UIB_LAST,			UIP_LAST,				UIC_PICERRORTEXT,		UIC_BLACK},
	{UIE_PICCUSTOMTEXT,	UIF_PICCUSTOM,		UIB_LAST,			UIP_LAST,				UIC_PICERRORTEXT,		UIC_BLACK},
	{UIE_PICCUSTOM2TEXT,UIF_PICCUSTOM2,		UIB_LAST,			UIP_LAST,				UIC_PICERRORTEXT,		UIC_BLACK},
	{UIE_ERRORHEADER,	UIF_ERRORHEADER,	UIB_LAST,			UIP_LAST,				UIC_PICERRORTEXT,		UIC_BLACK},
	{UIE_ERRORMESSAGE,	UIF_ERRORMESSAGE,	UIB_LAST,			UIP_LAST,				UIC_PICERRORTEXT,		UIC_BLACK},
};

static const UIFONTINFO uifont[] = {
	{UIF_FRAME,				_T("System"),			9,		TRUE,		NULL},
	{UIF_DEVOBJ,			_T("System"),	10,		TRUE,		NULL},
	{UIF_CALLOUT,			_T("System"),			10,		FALSE,		NULL},
	{UIF_ACTION,			_T("System"),			8,		FALSE,		NULL},
	{UIF_ACTIONLABEL,		_T("System"),			12,		TRUE,		NULL},
	{UIF_INFO,				_T("System"),			9,		TRUE,		NULL},
	{UIF_VIEWSEL,			_T("System"),			8,		TRUE,		NULL},
	{UIF_PICERROR,			_T("Arial"),			30,		TRUE,		NULL},
	{UIF_PICCUSTOM,			_T("Arial"),			30,		TRUE,		NULL},
	{UIF_PICCUSTOM2,		_T("Arial"),			15,		TRUE,		NULL},
	{UIF_ERRORHEADER,		_T("Arial"),			60,		TRUE,		NULL},
	{UIF_ERRORMESSAGE,		_T("Arial"),			30,		TRUE,		NULL},
};

static const UIBRUSHINFO uibrush[] = {
	{UIB_BLACK,			UIC_BLACK,			NULL,	NULL},
	{UIB_AREAFILL,		UIC_AREAFILL,		NULL,	NULL},
	{UIB_HIGHLIGHTFILL,	UIC_HIGHLIGHTFILL,	NULL,	NULL},
	{UIB_SB,			UIC_CONTROLFILL,	NULL,	NULL},
};

static const UIPENINFO uipen[] = {
	{UIP_BORDER,			PS_SOLID,	1,	UIC_BORDER,				NULL},
	{UIP_BLACK,				PS_SOLID,	1,	UIC_BLACK,				NULL},
	{UIP_AREAFILL,			PS_SOLID,	1,	UIC_AREAFILL,			NULL},
	{UIP_TEXTFORE,			PS_SOLID,	1,	UIC_TEXTFORE,			NULL},
	{UIP_VIEWSELGRID,		PS_SOLID,	1,	UIC_WHITE,				NULL},
	{UIP_CALLOUTLINE,		PS_SOLID,	1,	UIC_CALLOUTLINE,		NULL},
	{UIP_CALLOUTHIGHLIGHT,	PS_SOLID,	1,	UIC_CALLOUTHIGHLIGHT,	NULL},
	{UIP_CALLOUTMAX,		PS_DOT,		1,	UIC_WHITE,				NULL},
	{UIP_CALLOUTALIGN,		PS_SOLID,	1,	UIC_RED,				NULL},
	{UIP_VIEWBORDER,		PS_DOT,		1,	UIC_RED,				NULL},
	{UIP_SELTHUMB,			PS_SOLID,	3,	UIC_WHITE,				NULL},
};

static const UICOLORINFO uicolor[] = {
	{UIC_WHITE,				RGB(255, 255, 255)},
	{UIC_BLACK,				RGB(  0,   0,   0)},
	{UIC_RED,				RGB(255,   0,   0)},
	//
	{UIC_TEXTFORE,			RGB(191,   0,   0)},
	{UIC_TEXTHIGHLIGHT,		RGB(255,   0,   0)},
	{UIC_CALLOUTLINE,		RGB(191,   0,   0)},
	{UIC_CALLOUTHIGHLIGHT,	RGB(255,   0,   0)},
	{UIC_BORDER,			RGB(255,   0,   0)},
	{UIC_CONTROLFILL,		RGB(127,   0,   0)},
	{UIC_HIGHLIGHTFILL,		RGB(  0,   0,   0)},
	{UIC_AREAFILL,			RGB(  0,   0,   0)},
	//
	{UIC_PICERRORTEXT,		RGB(128, 128, 128)},
};


const int NUMUIELEMENTS = sizeof(uielement) / sizeof(UIELEMENTINFO);
const int NUMUIFONTS = sizeof(uifont) / sizeof(UIFONTINFO);
const int NUMUIBRUSHES = sizeof(uibrush) / sizeof(UIBRUSHINFO);
const int NUMUIPENS = sizeof(uipen) / sizeof(UIPENINFO);
const int NUMUICOLORS = sizeof(uicolor) / sizeof(UICOLORINFO);


#endif // __UIELEMENTS_H_TABLES__


#endif //__DEFINE_ELEMENT_STRUCTURES__
