/***************************************************************/
Type Couleur Defaut TailleSegment 8 ConserverObjets
/* Objet : Definition d'une couleur d'une palette. 			  */
/***************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet.  */
/*-------------------------------------------------------------*/
Prive :
	
	EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Proprietes propres.                     					      */
/*-------------------------------------------------------------*/
Prive :
	
   PaletteMere : Nul Ou Palette Virtuel Lecture Public;
	
   NomCouleur : Nul Ou Caractere Virtuel Lecture Public Trace;
	
   Gris : Entier Virtuel Lecture Public;
	
   Rouge : Entier Virtuel Lecture Public;
	
   Vert : Entier Virtuel Lecture Public;
	
   Bleu : Entier Virtuel Lecture Public;
	
   Y : Entier Virtuel Lecture Public;
	
   Cb : Entier Virtuel Lecture Public;
	
   Cr : Entier Virtuel Lecture Public;
	
   Cyan : Entier Virtuel Lecture Public;
	
   Magenta : Entier Virtuel Lecture Public;
	
   Jaune : Entier Virtuel Lecture Public;
	
   Noir : Entier Virtuel Lecture Public;
	
   Teinte : Entier Virtuel Lecture Public;
	
   Saturation : Entier Virtuel Lecture Public;
	
   Luminosite : Entier Virtuel Lecture Public;
	
   Opacite : Entier Virtuel Lecture Public;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'Objet.    					      */
/*-------------------------------------------------------------*/
Public :
	
	Fonction Optimiser(Invariant) Identique(O : Nul Ou Objet) Retourner Nul Ou Booleen;
	
	Procedure Convertir(O : Nul Ou Objet);
	
	Fonction Optimiser(Invariant) CreeParLeServeur() Retourner Entier;
	
	Fonction Optimiser(Invariant) CreeParLeProcessus() Retourner Entier;
	
	Fonction Optimiser(Invariant) CreeDansLEntrepot() Retourner Entrepot;
	
	Fonction Cloner(EntrepotCible : Nul Ou Entrepot=Nul, Profondeur : ModeClonage = ClonageObjetSeul) Retourner Nul Ou Objet;
	
	Fonction LirePropriete(NomPropriete : Caractere) Retourner Nul Ou Objet;
	
	Procedure EcrirePropriete(NomPropriete : Caractere, Valeur : Nul Ou Objet);
	
	Fonction IncrementerDecrementerPropriete(NomPropriete : Nul Ou Caractere, Incrementer : Booleen, Prefixe : Booleen) Retourner Nul Ou Objet;
	
	Procedure SupprimerPropriete(NomPropriete : Caractere);
	
	Fonction Optimiser(Invariant) EnumererProprietes(NumeroPropriete : Entier, TypePropriete : Nul Ou Type=? Sortie, PeutEtreNul : Booleen=? Sortie, Aide : Nul Ou Caractere=? Sortie, NomEnumere : Nul Ou Caractere=? Sortie) Retourner Nul Ou Caractere;
	
	Fonction Optimiser(Invariant) Adresse() Retourner Nul Ou Caractere;
Prive :
	
	Fonction Exporter(E : Nul Ou IEchangeElementaire) Retourner Boolean;
	
	Fonction Importer(E : Nul Ou IEchangeElementaire, EntrepotCible : Nul Ou Entrepot=Nul, EstFiltre : Booleen=Faux, V : Entier=0, R : Entier=0, C : Entier=0) Retourner Nul Ou Objet;
/*-------------------------------------------------------------*/
/* Methodes propres.                                           */
/*-------------------------------------------------------------*/
Public :
	
   Procedure Habilitation Supprimer();
	
   Operateur Optimiser(Invariant, NulAbsorbant) ==(C : Nul Ou Couleur) Retourner Nul Ou Booleen;
	
   Operateur Optimiser(Invariant, NulAbsorbant) !=(C : Nul Ou Couleur) Retourner Nul Ou Booleen;
Prive :
	
   Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Type
Le type Couleur modélise une couleur d'une palette.
Le type Couleur ne possède pas de constructeur. Les couleurs sont construites au travers de la palette.
Principal
/*******/
Variable
/******/
	C1 : Nul Ou Couleur;
	C2 : Nul Ou Couleur;
Debut
...
Si C1==C2 Alors
/* Egalité entre deux couleurs. */
	...
Fin Si
Si C1!=C2 Alors
/* Inégalité entre deux couleurs. */
	...
Fin Si
...
Fin Principal
| - | - | - | - | - | - | - | - | - |