/*_____________________________________________________
 * objet rectangle
 * par Martin Robinson
 * dépend de l'objet point
 *_____________________________________________________
 * preprocesseur
 */

#pragma once
#ifndef _RECT
#define _RECT
#include "point.hpp"

/*_________________________________
 * definition d'objet
 */

class rectangle{

    point _a,           //coin inferieur gauche
          _b;           //coin superieur droit
public:
    //constructeur
    rectangle();                                //initialisation sans argument
    rectangle(int x1, int y1, int x2, int y2);  //avec coordonnée
    //destructeur
    ~rectangle();   //inutile car il n'y a pas d'allocation dynamique
    //mutator
    void init(int x1, int y1, int x2, int y2);  //initialisateur universel
    void normalizeX();                  //met les coordonnée en ordre
    void normalizeY();
    //getter
    int getX1()const;                           //acquerir coordonnée
    int getY1()const;
    int getX2()const;
    int getY2()const;
    //setter
    void setX1(int x);                          //modifier coordonnée
    void setY1(int y);
    void setX2(int x);
    void setY2(int y);
    //calculator
    int width()const;                           //calculer largeur
    int heigth()const;                          //calculer hauteur
    int perimeter()const;                       //calculer perimetre
    int area()const;                            //calculer surface
};



#endif
