summaryrefslogtreecommitdiff
path: root/canevas.h
blob: 64b833a76a965f519fe651ac6a03a30e49ace331 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/********
 * Fichier: canevas.h
 * Auteurs: C.-A. Brunet
 * Date: 08 janvier 2018 (creation)
 * Description: Declaration de la classe Canevas. La classe gere un
 *    tableau de couches en accord avec les specifications de Graphicus.
 *    Ce fichier fait partie de la distribution de Graphicus.
********/

#ifndef __DESSIN_H__
#define __DESSIN_H__

#include <iostream>
#include "forme.h"
#include "couche.h"

const int MAX_COUCHES = 5;

using namespace std;

class Canevas {
public:
   Canevas();
   ~Canevas();

   bool reinitialiser();

   bool activerCouche(int index);
   bool cacherCouche(int index);

   bool ajouterForme(Forme *p_forme);
   bool retirerForme(int index);

   double aire();
   bool translater(int deltaX, int deltaY);
   void afficher(ostream & s);
   bool reinitialiserCouche(int index);

private:
     Couche couches[MAX_COUCHES];
};

#endif