/*************************************************************************************************************************************/
/* */
/* G E N E R A T E U R I N F I N I D E P A P I E R P E I N T : */
/* */
/* */
/* Definition : */
/* */
/* Cette commande affiche indefiniment */
/* des variations sur une image Argument */
/* obtenues par une procedure iterative du */
/* type : */
/* */
/* IMAGE(n+1) = Iminmax[IMAGE(n),decalage(IMAGE(n))]. */
/* */
/* */
/* Author of '$xci/papier.01$K' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, 1988??????????). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* I N T E R F A C E ' listG ' : */
/* */
/* */
/* :Debut_listG: */
/* :Fin_listG: */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* D I R E C T I V E S S P E C I F I Q U E S D E C O M P I L A T I O N : */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* F I C H I E R S D ' I N C L U D E S : */
/* */
/*************************************************************************************************************************************/
#include INCLUDES_BASE
#include image_image_QUAD_IMAGE_EXT
#ifdef __VERSION__COMPILER_LE_GRAPHIQUE_SPIX
# include image_drive_dpx5c_FONCTION_EXT
#Aifdef __VERSION__COMPILER_LE_GRAPHIQUE_SPIX
#Eifdef __VERSION__COMPILER_LE_GRAPHIQUE_SPIX
#ifdef __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW
# include image_drive_XWind_FONCTION_EXT
# ifdef __VERSION__UTILISER_LA_BIBLIOTHEQUE_OpenGL
# include image_drive_SiliG_FONCTION_1_EXT
# Aifdef __VERSION__UTILISER_LA_BIBLIOTHEQUE_OpenGL
# Eifdef __VERSION__UTILISER_LA_BIBLIOTHEQUE_OpenGL
#Aifdef __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW
#Eifdef __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P A R A M E T R E S : */
/* */
/*************************************************************************************************************************************/
#include xci/display.01.I"
#define DUREE_D_ATTENTE \
ZERO \
/* Attente implicite avant de passer a l'image suivante... */
#define TRANSLATION_OX \
PARE(0.2) \
/* Translation horizontale implicite, */
#define TRANSLATION_OY \
PARE(0.3) \
/* Translation verticale implicite. */
#define LOGIQUE_FLOUE \
VRAI \
/* Est-ce la logique floue ('VRAI') ou binaire ('FAUX'). */
#define UTILISER_LE_OU \
FAUX
#define UTILISER_LE_ET \
FAUX
#define UTILISER_LE_OU_EXCLUSIF \
VRAI
/* Dans les deux cas, quels sont les operateurs que l'on doit utiliser ? */
#define SAUVEGARDER_TOUTES_LES_IMAGES_PRODUITES \
FAUX \
/* Faut-il conserver toutes les images produites ('VRAI') ou pas ('FAUX') et donc se */ \
/* contenter de les montrer... */
#include xci/sequence.01.I"
#define EDITER_LE_NOM_DES_IMAGES \
FAUX \
/* Indique si le nom de chacune des images sauvegardess doit etre indique ('VRAI') ou pas */ \
/* ('FAUX'), l'edition ayant lieu comme pour un message d'erreur (afin de ne pas perturber */ \
/* le "pipe" des images...). */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* M A C R O S U T I L E S : */
/* */
/*************************************************************************************************************************************/
#include xci/display.02.I"
#define SAUVEGARDE_FACULTATIVE_DU_NOM_DE_CHAQUE_IMAGE \
Bblock \
Test(IL_FAUT(editer_le_nom_des_images)) \
Bblock \
EGAL(nom_image \
,chain_Aconcaten2(nom_imageR,chain_numero(INTE(numero_d_image),nombre_de_chiffres)) \
); \
/* On notera que l'on utilise non pas 'chain_Aconcaten2_sauf_nom_pipe(...)' mais */ \
/* 'chain_Aconcaten2(...)' car en effet, si l'edition sans sauvegarde est demandee, */ \
/* alors 'nom_imageR' vaut 'NOM_PIPE' en general... */ \
CAL3(Prme1("%s\n",nom_image)); \
CALZ_FreCC(nom_image); \
Eblock \
ATes \
Bblock \
Eblock \
ETes \
\
Test(IL_FAUT(sauvegarder_toutes_les_images_produites)) \
Bblock \
Test(IFET(IFINff(numero_d_image,premiere_image,derniere_image) \
,IZEQ(REST(SOUS(numero_d_image,premiere_image),pas_des_images)) \
) \
) \
Bblock \
EGAL(nom_image \
,chain_Aconcaten2_sauf_nom_pipe(nom_imageR,chain_numero(INTE(numero_d_image),nombre_de_chiffres)) \
); \
/* Generation du nom de l'image a sauvegarder... */ \
CALi(Iupdate_image(nom_image,ImageR)); \
/* Sauvegarde de l'image courante lorsque son numero est dans les bornes... */ \
CALZ_FreCC(nom_image); \
Eblock \
ATes \
Bblock \
Eblock \
ETes \
Eblock \
ATes \
Bblock \
Eblock \
ETes \
\
INCR(numero_d_image,PAS_DES_IMAGES); \
/* Progression systematique du numero d'image... */ \
Eblock \
/* Sauvegarde, lorsque cela est demande, du nom de l'image courante... */
#define GESTION_DU_PAPIER_PEINT \
Bblock \
DEFV(Int,INIT(nombre_d_operateurs,ZERO)); \
/* Afin de compter le nombre d'operateurs utilises... */ \
\
CALS(Itranslation(ImageA,ImageR,ADRESSE(translation),VRAI,VRAI)); \
/* Translation de l'image courante sur un tore (VRAI,VRAI). */ \
\
Test(IL_FAUT(logique_floue)) \
Bblock \
Test(IL_FAUT(utiliser_le_ou)) \
Bblock \
CALS(Imaximum(ImageR,ImageR,ImageA)); \
/* Combinaison (par un "ou flou") de l'image courante ('ImageR') avec */ \
/* elle-meme decalee sur un tore ('ImageA'). */ \
INCR(nombre_d_operateurs,I); \
Eblock \
ATes \
Bblock \
Eblock \
ETes \
Test(IL_FAUT(utiliser_le_et)) \
Bblock \
CALS(Iminimum(ImageR,ImageR,ImageA)); \
/* Combinaison (par un "et flou") de l'image courante ('ImageR') avec */ \
/* elle-meme decalee sur un tore ('ImageA'). */ \
INCR(nombre_d_operateurs,I); \
Eblock \
ATes \
Bblock \
Eblock \
ETes \
Test(IL_FAUT(utiliser_le_ou_exclusif)) \
Bblock \
CALS(Iminmax(ImageR,ImageR,ImageA)); \
/* Combinaison (par un "ou exclusif flou") de l'image courante ('ImageR') avec */ \
/* elle-meme decalee sur un tore ('ImageA'). */ \
INCR(nombre_d_operateurs,I); \
Eblock \
ATes \
Bblock \
Eblock \
ETes \
Eblock \
ATes \
Bblock \
Test(IL_FAUT(utiliser_le_ou)) \
Bblock \
CALS(Ior(ImageR,ImageR,ImageA)); \
/* Combinaison (par un "ou binaire") de l'image courante ('ImageR') avec */ \
/* elle-meme decalee sur un tore ('ImageA'). */ \
INCR(nombre_d_operateurs,I); \
Eblock \
ATes \
Bblock \
Eblock \
ETes \
Test(IL_FAUT(utiliser_le_et)) \
Bblock \
CALS(Iand(ImageR,ImageR,ImageA)); \
/* Combinaison (par un "et binaire") de l'image courante ('ImageR') avec */ \
/* elle-meme decalee sur un tore ('ImageA'). */ \
INCR(nombre_d_operateurs,I); \
Eblock \
ATes \
Bblock \
Eblock \
ETes \
Test(IL_FAUT(utiliser_le_ou_exclusif)) \
Bblock \
CALS(Ieor(ImageR,ImageR,ImageA)); \
/* Combinaison (par un "ou exclusif binaire") de l'image courante ('ImageR') avec */ \
/* elle-meme decalee sur un tore ('ImageA'). */ \
INCR(nombre_d_operateurs,I); \
Eblock \
ATes \
Bblock \
Eblock \
ETes \
Eblock \
ETes \
\
Test(IFNE(nombre_d_operateurs,UN)) \
Bblock \
PRINT_ATTENTION("le nombre d'operateurs utilises est different de 1"); \
CAL1(Prer1("il vaut %d\n",nombre_d_operateurs)); \
Eblock \
ATes \
Bblock \
Eblock \
ETes \
Eblock \
/* Realisation des operations demandees... */
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* G E N E R A T E U R I N F I N I D E P A P I E R P E I N T : */
/* */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
DEFV(CHAR,INIC(POINTERc(nom_imageA),NOM_PIPE));
/* Nom de l'image a displayer. */
DEFV(CHAR,INIC(POINTERc(nom_paletteA),NOM_PIPE));
/* Nom de la palette a utiliser. */
DEFV(CHAR,INIC(POINTERc(nom_imageR),NOM_PIPE));
/* Nom du Resultat de la generation. */
DEFV(Int,INIT(duree_d_attente,DUREE_D_ATTENTE));
/* Duree d'attente apres l'affichage d'une image et avant son effacement. */
DEFV(deltaF_2D,dimension_de_la_fenetre);
/* Dimension de la fenetre de visualisation. */
DEFV(Float,INIT(translation_OX,TRANSLATION_OX));
DEFV(Float,INIT(translation_OY,TRANSLATION_OY));
/* Argument de translation de la fenetre. */
DEFV(deltaF_2D,translation);
/* Translation de la fenetre. */
DEFV(Logical,INIT(logique_floue,LOGIQUE_FLOUE));
/* Est-ce la logique floue ('VRAI') ou binaire ('FAUX'). */
DEFV(Logical,INIT(utiliser_le_ou,UTILISER_LE_OU));
DEFV(Logical,INIT(utiliser_le_et,UTILISER_LE_ET));
DEFV(Logical,INIT(utiliser_le_ou_exclusif,UTILISER_LE_OU_EXCLUSIF));
/* Dans les deux cas, quels sont les operateurs que l'on doit utiliser ? */
DEFV(Logical,INIT(sauvegarder_toutes_les_images_produites,SAUVEGARDER_TOUTES_LES_IMAGES_PRODUITES));
/* Faut-il conserver toutes les images produites ('VRAI') ou pas ('FAUX') et donc se */
/* contenter de les montrer... */
DEFV(Int,INIT(premiere_image,PREMIERE_IMAGE));
/* Numero de la premiere image, */
DEFV(Int,INIT(derniere_image,DERNIERE_IMAGE));
/* Numero de la derniere image. */
DEFV(Int,INIT(pas_des_images,PAS_DES_IMAGES));
/* Pas de passage d'un numero d'image a une autre. */
DEFV(Int,INIT(nombre_de_chiffres,NOMBRE_DE_CHIFFRES));
/* Nombre de chiffres codant le numero des images de la serie... */
DEFV(Int,INIT(numero_d_image,PREMIERE_IMAGE));
DEFV(Int,INIT(numero_d_image_pour_DoIn,PREMIERE_IMAGE));
/* Numero de l'image courante ('numero_d_image_pour_DoIn' introduit le 19970903140850). */
DEFV(CHAR,INIT(POINTERc(nom_image),NOM_UNDEF));
/* Nom courant des images lorsqu'il faut les sauvegarder. */
DEFV(Logical,INIT(editer_le_nom_des_images,EDITER_LE_NOM_DES_IMAGES));
/* Indique si le nom de chacune des images sauvegardees doit etre indique ('VRAI') ou pas */
/* ('FAUX'), l'edition ayant lieu comme pour un message d'erreur (afin de ne pas perturber */
/* le "pipe" des images... */
#include xci/display.03.I"
#ifdef __VERSION__COMPILER_LE_GRAPHIQUE_SPIX
DEFV(pointF_2D,coin_haut_gauche);
/* Position du coin haut gauche de la fenetre. */
#Aifdef __VERSION__COMPILER_LE_GRAPHIQUE_SPIX
#Eifdef __VERSION__COMPILER_LE_GRAPHIQUE_SPIX
#ifdef __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW
#Aifdef __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW
#Eifdef __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW
/*..............................................................................................................................*/
#ifdef __VERSION__COMPILER_LE_GRAPHIQUE_SPIX
INITIALISATION_POINT_2D(coin_haut_gauche,_____cNORMALISE_OX5(X_COIN_HAUT_GAUCHE),_____cNORMALISE_OY5(Y_COIN_HAUT_GAUCHE));
/* Definition de la position implicite de la fenetre. */
GET_ARGUMENTSi(nombre_d_arguments
,BLOC(GET_ARGUMENT_C("imageA=""A=",nom_imageA);
GET_ARGUMENT_C("paletteA=""palette=""pA=""p=",nom_paletteA);
GET_ARGUMENT_C("imageR=""R=",nom_imageR);
GET_ARGUMENT_I("duree=""d=",duree_d_attente);
GET_ARGUMENT_F("xc=""x=""X=",ASD1(coin_haut_gauche,x));
GET_ARGUMENT_F("yc=""y=""Y=",ASD1(coin_haut_gauche,y));
GET_ARGUMENT_F("trx=""trX=",translation_OX);
GET_ARGUMENT_F("try=""trY=",translation_OY);
GET_ARGUMENT_L("flou=",logique_floue);
GET_ARGUMENT_L("ou=""or=",utiliser_le_ou);
GET_ARGUMENT_L("et=""and=",utiliser_le_et);
GET_ARGUMENT_L("ou_exclusif=""eor=",utiliser_le_ou_exclusif);
GET_ARGUMENT_L("sauvegarder=",sauvegarder_toutes_les_images_produites);
GET_ARGUMENT_I("premiere=",premiere_image);
GET_ARGUMENT_I("derniere=",derniere_image);
GET_ARGUMENT_I("pas=",pas_des_images);
GET_ARGUMENT_I("chiffres=",nombre_de_chiffres);
GET_ARGUMENT_L("editer=",editer_le_nom_des_images);
)
);
INITIALISATION_ACCROISSEMENT_2D(translation,translation_OX,translation_OY);
/* Mise en place de la translation de la fenetre. */
EGAL(numero_d_image,premiere_image);
/* Numero de la premiere image a generer eventuellement... */
Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(ImageR,nom_imageA))))
Bblock
CHARGEMENT_DE_LA_PALETTE_DE_COULEURS;
/* Chargement des trois listes de substitution constitutive d'une palette. */
INITIALISATION_ACCROISSEMENT_2D(dimension_de_la_fenetre,_____lNORMALISE_OX5(dimX5),_____lNORMALISE_OY5(dimY5));
/* Definition des dimensions de la fenetre. */
CALS(IDopen(nom_imageA,ADRESSE(dimension_de_la_fenetre),ADRESSE(coin_haut_gauche)));
DoIn(numero_d_image_pour_DoIn,premiere_image,derniere_image,pas_des_images)
/* Jusqu'au 19970903140850, c'etait 'Loop' qui etait utilise ici. Mais a cause de la */
/* generation des images '$xiirf/PAYS.W2$M' et '$xiirf/PAYS.W2$m' qui utilisent cette */
/* commande ('v $xiirf/$Fnota papier.01'), il est devenu imperatif que cette commande */
/* puisse s'arreter automatiquement lorsqu'un certain nombre d'images ont ete produites... */
Bblock
CALS(IDdisplay(ImageR));
SAUVEGARDE_FACULTATIVE_DU_NOM_DE_CHAQUE_IMAGE;
/* Sauvegarde, si necessaire de l'image courante (y compris l'image Argument)... */
GESTION_DU_PAPIER_PEINT;
/* Realisation des operations demandees... */
DODO(duree_d_attente);
Eblock
EDoI
/* Jusqu'au 19970903140850, c'etait 'ELoo' qui etait utilise ici. Mais a cause de la */
/* generation des images '$xiirf/PAYS.W2$M' et '$xiirf/PAYS.W2$m' qui utilisent cette */
/* commande ('v $xiirf/$Fnota papier.01'), il est devenu imperatif que cette commande */
/* puisse s'arreter automatiquement lorsqu'un certain nombre d'images ont ete produites... */
CALS(IDclose());
Eblock
ATes
Bblock
Test__CODE_ERREUR__ERREUR07;
Eblock
ETes
#Aifdef __VERSION__COMPILER_LE_GRAPHIQUE_SPIX
#Eifdef __VERSION__COMPILER_LE_GRAPHIQUE_SPIX
#ifdef __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW
INITIALISATION_POINT_2D(coin_bas_gauche,_____cNORMALISE_OX11(X_COIN_BAS_GAUCHE),_____cNORMALISE_OY11(Y_COIN_BAS_GAUCHE));
/* Definition de la position implicite de la fenetre. */
EGAL(X11_____signaler_les_evenements_inattendus,SIGNALER_LES_EVENEMENTS_INATTENDUS);
/* Initialisation du signalisateur d'evenement inattendu... */
GET_ARGUMENTSi(nombre_d_arguments
,BLOC(GET_ARGUMENT_C("serveur=",serveur_standard);
GET_ARGUMENT_L("ne_pas_verifier_le_serveur=""npvs="
,IXopen_____X_Window_accepter_le_serveur_sans_verification
);
GET_ARGUMENT_N("verifier_le_serveur=""vs="
,IXopen_____X_Window_accepter_le_serveur_sans_verification
);
/* Arguments introduits le 20100109113251 pour acceder au serveur 'Xming' (Windows Vista). */
GET_ARGUMENT_L("attention=",editer_les_PRINT_ATTENTION_initiaux);
GET_ARGUMENT_L("signaler=",X11_____signaler_les_evenements_inattendus);
GET_ARGUMENT_L("trop_grandes=""trop_grande="
,X11_____tenter_l_ouverture_des_fenetres_trop_grandes_par_rapport_a_l_ecran
);
GET_ARGUMENT_C("imageA=""A=",nom_imageA);
GET_ARGUMENT_C("paletteA=""palette=""pA=""p=",nom_paletteA);
GET_ARGUMENT_C("imageR=""R=",nom_imageR);
GET_ARGUMENT_I("nombre=""couleurs=",nombre_de_couleurs_necessaires);
GET_ARGUMENT_I("duree=""d=",duree_d_attente);
GET_ARGUMENT_L("centrer=""Fcentrer=""Fc=",centrer_la_fenetre);
/* Parametre introduit le 20060427162715... */
GET_ARGUMENT_F("xc=""x=""X=",ASD1(coin_bas_gauche,x));
GET_ARGUMENT_F("yc=""y=""Y=",ASD1(coin_bas_gauche,y));
GET_ARGUMENT_F("trx=""trX=",translation_OX);
GET_ARGUMENT_F("try=""trY=",translation_OY);
GET_ARGUMENT_L("flou=",logique_floue);
GET_ARGUMENT_L("ou=""or=",utiliser_le_ou);
GET_ARGUMENT_L("et=""and=",utiliser_le_et);
GET_ARGUMENT_L("ou_exclusif=""eor=",utiliser_le_ou_exclusif);
GET_ARGUMENT_L("sauvegarder=",sauvegarder_toutes_les_images_produites);
GET_ARGUMENT_I("premiere=",premiere_image);
GET_ARGUMENT_I("derniere=",derniere_image);
GET_ARGUMENT_I("pas=",pas_des_images);
GET_ARGUMENT_I("chiffres=",nombre_de_chiffres);
GET_ARGUMENT_L("editer=",editer_le_nom_des_images);
GET_ARGUMENT_C("substitution=""s=",nom_substitution);
)
);
RECHERCHE_D_UNE_LISTE_DE_SUBSTITUTION(nom_substitution,substitution_courante,substitution_courante);
/* Tentative de recherche de la substitution demandee... */
INITIALISATION_ACCROISSEMENT_2D(translation,translation_OX,translation_OY);
/* Mise en place de la translation de la fenetre. */
EGAL(numero_d_image,premiere_image);
/* Numero de la premiere image a generer eventuellement... */
Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(ImageR,nom_imageA))))
Bblock
CHARGEMENT_DE_LA_PALETTE_DE_COULEURS;
/* Chargement des trois listes de substitution constitutive d'une palette. */
Test(IFEQ(substitution_courante,L_SUBSTITUTION_VARIABLE))
Bblock
CALS(Icompactage_d_une_palette(nombre_de_couleurs_necessaires));
/* Pour la substitution 'VARIABLE', on procede a un compactage de la palette Argument. */
Eblock
ATes
Bblock
Eblock
ETes
Test(IFNE(substitution_courante,L_SUBSTITUTION_NEUTRE))
Bblock
SUBSTITUTION(substitution_courante);
/* Positionnement de la substitution courante quelqu'elle soit (mais non 'NEUTRE'...). */
SET_FILTRAGE(ACTIF);
/* Et on active le filtrage... */
Eblock
ATes
Bblock
Eblock
ETes
INITIALISATION_ACCROISSEMENT_2D(dimension_de_la_fenetre,_____lNORMALISE_OX11(dimX11),_____lNORMALISE_OY11(dimY11));
/* Definition des dimensions de la fenetre. */
CALS(IXinitialisation());
/* Initialisation fondamentale introduite le 20160815122126... */
CALS(IXopen(serveur_standard
,nom_imageA
,ADRESSE(dimension_de_la_fenetre)
,centrer_la_fenetre
,ADRESSE(coin_bas_gauche)
,editer_les_PRINT_ATTENTION_initiaux
)
);
DoIn(numero_d_image_pour_DoIn,premiere_image,derniere_image,pas_des_images)
/* Jusqu'au 19970903140850, c'etait 'Loop' qui etait utilise ici. Mais a cause de la */
/* generation des images '$xiirf/PAYS.W2$M' et '$xiirf/PAYS.W2$m' qui utilisent cette */
/* commande ('v $xiirf/$Fnota papier.01'), il est devenu imperatif que cette commande */
/* puisse s'arreter automatiquement lorsqu'un certain nombre d'images ont ete produites... */
Bblock
CALS(IXdisplay(ImageR
,Image_ROUGE
,Image_VERTE
,Image_BLEUE
,INCREMENT_DES_NIVEAUX_PAR_DEFAUT_DE_IXdisplay
,TRANSLATER_LE_NOIR_PAR_DEFAUT_DE_IXdisplay
)
);
/* On notera que {Image_ROUGE,Image_VERTE,Image_BLEUE} ne sont pas utiles ici, mais mises */
/* en place uniquement pour des raisons syntanxiques (introduit le 20030101172358). */
SAUVEGARDE_FACULTATIVE_DU_NOM_DE_CHAQUE_IMAGE;
/* Sauvegarde, si necessaire de l'image courante (y compris l'image Argument)... */
PUSH_FILTRAGE;
/* Sauvegarde de l'etat courant du filtrage des niveaux. */
SET_FILTRAGE(INACTIF);
/* Et ce afin de ne pas perturber les processus 'Itranslation(...)', 'Iminmax(...)' */
/* et 'Ieor(...)'. */
GESTION_DU_PAPIER_PEINT;
/* Realisation des operations demandees... */
PULL_FILTRAGE;
/* Et restauration des conditions initiales... */
DODO(duree_d_attente);
Eblock
EDoI
/* Jusqu'au 19970903140850, c'etait 'ELoo' qui etait utilise ici. Mais a cause de la */
/* generation des images '$xiirf/PAYS.W2$M' et '$xiirf/PAYS.W2$m' qui utilisent cette */
/* commande ('v $xiirf/$Fnota papier.01'), il est devenu imperatif que cette commande */
/* puisse s'arreter automatiquement lorsqu'un certain nombre d'images ont ete produites... */
CALS(IXclose());
Test(IFNE(substitution_courante,L_SUBSTITUTION_NEUTRE))
Bblock
SET_FILTRAGE(INACTIF);
SUBSTITUTION(L_SUBSTITUTION_NEUTRE);
Eblock
ATes
Bblock
Eblock
ETes
Eblock
ATes
Bblock
Test__CODE_ERREUR__ERREUR07;
Eblock
ETes
#Aifdef __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW
#Eifdef __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW
#ifdef __VERSION__COMPILER_LE_GRAPHIQUE_ROS
GET_ARGUMENTSi(nombre_d_arguments
,BLOC(VIDE;
)
);
/* Introduit le 20070301174645... */
PRINT_ATTENTION("les fonctions graphiques ne sont pas implementees");
#Aifdef __VERSION__COMPILER_LE_GRAPHIQUE_ROS
#Eifdef __VERSION__COMPILER_LE_GRAPHIQUE_ROS
RETU_Commande;
Eblock
ECommande