//Objet contenant les images des boutons dans leurs différents états
OBJET *objBoutons;
//Défilement vertical de la liste des éléments
int offset;
//Message de statut
char *gblMessage;

//Nombre max de boutons
#define MAX_BOUTONS 20
//Nombre de boutons en ce moment
int nBoutons=MAX_BOUTONS;
//Hauteur de la liste
#define HAUT_LISTE 160
//Largeur de la liste
#define LARG_LISTE 180
//Espacement entre les boutons
#define ESPACEMENT 30

//Un événement (bouton) à sélectionner
typedef struct		{
	char *texte;
	char *message;
} EVENEMENT;

class CBouton		{
private:
public:
	int x,y, pointe, clique;
	EVENEMENT *ev;

	void Init(int _x, int _y)			{
		x=_x, y=_y;
		pointe=clique=0;
	}

	void SetEvent(EVENEMENT *_ev)		{
		ev=_ev;
	}

	int Gere(int xsouris, int ysouris, int clic)			{
		if (xsouris>=x && ysouris>y && xsouris<=x+180 && ysouris<=y+25 && ysouris-offset>=0 && ysouris-offset<=HAUT_LISTE)			{
			pointe=1;
			gblMessage=ev->message;
			if (clic)
				clique=1;
		}
		else
			pointe=0;
		if (clique && !testTouche(T_SOURIS_GAUCHE))				{
			clique=0;
			if (pointe)
				return 1;
		}
		return 0;
	}

	void Dessine()			{
		int i=0;
		if (skip)
			return;
		if (clique && pointe)		{
			BlitObjet(objBoutons,x,y-offset,25,50);
			i=1;
		}
		else if (pointe && !testTouche(T_SOURIS_GAUCHE))
			BlitObjet(objBoutons,x,y-offset,25,25);
		else
			BlitObjet(objBoutons,x,y-offset,25,0);
		ChangeFonte("Verdana",14);
//		ChangeFonte("Ms sans serif",12);
		CouleurTexte(BLANC);
		DessTexte(x+10+i,y+6+i-offset,ev->texte);
//		ChangeFonte("Verdana",14);
	}

};

