/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N S D E S F O N C T I O N S : */
/* */
/* */
/* Definition : */
/* */
/* Dans ce fichier, se trouvent toutes */
/* les definitions de macros relatives */
/* aux fonctions. */
/* */
/* */
/* Author of '$xiidc/fonction.1$DEF' : */
/* */
/* Jean-Francois Colonna (LACTAMME, 19870000000000). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* O P P O R T U N I T E D E C O M P I L E R C E M O D U L E : */
/* */
/*************************************************************************************************************************************/
#ifdef CUBI7
# define __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7 \
/* La compilation de la bibliotheque est conditionnelle... */
#Aifdef CUBI7
#Eifdef CUBI7
#ifdef __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D U F O R M A T " F L O T T A N T " D U C U B I 7 : */
/* */
/*************************************************************************************************************************************/
# define Float_cubi7 \
vrai_Float_de_base \
/* La bibliotheque ne connait que la simple precision... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D E S F O N C T I O N S D E P A S S A G E D E S */
/* C O O R D O N N E E S A U X L O N G U E U R S E T I N V E R S E M E N T : */
/* */
/*************************************************************************************************************************************/
# define C7XR(abscisse) \
COOR(abscisse,Xmin7) \
/* Passage d'un 'X' a une longueur, */
# define C7YR(ordonnee) \
COOR(ordonnee,Ymin7) \
/* Passage d'un 'Y' a une longueur. */
# define C7ZR(hauteur) \
COOR(hauteur,Zmin7) \
/* Passage d'un 'Z' a une longueur. */
# define C7XA(longueur) \
COOA(longueur,Xmin7) \
/* Passage d'une longueur a un 'X', */
# define C7YA(longueur) \
COOA(longueur,Ymin7) \
/* Passage d'une longueur a un 'Y', */
# define C7ZA(longueur) \
COOA(longueur,Zmin7) \
/* Passage d'une longueur a un 'Z', */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D U " P L A N D E T R A V A I L " 1 0 2 4 x 1 0 2 4 : */
/* */
/*************************************************************************************************************************************/
# define logXY7 \
DIX
# define logX7 \
logXY7 \
/* Logarithme de la dimension horizontale, */
# define logY7 \
logXY7 \
/* Logarithme de la dimension verticale. */
# define Xmin7 \
COORDONNEE_MINIMALE \
/* Abscisse minimale, */
# define Xmax7 \
COND(IL_FAUT(CUBI7_____generer_de_la_video) \
,Xmax \
,COORDONNEE_MAXIMALE(logX7) \
) \
/* Abscisse maximale. */
# define Xmax7_700 \
MAX2(Xmax7,C7XA(TRMU(700))) \
/* Veritable abscisse maximale ; malheureusement, je ne peux pas mieux parametrer (700)... */
# define dimX7 \
DIMENSION(Xmin7,Xmax7) \
/* Dimension de l'axe horizontal. */
# define PasX7 \
PAS_COORDONNEE \
/* Pas horizontal. */
# define Ymin7 \
COORDONNEE_MINIMALE \
/* Ordonnee minimale, */
# define Ymax7 \
COND(IL_FAUT(CUBI7_____generer_de_la_video) \
,Ymax \
,COORDONNEE_MAXIMALE(logY7) \
) \
/* Ordonnee maximale. */
# define Ymax7_576 \
MAX2(Ymax7,C7YA(TRMU(576))) \
/* Veritable ordonnee maximale ; malheureusement, je ne peux pas mieux parametrer (576)... */
# define dimY7 \
DIMENSION(Ymin7,Ymax7) \
/* Dimension de l'axe vertical. */
# define PasY7 \
PAS_COORDONNEE \
/* Pas vertical. */
# define Zmin7 \
Zorigine \
/* 'Z' minimal... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E N O R M A L I S A T I O N D E S A X E S : */
/* */
/*************************************************************************************************************************************/
# define _cDENORMALISE_OX7(coordonnee) \
_cDENORMALISE_AXES(Xmin7,dimX7,coordonnee)
# define _lDENORMALISE_OX7(longueur) \
_lDENORMALISE_AXES(dimX7,longueur)
/* Normalisation d'une longueur sur l'axe OX ; l'unite represente [Xmin7,Xmax7]. */
# define _cDENORMALISE_OY7(coordonnee) \
_cDENORMALISE_AXES(Ymin7,dimY7,coordonnee)
# define _lDENORMALISE_OY7(longueur) \
_lDENORMALISE_AXES(dimY7,longueur)
/* Normalisation d'une longueur sur l'axe OY ; l'unite represente [Ymin7,Ymax7]. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P O U R F A I R E L E R A P P O R T E N T R E L E S D E U X F O R M A T S D ' I M A G E S : */
/* */
/*************************************************************************************************************************************/
# define HOMOTHETIE_HORIZONTALE_CUBI7(x) \
SCAL(x,FLOT(dimX),FLOT(dimX7)) \
/* Afin de prendre en compte les deux formats possibles d'images... */
# define HOMOTHETIE_VERTICALE_CUBI7(y) \
SCAL(y,FLOT(dimY),FLOT(dimY7)) \
/* Afin de prendre en compte les deux formats possibles d'images... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* C O N F I G U R A T I O N M A T E R I E L L E : */
/* */
/*************************************************************************************************************************************/
Denumer08(INIS(_carte_GEC,UN)
/* Carte 'GEC' (generateur de contours), */
,_carte_GES
/* Carte 'GES' (generateur de segments horizontaux), */
,_carte_AMD
/* Carte 'AMD' (micro-processeur en tranche), */
,_carte_CAMI
/* Carte 'CAMI' (carte d'acces a la memoire d'images), */
,_carte_VISU
/* Carte 'VISU' (carte de visualisation), */
,_carte_MEMOA
/* Carte 'MEMOA' (premier bloc de la memoire d'images : plans 0 et 2), */
,_carte_MEMOB
/* Carte 'MEMOB' (premier bloc de la memoire d'images : plans 1 et 3). */
,DERNIERE_carte
,configuration_materielle_CUBI7
);
/* Liste des cartes disponibles sur le CUBI7. */
# define carte_GEC \
ENUM(_carte_GEC)
# define carte_GES \
ENUM(_carte_GES)
# define carte_AMD \
ENUM(_carte_AMD)
# define carte_CAMI \
ENUM(_carte_CAMI)
# define carte_VISU \
ENUM(_carte_VISU)
# define carte_MEMOA \
ENUM(_carte_MEMOA)
# define carte_MEMOB \
ENUM(_carte_MEMOB)
Dstruct01(configuration_cubi7
,BLOC(
DEFV(vrai_Positive_de_base,AMD_present:BIT);
DEFV(vrai_Positive_de_base,GEC_present:BIT);
DEFV(vrai_Positive_de_base,GES_present:BIT);
DEFV(vrai_Positive_de_base,utiliser_AMD:BIT);
DEFV(vrai_Positive_de_base,utiliser_GEC:BIT);
DEFV(vrai_Positive_de_base,utiliser_GES:BIT);
DEFV(vrai_Positive_de_base,AMD_present_et_l_utiliser:BIT);
DEFV(vrai_Positive_de_base,GEC_present_et_l_utiliser:BIT);
DEFV(vrai_Positive_de_base,GES_present_et_l_utiliser:BIT)
)
,NOM_VIDE
);
/* Definition de la configuration materielle du CUBI7. */
TypedefP(configuration,STRU(configuration_cubi7))
/* Definition de la configuration reelle du CUBI7. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* C O N F I G U R A T I O N D E L A M E M O I R E D ' I M A G E S : */
/* */
/*************************************************************************************************************************************/
# define MEMOIRE_1024x1024 \
ZERO \
/* Numero du bloc memoire contenant une image 1024x1024. */
Denumer05(INIS(_MEMOIRE_512x512_1,MEMOIRE_1024x1024)
/* Numero du bloc memoire contenant la premiere image 512x512, */
,_MEMOIRE_512x512_2
/* Numero du bloc memoire contenant la deuxieme image 512x512, */
,_MEMOIRE_512x512_3
/* Numero du bloc memoire contenant la troisieme image 512x512, */
,_MEMOIRE_512x512_4
/* Numero du bloc memoire contenant la quatrieme image 512x512. */
,DERNIERE_MEMOIRE
,configuration_memoire_CUBI7
);
# define MEMOIRE_512x512_1 \
ENUM(_MEMOIRE_512x512_1)
# define MEMOIRE_512x512_2 \
ENUM(_MEMOIRE_512x512_2)
# define MEMOIRE_512x512_3 \
ENUM(_MEMOIRE_512x512_3)
# define MEMOIRE_512x512_4 \
ENUM(_MEMOIRE_512x512_4)
# define MEMOIRE_512x512 \
MEMOIRE_512x512_1 \
/* Numero du bloc memoire contenant la seule image 512x512 utilisee. */
# define MEMOIRE_576x700 \
MEMOIRE_512x512_1 \
/* Numero du bloc memoire contenant la seule image 576x700 utilisee. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D E S F O R M A T S D E M E M O I R E : */
/* */
/*************************************************************************************************************************************/
Denumer07(INIS(_FORMAT_MEMOIRE_512x512,ZERO)
,_FORMAT_MEMOIRE_512x700
,_FORMAT_MEMOIRE_512x1024
,_FORMAT_MEMOIRE_576x512
,_FORMAT_MEMOIRE_576x700
,_FORMAT_MEMOIRE_1024x1024
,DERNIER_FORMAT_MEMOIRE
,format_memoire_CUBI7
);
# define FORMAT_MEMOIRE_512x512 \
ENUM(_FORMAT_MEMOIRE_512x512)
# define FORMAT_MEMOIRE_512x700 \
ENUM(_FORMAT_MEMOIRE_512x700)
# define FORMAT_MEMOIRE_512x1024 \
ENUM(_FORMAT_MEMOIRE_512x1024)
# define FORMAT_MEMOIRE_576x512 \
ENUM(_FORMAT_MEMOIRE_576x512)
# define FORMAT_MEMOIRE_576x700 \
ENUM(_FORMAT_MEMOIRE_576x700)
# define FORMAT_MEMOIRE_1024x1024 \
ENUM(_FORMAT_MEMOIRE_1024x1024)
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D U C O L O R I A G E : */
/* */
/*************************************************************************************************************************************/
Denumer03(INIS(_GROUPE_0_DE_TABLES_DE_COLORIAGE,ZERO)
/* Numero du groupe 0 des tables de coloriage, */
,_GROUPE_1_DE_TABLES_DE_COLORIAGE
/* Numero du groupe 1 des tables de coloriage. */
,DERNIER_GROUPE_DE_TABLES_DE_COLORIAGE
,configuration_groupe_de_coloriage_CUBI7
);
# define GROUPE_0_DE_TABLES_DE_COLORIAGE \
ENUM(_GROUPE_0_DE_TABLES_DE_COLORIAGE)
# define GROUPE_1_DE_TABLES_DE_COLORIAGE \
ENUM(_GROUPE_1_DE_TABLES_DE_COLORIAGE)
Denumer05(INIS(_TABLE_DE_COLORIAGE_0,ZERO)
/* Numero du bloc memoire contenant la premiere image 512x512, */
,_TABLE_DE_COLORIAGE_1
/* Numero du bloc memoire contenant la deuxieme image 512x512, */
,_TABLE_DE_COLORIAGE_2
/* Numero du bloc memoire contenant la troisieme image 512x512, */
,_TABLE_DE_COLORIAGE_3
/* Numero du bloc memoire contenant la quatrieme image 512x512. */
,DERNIERE_TABLE_DE_COLORIAGE
,configuration_tables_de_coloriage_CUBI7
);
# define TABLE_DE_COLORIAGE_0 \
ENUM(_TABLE_DE_COLORIAGE_0)
# define TABLE_DE_COLORIAGE_1 \
ENUM(_TABLE_DE_COLORIAGE_1)
# define TABLE_DE_COLORIAGE_2 \
ENUM(_TABLE_DE_COLORIAGE_2)
# define TABLE_DE_COLORIAGE_3 \
ENUM(_TABLE_DE_COLORIAGE_3)
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* M O D E D ' E C R I T U R E D E S C O M P O S A N T E S ( P A R A M E T R E ' M O D Z ' ) : */
/* */
/*************************************************************************************************************************************/
# define ECRITURE_DIFFEREE \
ZERO \
/* Une composante 'Z', 'B', 'V' ou 'R' arrivant n'est ecrite que lorsque */ \
/* ses trois autres compagnes sont arrivees ; c'est en fait la derniere */ \
/* arrivee ('R') qui provoque l'ecriture globale... */
# define ECRITURE_IMMEDIATE \
UN \
/* Une composante 'R', 'V', 'B' ou 'Z' arrivant est ecrite immediatement */ \
/* sans attendre ses compagnes ; c'est le mode a utiliser pour ecrire */ \
/* des plans de composantes (via le bus "superviseur")... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* F O R M A T D ' E C R I T U R E E N M O D E " R A S T E R " ( P A R A M E T R E ' J H ' ) : */
/* */
/*************************************************************************************************************************************/
# define ECRITURE_FORCEE \
DEUX \
/* Ecriture systematique, quelle que soit la coordonnee 'Z'. */
# define COMPARAISON_EN_Z \
QUATRE \
/* Ecriture avec comparaison des coordonnees 'Z' courante et anterieure. Dans ce mode */ \
/* "direct" un point n'est pas ecrit si son 'Z' est superieur a celui donne par le */ \
/* 'Z-buffer'... */
# define COMPARAISON_EN_Z_INVERSE \
SIX \
/* Ecriture avec comparaison inverse des coordonnees 'Z' courante et anterieure. Dans ce */ \
/* mode "inverse" un point n'est pas ecrit si son 'Z' est inferieur a celui donne par le */ \
/* 'Z-buffer'... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P A R A M E T R E S D E L ' A N T I - A L I A S I N G : */
/* */
/*************************************************************************************************************************************/
# define PAS_D_ANTI_ALIASING \
ZERO \
/* Pas d'anti-aliasing... */
# define ANTI_ALIASING_IMAGE \
DEUX \
/* Generation de contours anti-aliases... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P A R A M E T R E S D E L A C A R T E ' G E C ' : */
/* */
/*************************************************************************************************************************************/
# define MODE_IMAGE \
UN,ZERO \
/* Le mode normal trace toutes les lignes horizontales (le 'ZERO' est la */ \
/* afin de remplacer l'argument 'TRAME_PAIRE'/'TRAME_IMPAIRE' alors inutile). */
# define MODE_TRAME \
ZERO \
/* Ce mode permet de ne tracer qu'une ligne horizontale sur deux, suivant */ \
/* le parametre 'TRAME_PAIRE'/'TRAME_IMPAIRE'. */
# define TRAME_PAIRE \
ZERO \
/* Pour ne tracer que les ligne horizontales paires (voir 'MODE_TRAME'). */
# define TRAME_IMPAIRE \
UN \
/* Pour ne tracer que les ligne horizontales impaires (voir 'MODE_TRAME'). */
# define FACETTES_REMPLIES \
ZERO \
/* Afin d'interpoler a l'interieur des facettes. */
# define FACETTES_FIL_DE_FER \
UN \
/* Afin de ne tracer que le contour des facettes (mode "fil de fer"). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* S E L E C T E U R D E S S O U R C E S D ' I N I T I A L A T I O N D E */
/* L A M E M O I R E ( P A R A M E T R E S ' V E X T ' E T ' Z E X T ' ) : */
/* */
/*************************************************************************************************************************************/
# define RVB_INITIALISATION_FOND \
ZERO \
/* Initialisation des composantes {R,V,B} a partir du registre 'fond', */
# define Z_INITIALISATION_FOND \
Zinfini7 \
/* Initialisation de la composante 'Z' a partir du registre 'fond' ; on prend ainsi une */ \
/* valeur telle qu'avec le mode 'COMPARAISON_EN_Z', tous les "premiers" points soient */ \
/* ecrits, quelle que soit leur coordonnee 'Z'... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* N O M S D E S C O M P O S A N T E S E L E M E N T A I R E S : */
/* */
/*************************************************************************************************************************************/
Denumer05(INIS(_composante_Z,ZERO)
/* Composante de la troisieme coordonnee 'Z'. */
,_composante_BLEUE
/* Composante BLEUE, */
,_composante_VERTE
/* Composante VERTE, */
,_composante_ROUGE
/* Composante ROUGE. */
,DERNIERE_composante
,composante_CUBI7
);
# define composante_ROUGE \
ENUM(_composante_ROUGE)
# define composante_VERTE \
ENUM(_composante_VERTE)
# define composante_BLEUE \
ENUM(_composante_BLEUE)
# define composante_Z \
ENUM(_composante_Z)
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* N O M S D E S C O U L E U R S E L E M E N T A I R E S P O U R L E S P E R M U T A T I O N S : */
/* */
/*************************************************************************************************************************************/
# define couleur_ROUGE \
composante_BLEUE
# define couleur_VERTE \
composante_VERTE
# define couleur_BLEUE \
composante_ROUGE
/* Et oui, attention au croisement entre le ROUGE et le BLEUE... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* F O R M A T D E S C O M P O S A N T E S E L E M E N T A I R E S : */
/* */
/*************************************************************************************************************************************/
TypedefS(genere_RVB,genere_CHAR)
TypedefS(genere_ROUGE,genere_RVB)
/* Pour le niveau de ROUGE et son DUMMY associe, */
TypedefS(genere_VERTE,genere_RVB)
/* Pour le niveau de VERT et son DUMMY associe, */
TypedefS(genere_BLEUE,genere_RVB)
/* Pour le niveau de BLEU et son DUMMY associe. */
TypedefS(genere_Z,ShortInt)
/* Pour la troisieme coordonnee 'Z'. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D E S N I V E A U X D E B A S E : */
/* */
/*************************************************************************************************************************************/
# define NOIR7 NOIR \
/* Niveau de noir sur chaque composante, */
# define BLANC7 BLANC \
/* Niveau de blanc sur chaque composante. */
# define Zinfini7 ETLO(INFINI,MHWD) \
/* Valeur initiale de la troisieme coordonnee de chaque pixel. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* F O R M A T D ' U N P O I N T P O U R L ' E N V O I : */
/* */
/*************************************************************************************************************************************/
Dstruct02(format_niveau_cubi7
,DEFV(genere_RVB,dummy)
/* Pour occuper la memoire du CUBI7... */
,DEFV(genere_RVB,niveau)
/* Niveau d'une composante. */
,NOM_VIDE
);
/* Definition de la structure d'un niveau a envoyer au CUBI7. */
TypedefP(niveau7,STRU(format_niveau_cubi7))
Dstruct04(format_pixel_cubi7
,DEFV(genere_Z,zed)
/* Coordonnee 'Z' destinee a etre exploitee par le 'Z-Buffer' interne. */
,DEFV(niveau7,bleue)
/* Composante bleue. */
,DEFV(niveau7,verte)
/* Composante verte. */
,DEFV(niveau7,rouge)
/* Composante rouge. */
,NOM_VIDE
);
/* Definition de la structure d'un pixel a envoyer au CUBI7. */
TypedefP(pixel7,STRU(format_pixel_cubi7))
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* F O R M A T D ' U N S O M M E T F L O T T A N T P O U R L ' E N V O I : */
/* */
/*************************************************************************************************************************************/
Dstruct06(format_sommet_flottant
,DEFV(Float_cubi7,x)
/* Coordonnee 'X', */
,DEFV(Float_cubi7,y)
/* Coordonnee 'Y', */
,DEFV(Float_cubi7,z)
/* Coordonnee 'Z'. */
,DEFV(Float_cubi7,cR)
/* Composante 'ROUGE', */
,DEFV(Float_cubi7,cV)
/* Composante 'VERTE', */
,DEFV(Float_cubi7,cB)
/* Composante 'BLEUE', */
,NOM_VIDE
);
/* Definition de la structure d'un sommet en flottant a envoyer au CUBI7. */
TypedefP(Fsommet7,STRU(format_sommet_flottant))
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P R E M I E R S O M M E T D ' U N E F A C E T T E Q U E L C O N Q U E : */
/* */
/*************************************************************************************************************************************/
# define PREMIER_SOMMET \
INDEX0 \
/* Premier sommet d'une facette quelconque... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* F O R M A T D ' U N E F A C E T T E T R I A N G U L A I R E F L O T T A N T E P O U R L ' E N V O I : */
/* */
/*************************************************************************************************************************************/
Denumer04(INIS(_sommet3_1,PREMIER_SOMMET)
/* Premier sommet, */
,_sommet3_2
/* Deuxieme sommet, */
,_sommet3_3
/* Troisieme sommet. */
,DERNIER_sommet3
,format_facette_flottante_triangulaire
);
/* Definition de la structure d'une facette triangulaire en flottant a envoyer */
/* au CUBI7 ; ainsi, une facette est un vecteur de structures de type "sommet", */
/* le nombre de sommets etant lie au type de facette (ici "triangulaire"). */
# define sommet3_1 ENUM(_sommet3_1)
# define sommet3_2 ENUM(_sommet3_2)
# define sommet3_3 ENUM(_sommet3_3)
# define NOMBRE_DE_SOMMETS_D_UNE_FACETTE_TRIANGULAIRE \
LENG(sommet3_1,sommet3_3) \
/* Nombre de sommets d'une facette triangulaire. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* F O R M A T D ' U N E F A C E T T E C A R R E E F L O T T A N T E P O U R L ' E N V O I : */
/* */
/*************************************************************************************************************************************/
Denumer05(INIS(_sommet4_1,PREMIER_SOMMET)
/* Premier sommet, */
,_sommet4_2
/* Deuxieme sommet, */
,_sommet4_3
/* Troisieme sommet, */
,_sommet4_4
/* Quatrieme sommet. */
,DERNIER_sommet4
,format_facette_flottante_carree
);
/* Definition de la structure d'une facette carree en flottant a envoyer */
/* au CUBI7 ; ainsi, une facette est un vecteur de structures de type "sommet", */
/* le nombre de sommets etant lie au type de facette (ici "carree"). */
# define sommet4_1 ENUM(_sommet4_1)
# define sommet4_2 ENUM(_sommet4_2)
# define sommet4_3 ENUM(_sommet4_3)
# define sommet4_4 ENUM(_sommet4_4)
# define NOMBRE_DE_SOMMETS_D_UNE_FACETTE_CARREE \
LENG(sommet4_1,sommet4_4) \
/* Nombre de sommets d'une facette carree. */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D ' U N E C O M P O S A N T E : */
/* */
/*************************************************************************************************************************************/
TypedefD2(composante7,dimY,dimX,niveau7)
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D E F I N I T I O N D ' U N E F E N E T R E : */
/* */
/*************************************************************************************************************************************/
TypedefD2(fenetre7,dimY,dimX,pixel7)
/* Definition d'une fenetre dans laquelle on viendra placer une image */
/* en vraies couleurs ; on notera que "fenetre" est defini avec les */
/* memes bornes et limites que "image" ; une fenetre contiendra */
/* donc une image standard. */
#Aifdef __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7
#Eifdef __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7