#ifndef __CIcon__H
#define __CIcon__H

#include <stdarg.h>

#include "bool.h"
#include "Coords.h"
#include "Sprites.h"

typedef union
{
	char	t[12];
	char	s[12];
	char	st[12];
	struct
	{
		char*	buffer;
		char*	validation;
		int	buf_size;
	} it;
	struct
	{
		char*		sprite_name;
		CSpriteArea*	sprite_area;
		int		sprite_name_length;
	} is;
	struct
	{
		char*	buffer;
		char*	validation;
		int	buf_size;
	} ist;
} CIconData;

typedef enum
{
	EIcon_Text		= 0x00000001,
	EIcon_Sprite		= 0x00000002,
	EIcon_Border		= 0x00000004,
	EIcon_HCentre		= 0x00000008,
	EIcon_VCentre		= 0x00000010,
	EIcon_Filled		= 0x00000020,
	EIcon_Font		= 0x00000040,
	EIcon_Redraw		= 0x00000080,
	EIcon_Indirect		= 0x00000100,
	EIcon_RightAlign	= 0x00000200,
	EIcon_Adjust		= 0x00000400,
	EIcon_HalveSprite	= 0x00000800,
	EIcon_Selected		= 0x00200000,
	EIcon_Dimmed		= 0x00400000,
	EIcon_Deleted		= 0x00800000
} CIcon_Flags;

typedef struct
{
	CRect		box;
	int		flags;
	CIconData	data;
} CIcon;

#endif
