/*====================ÉCOLE POLYTECHNIQUE DE MONTRÉAL============================

	NOM DU FICHIER :CEditeurBande.h

	DESCRIPTION :	Ce fichier contient la déclaration de la classe CEditeurBande,
					l'objet représentant une bande.

	AUTEUR : Martin Bisson, Anne-Marie Buki, Mylène Denis & Jean-François Pérusse

	DATE DE CRÉATION : 2004-3-17

	MISES À JOUR :

===============================================================================*/

#ifndef CEDITEURBANDE_H
#define CEDITEURBANDE_H

#include "CEditeurObjet.h"
#include "CPngTexture.h"

class CEditeurBande : public CEditeurObjet
{
    static CPngTexture TextureBande;
    const type_editeurobjet leType;
    float mince, longueur;
    
    int angle() const { return 45 * (leType - EDITEUROBJET_BANDE_N); }
    
public:
    // Constructeur
    CEditeurBande(const vector2f& pos = vector2f(0,0), type_editeurobjet t = EDITEUROBJET_BANDE_N);
    
    // Fonction retournant le type de l'objet
    virtual type_editeurobjet GetType() const;
    
    // Fonction affichant l'objet.  Si ADetruire est vrai, elle l'affiche
    // comme si on essayait de l'enlever
    virtual void Affiche(bool ADetruire = false) const;
    
    // Fonction qui retourne une copie identique nouvellement allouée
    // de l'objet
    virtual CEditeurObjet* GetNewCopy() const;
    
    // Fonction qui retourne vrai si la souris est au-dessus de l'objet
    virtual bool MouseOver(float MouseX, float MouseY) const;
    
    // Fonction statique qui charge les textures, s'il y a lieu
    static bool ChargeTextures();
    static bool DechargeTextures();
};

#endif  // CEDITEURBANDE_H
