blob: 4ef44a22b58ede5678261e06a6b754ce8f1b4333 (
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
44
45
46
47
48
49
|
/********
* Fichier: couche.h
* Auteurs: C.-A. Brunet
* Date: 08 janvier 2018 (creation)
* Description: Declaration de la classe pour une couche dans un
* canevas. La classe Couche gere un vecteur de pointeur de formes
* geometriques en accord avec les specifications de Graphicus.
* Ce fichier fait partie de la distribution de Graphicus.
********/
#ifndef __COUCHE_H__
#define __COUCHE_H__
#define STATE_INIT 0 // Couche initialisee mais vide
#define STATE_ACTIVE 1 // Couche active (peut-etre modifiee)
#define STATE_INACTIVE 2 // Couche inactive (non modifiable)
#include "vecteur.h"
class Couche {
private:
int state;
Vecteur vecteur;
public:
// Initialisation
Couche();
~Couche();
// Informations
int getEtat();
Forme *getForme(int index);
double aire();
void afficher(ostream &s);
// Modifications
bool changerEtat(int newState);
bool translater(int deltaX, int deltaY);
bool ajouterForme(Forme *f);
Forme *supprimerForme(int index);
bool reinitialiser();
};
static const char* const STATES[] = {
"initialisee",
"actif",
"inactif"
};
#endif
|