/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        E N V O I   D ' U N E   F E N E T R E   2 D  :                                                                             */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Definition :                                                                                                               */
/*                                                                                                                                   */
/*                    Cette commande affiche une                                                                                     */
/*                  image Argument en vraies couleurs                                                                                */
/*                  apres conversion des fausses                                                                                     */
/*                  couleurs dans une fenetre bi-                                                                                    */
/*                  dimensionnelle.                                                                                                  */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*             *     * * * * * *   * * * * * *   * * * * * *   *         *   * * * * * *   *   * * * * * *   *         *             */
/*                        *             *        *             **        *        *        *   *         *   **        *             */
/*            * *         *             *        *             * *       *        *        *   *         *   * *       *             */
/*                        *             *        *             *  *      *        *        *   *         *   *  *      *             */
/*           *   *        *             *        *             *   *     *        *        *   *         *   *   *     *             */
/*                        *             *        * * *         *    *    *        *        *   *         *   *    *    *             */
/*          * * * *       *             *        *             *     *   *        *        *   *         *   *     *   *             */
/*                        *             *        *             *      *  *        *        *   *         *   *      *  *             */
/*         *       *      *             *        *             *       * *        *        *   *         *   *       * *             */
/*                        *             *        *             *        **        *        *   *         *   *        **             */
/*        *         *     *             *        * * * * * *   *         *        *        *   * * * * * *   *         *             */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        ATTENTION :                                                                                                                */
/*                                                                                                                                   */
/*                    On notera l'existence d'une                                                                                    */
/*                  version simplifiee '$xci/Sdisplay_RVB$K'                                                                         */
/*                  destinee principalement a '$xci/disk_video_P$Z'                                                                  */
/*                  et ce uniquement sur 'SYSTEME_SG...' afin                                                                        */
/*                  d'eviter des problemes largement documentes                                                                      */
/*                  avec le 'vswap'...                                                                                               */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xci/display_RVB$K' :                                                                                           */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 1987??????????).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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_CONTOURS_EXT
#include  image_image_ALPHABET_0_EXT
#include  image_image_ALPHABET_1_EXT
#include  image_image_ALPHABET_2_EXT
                                        /* L'include de 'image_image_ALPHABET_3_DEF' a ete supprime le 20110502094848...             */
#include  image_image_ALPHABET_3_EXT
#include  image_image_ALPHABET_4_EXT
                                        /* Introduit le 20161116111303...                                                            */
#include  image_image_ALPHABET_5_EXT
                                        /* Introduit le 20230516183014...                                                            */
#include  image_image_ALPHABET_6_EXT
                                        /* Introduit le 20240419175855...                                                            */
#include  image_image_ALPHABETS_EXT

#ifdef    __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7
#    include   image_image_QUAD_IMAGE_EXT
#    include   image_drive_cubi7_FONCTION_1_EXT
#Aifdef   __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7

#    ifdef     __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS
#         include   image_image_QUAD_IMAGE_EXT

#         nodefine  INCLURE_LE_GRAPHIQUE_X_WINDOW

#         ifdef     __VERSION__UTILISER_LA_BIBLIOTHEQUE_GL
#         Aifdef    __VERSION__UTILISER_LA_BIBLIOTHEQUE_GL
#         Eifdef    __VERSION__UTILISER_LA_BIBLIOTHEQUE_GL

#         ifdef     __VERSION__UTILISER_LA_BIBLIOTHEQUE_OpenGL
#              define    INCLURE_LE_GRAPHIQUE_X_WINDOW
#         Aifdef    __VERSION__UTILISER_LA_BIBLIOTHEQUE_OpenGL
#         Eifdef    __VERSION__UTILISER_LA_BIBLIOTHEQUE_OpenGL

#         nodefine  L_ENTREE_VIDEO_TEMPS_REEL_EST_POSSIBLE

#         ifdef     __VERSION__COMPILER_L_OPTION_GALILEO_DU_GRAPHIQUE_SILICON_GRAPHICS
                                        /* ATTENTION, il est impossible d'ecrire ici :                                               */
                                        /*                                                                                           */
                                        /*        #    if        (         (defined(__VERSION__COMPILER_L_OPTION_GALILEO_...))    \  */
                                        /*                        )                                                                  */
                                        /*                  (...)                                                                    */
                                        /*        #    Aif       (         (defined(__VERSION__COMPILER_L_OPTION_GALILEO_...))    \  */
                                        /*                        )                                                                  */
                                        /*        #    Eif       (         (defined(__VERSION__COMPILER_L_OPTION_GALILEO_...))    \  */
                                        /*                        )                                                                  */
                                        /*                                                                                           */
                                        /* a cause de '$xcc/cl$Z' lors de la recuperation des includes conditionnels...              */

#              ifdef     GESTION_DE_L_OPTION_GALILEO_VERSION_02

#                   ifdef     __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW

#                        ifndef    INCLURE_LE_GRAPHIQUE_X_WINDOW
#                             define    INCLURE_LE_GRAPHIQUE_X_WINDOW
#                        Aifndef   INCLURE_LE_GRAPHIQUE_X_WINDOW
#                        Eifndef   INCLURE_LE_GRAPHIQUE_X_WINDOW

#                        define    L_ENTREE_VIDEO_TEMPS_REEL_EST_POSSIBLE
#                   Aifdef    __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW
#                   Eifdef    __VERSION__COMPILER_LE_GRAPHIQUE_X_WINDOW

#              Aifdef    GESTION_DE_L_OPTION_GALILEO_VERSION_02
#              Eifdef    GESTION_DE_L_OPTION_GALILEO_VERSION_02

#         Aifdef    __VERSION__COMPILER_L_OPTION_GALILEO_DU_GRAPHIQUE_SILICON_GRAPHICS
#         Eifdef    __VERSION__COMPILER_L_OPTION_GALILEO_DU_GRAPHIQUE_SILICON_GRAPHICS

#         ifdef     INCLURE_LE_GRAPHIQUE_X_WINDOW
#              include   image_drive_XWind_FONCTION_EXT
#         Aifdef    INCLURE_LE_GRAPHIQUE_X_WINDOW
#         Eifdef    INCLURE_LE_GRAPHIQUE_X_WINDOW

#         include   image_drive_SiliG_FONCTION_1_EXT
                                        /* ATTENTION, l'ordre suivant est imperatif :                                                */
                                        /*                                                                                           */
                                        /*                  #              include   image_drive_XWind_FONCTION_EXT                  */
                                        /*                  #         include   image_drive_SiliG_FONCTION_1_EXT                     */
                                        /*                                                                                           */
                                        /* a cause des references de 'XWind' par 'SiliG'...                                          */

#    Aifdef    __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS

#         ifdef     __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER
#              include   image_drive_UltFB_FONCTION_EXT
#         Aifdef    __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER
#         Eifdef    __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER

#    Eifdef    __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS

#Eifdef   __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        P A R A M E T R E S  :                                                                                                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   SIGNER                                                                                                                        \
                    FAUX                                                                                                                \
                                        /* Indique s'il faut signer ('VRAI') ou pas ('FAUX') l'image...                              */

#include  xci/signature.01.I"
                                        /* Caracteristiques de la signature...                                                       */

#ifdef    __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7
#    define    GENERER_DE_LA_VIDEO                                                                                                      \
                         VRAI                                                                                                           \
                                        /* De la video "standard" 576x700 ('VRAI') ou de la "haute-definition" 1024x1024 ('FAUX').   */
#    define    GENERER_LE_FICHIER_DE_CONFIGURATION                                                                                      \
                         FAUX                                                                                                           \
                                        /* A priori, ne pas generer le fichier de configuration ("./irene")...                       */
#    define    TRANSLATION_OX                                                                                                           \
                         COND(IL_FAUT(generer_de_la_video)                                                                              \
                             ,0.184                                                                                                     \
                             ,translation_OX                                                                                            \
                              )                                                                                                         \
                                        /* Translation horizontale implicite (imposee en 576x700, libre en 1024x1024),               */
#    define    TRANSLATION_OY                                                                                                           \
                         COND(IL_FAUT(generer_de_la_video)                                                                              \
                             ,-0.071                                                                                                    \
                             ,translation_OY                                                                                            \
                              )                                                                                                         \
                                        /* Translation verticale implicite (imposee en 576x700, libre en 1024x1024).                 */
#Aifdef   __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7

#    ifdef     __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS
#         define    VISUALISER_EN_RVB                                                                                                   \
                              VRAI                                                                                                      \
                                        /* A priori, on demande une visualisation en RVB ('VRAI')...                                 */

#         define    CENTRER_LA_FENETRE                                                                                                  \
                              FAUX                                                                                                      \
                                        /* Faut-il centrer la fenetre ('VRAI') ou pas ('FAUX').                                      */
#         define    CORRIGER_LE_GAMMA                                                                                                   \
                              FAUX                                                                                                      \
                                        /* A priori, on ne touchera pas a la correction de gamma.                                    */
#         define    CORRECTION_DE_GAMMA_ROUGE                                                                                           \
                              FU
#         define    CORRECTION_DE_GAMMA_VERTE                                                                                           \
                              FU
#         define    CORRECTION_DE_GAMMA_BLEUE                                                                                           \
                              FU
                                        /* Corrections de gamma implicites.                                                          */

#         define    ANIMATION_DES_COULEURS                                                                                              \
                              FAUX                                                                                                      \
                                        /* A priori, on laissera telle qu'elle la palette de couleurs...                             */
#         define    TRANSLATER_LE_NOIR                                                                                                  \
                              LE_NOIR_N_EST_PAS_TRANSLATABLE                                                                            \
                                        /* Indique si le niveau 'NOIR' est translatable dans 'ACCES_LA_PALETTE_ET_TRANSLATION(...)'  */ \
                                        /* ou pas...                                                                                 */
#         define    INCREMENT_DE_L_INCREMENT_DES_NIVEAUX                                                                                \
                              I                                                                                                         \
                                        /* Lorsque la palette doit "tourner", on trouve ici l'increment des couleurs...              */
#         define    NOMBRE_DE_CHANGEMENTS_DE_COULEURS                                                                                   \
                              SEIZE                                                                                                     \
                                        /* Nombre de "rotations" de la palette de couleurs (eventuellement) ; celui-ci est infini    */ \
                                        /* si la valeur donnee est nulle.                                                            */
#         define    TEMPORISATION_INTER_PALETTES                                                                                        \
                              ZERO                                                                                                      \
                                        /* Temporisation inter palettes ; une valeur nulle fait qu'il n'y a pas d'attente...         */

#         define    GENERER_DE_LA_VIDEO                                                                                                 \
                              FAUX                                                                                                      \
                                        /* De la video "standard" 780x575 ('VRAI') ou de la "haute-definition" 1280x1024 ('FAUX').   */
#         define    LAISSER_LE_CURSEUR_APPARAITRE_PENDANT_L_AFFICHAGE                                                                   \
                              FAUX                                                                                                      \
                                        /* Indicateur precisant s'il faut laisser le curseur de l'ecran pendant que cette fenetre    */ \
                                        /* est ouverte ('VRAI') ou le supprimer ('FAUX').                                            */

#         define    REDIMENSIONNER_LES_IMAGES_RVB                                                                                       \
                              FAUX                                                                                                      \
                                        /* Les images 'RVB' doivent-elles etre redimensionnees ('VRAI') ou pas ('FAUX').             */
#         define    METHODE_DE_REECHANTILLONNAGE_A_UTILISER                                                                             \
                              METHODE_IMPLICITE_DE_REECHANTILLONNAGE                                                                    \
                                        /* Methode de redimensionnement a utiliser alors...                                          */
#         define    CONSERVER_LES_PROPORTIONS_LORS_D_UN_REDIMENSIONNEMENT                                                               \
                              FAUX                                                                                                      \
                                        /* Faut-il conserver ('VRAI') ou pas ('FAUX') les proportions de l'image Argument. La        */ \
                                        /* valeur implicite ('FAUX') permet d'occuper tout l'ecran, et ce quelle que soit l'image    */ \
                                        /* Argument...                                                                               */

#         ifdef     L_ENTREE_VIDEO_TEMPS_REEL_EST_POSSIBLE
#              define    SERVEUR_STANDARD                                                                                               \
                                   DEFINITION_DU_SERVEUR_X_WINDOW                                                                       \
                                        /* Le serveur standard est celui qui est defini par la variable "DISPLAY".                   */

#              define    EDITER_LES_PRINT_ATTENTION_INITIAUX                                                                            \
                                   FAUX                                                                                                 \
                                        /* Indique si les messages initiaux du type 'PRINT_ATTENTION(...)' doivent etre emis         */ \
                                        /* ('VRAI') ou pas ('FAUX').                                                                 */
#              define    SIGNALER_LES_EVENEMENTS_INATTENDUS                                                                             \
                                   NE_PAS_SIGNALER_LES_EVENEMENTS_INATTENDUS_DE_X_WINDOW                                                \
                                        /* Indique si les evenements inattendus de 'X-Window' doivent etre signales ('VRAI') ou pas  */ \
                                        /* ('FAUX').                                                                                 */

#              define    CENTRER_LA_FENETRE_VIDEO_TEMPS_REEL                                                                            \
                                   VRAI                                                                                                 \
                                        /* Faut-il centrer la fenetre video temps reel ('VRAI') ou bien donner explicitement la      */ \
                                        /* position de son coin "bas gauche" ('FAUX') ?                                              */
#              define    X_COIN_BAS_GAUCHE                                                                                              \
                                   Xmin11                                                                                               \
                                        /* Definition du coin bas gauche de la fenetre...                                            */
#              define    Y_COIN_BAS_GAUCHE                                                                                              \
                                   Ymin11                                                                                               \
                                        /* Definition du coin bas gauche de la fenetre...                                            */

#              define    ENTREE_VIDEO_TEMPS_REEL                                                                                        \
                                   FAUX                                                                                                 \
                                        /* De la video va-t-elle etre entree ('VRAI') ou pas ('FAUX')...                             */
#              define    NUMERISER_UNE_IMAGE                                                                                            \
                                   FAUX                                                                                                 \
                                        /* Si de la video entre, faut-il numeriser une image ('VRAI') ou pas ('FAUX')...             */
#         Aifdef    L_ENTREE_VIDEO_TEMPS_REEL_EST_POSSIBLE
#              define    SERVEUR_STANDARD                                                                                               \
                                   NOM_UNDEF                                                                                            \
                                        /* Le serveur standard est celui qui est defini par la variable "DISPLAY".                   */

#              define    EDITER_LES_PRINT_ATTENTION_INITIAUX                                                                            \
                                   FAUX                                                                                                 \
                                        /* Indique si les messages initiaux du type 'PRINT_ATTENTION(...)' doivent etre emis         */ \
                                        /* ('VRAI') ou pas ('FAUX').                                                                 */
#              define    X_COIN_BAS_GAUCHE                                                                                              \
                                   UNDEF                                                                                                \
                                        /* Definition du coin bas gauche de la fenetre...                                            */
#              define    Y_COIN_BAS_GAUCHE                                                                                              \
                                   UNDEF                                                                                                \
                                        /* Definition du coin bas gauche de la fenetre...                                            */

#              define    ENTREE_VIDEO_TEMPS_REEL                                                                                        \
                                   FAUX                                                                                                 \
                                        /* De la video va-t-elle etre entree ('VRAI') ou pas ('FAUX')...                             */
#         Eifdef    L_ENTREE_VIDEO_TEMPS_REEL_EST_POSSIBLE

#         if        (         (defined(__VERSION__COMPILER_L_OPTION_GALILEO_DU_GRAPHIQUE_SILICON_GRAPHICS))                             \
                     )
#                   redefine  LAISSER_LE_CURSEUR_APPARAITRE_PENDANT_L_AFFICHAGE                                                         \
                                        VRAI                                                                                            \
                                        /* Indicateur precisant s'il faut laisser le curseur de l'ecran pendant que cette fenetre    */ \
                                        /* est ouverte ('VRAI') ou le supprimer ('FAUX').                                            */
#         Aif       (         (defined(__VERSION__COMPILER_L_OPTION_GALILEO_DU_GRAPHIQUE_SILICON_GRAPHICS))                             \
                     )
#         Eif       (         (defined(__VERSION__COMPILER_L_OPTION_GALILEO_DU_GRAPHIQUE_SILICON_GRAPHICS))                             \
                     )

#         define    TRANSLATION_OX_DE_LA_FENETRE                                                                                        \
                              _____lNORMALISE_OXG(CGXR(XminG))                                                                          \
                                        /* Translation horizontale implicite de la fenetre,                                          */
#         define    TRANSLATION_OY_DE_LA_FENETRE                                                                                        \
                              _____lNORMALISE_OYG(CGYR(YminG))                                                                          \
                                        /* Translation verticale implicite de la fenetre.                                            */
#         define    CENTRER_L_IMAGE_DANS_LA_FENETRE                                                                                     \
                              VRAI                                                                                                      \
                                        /* Centrer ou pas (il faut alors la translation suivante) l'image dans la fenetre...         */
#         define    TRANSLATION_OX_DE_L_IMAGE_DANS_LA_FENETRE                                                                           \
                              _____lNORMALISE_OXG(CGXR(XminG))                                                                          \
                                        /* Translation horizontale implicite de l'image dans la fenetre,                             */
#         define    TRANSLATION_OY_DE_L_IMAGE_DANS_LA_FENETRE                                                                           \
                              _____lNORMALISE_OYG(CGYR(YminG))                                                                          \
                                        /* Translation verticale implicite de l'image dans la fenetre.                               */
#         define    FACTEUR_DE_ZOOM                                                                                                     \
                              RAPPORT_DE_ZOOM_STANDARD_DE_rectzoom                                                                      \
                                        /* Facteur de zoom de l'image.                                                               */
#         define    MINIMUM_DE_LA_LUMINANCE                                                                                             \
                              NOIR
#         define    MAXIMUM_DE_LA_LUMINANCE                                                                                             \
                              BLANC
                                        /* Minimum et maximum demande pour chaque point (a l'exception des points 'NOIR').           */
#         define    NOM_DE_LA_FENETRE                                                                                                   \
                              "image"                                                                                                   \
                                        /* Nom de la fenetre...                                                                      */
#         define    SYNCHRONISATION_EXTERNE                                                                                             \
                              FAUX                                                                                                      \
                                        /* Indique s'il y a une attente implicite par 'DUREE_D_ATTENTE' ('FAUX') ou bien une         */ \
                                        /* synchronisation sur un signal externe par 'ATTENDRE_AU_FEU_ROUGE' ('VRAI').               */
#         define    DUREE_D_ATTENTE                                                                                                     \
                              SOIXANTE                                                                                                  \
                                        /* Attente implicite avant d'effacer l'image.                                                */
#    Aifdef    __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS

#         ifdef     __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER
#              define    TRANSLATION_OX_DE_LA_FENETRE                                                                                   \
                                   _____lNORMALISE_OXU(CUXR(XminU))                                                                     \
                                        /* Translation horizontale implicite de la fenetre,                                          */
#              define    TRANSLATION_OY_DE_LA_FENETRE                                                                                   \
                                   _____lNORMALISE_OYU(CUYR(YminU))                                                                     \
                                        /* Translation verticale implicite de la fenetre.                                            */
#              define    CENTRER_L_IMAGE_DANS_LA_FENETRE                                                                                \
                                   VRAI                                                                                                 \
                                        /* Centrer ou pas (il faut alors la translation suivante) l'image dans la fenetre...         */
#              define    TRANSLATION_OX_DE_L_IMAGE_DANS_LA_FENETRE                                                                      \
                                   _____lNORMALISE_OXU(CUXR(XminU))                                                                     \
                                        /* Translation horizontale implicite de l'image dans la fenetre,                             */
#              define    TRANSLATION_OY_DE_L_IMAGE_DANS_LA_FENETRE                                                                      \
                                   _____lNORMALISE_OYU(CUYR(YminU))                                                                     \
                                        /* Translation verticale implicite de l'image dans la fenetre.                               */
#              define    FACTEUR_DE_ZOOM                                                                                                \
                                   RAPPORT_DE_ZOOM_STANDARD_DU_FRAME_BUFFER_ULTRANET                                                    \
                                        /* Facteur de zoom de l'image.                                                               */
#              define    NOM_DE_LA_FENETRE                                                                                              \
                                   "image"                                                                                              \
                                        /* Nom de la fenetre...                                                                      */
#         Aifdef    __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER
#         Eifdef    __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER

#    Eifdef    __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS

#Eifdef   __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        M A C R O S   U T I L E S  :                                                                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xci/signature.02.I"

#ifdef    __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7
#Aifdef   __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7

#    ifdef     __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS
#         define    CHARGEMENT_DE_LA_PALETTE_DE_COULEURS                                                                                \
                              Bblock                                                                                                    \
                              CALS(Iload_palette_de_couleurs(nom_paletteA,ESPACE_DE_COULEURS_RVB));                                     \
                                        /* Chargement de la palette de couleurs...                                                   */ \
                              Eblock                                                                                                    \
                                        /* Chargement des trois listes de substitution composant une palette...                      */

                                        /* Nota important : il est essentiel que l'on trouve lorsque cela est possible, les actions  */
                                        /* suivantes dans l'ordre suivant :                                                          */
                                        /*                                                                                           */
                                        /*                  CONVERSION_D_UNE_IMAGE;                                                  */
                                        /*                  OUVERTURE_DE_LA_FENETRE;                                                 */
                                        /*                  AFFICHAGE_D_UNE_IMAGE_ET_ATTENTE(...);                                   */
                                        /*                  FERMETURE_DE_LA_FENETRE;                                                 */
                                        /*                                                                                           */
                                        /* En effet, dans ces conditions la temporisation necessaire au niveau du 'C-Shell' dans les */
                                        /* alias definis par '$Fdivers' n'inclue pas la duree de conversion 'CONVERSION_D_UNE_IMAGE' */
                                        /* et ainsi, cette temporisation est independante de la vitesse de la machine.               */
                                        /* Malheureusement, ceci n'est pas possible lorsque l'on effectue une simulation de la       */
                                        /* commande '$xci/display$K' par 'SIMULATION_DE_LA_ROTATION_DES_COULEURS' puisque l'on fait  */
                                        /* alors autant de 'CONVERSION_D_UNE_IMAGE' qu'il y a d'incrementations de couleurs...       */

#         define    OUVERTURE_DE_LA_FENETRE                                                                                             \
                              Bblock                                                                                                    \
                              CALS(IGopen(nom_de_la_fenetre                                                                             \
                                         ,centrer_la_fenetre                                                                            \
                                         ,ADRESSE(translation_de_la_fenetre)                                                            \
                                         ,generer_de_la_video                                                                           \
                                         ,laisser_le_curseur_apparaitre_pendant_l_affichage                                             \
                                          )                                                                                             \
                                   );                                                                                                   \
                                        /* Ouverture du plan de travail.                                                             */ \
                                                                                                                                        \
                              Test(IL_FAUT(corriger_le_gamma))                                                                          \
                                   Bblock                                                                                               \
                                   CALS(IGchangement_de_la_correction_de_gamma(correction_de_gamma_ROUGE                                \
                                                                              ,correction_de_gamma_VERTE                                \
                                                                              ,correction_de_gamma_BLEUE                                \
                                                                               )                                                        \
                                        );                                                                                              \
                                   Eblock                                                                                               \
                              ATes                                                                                                      \
                                   Bblock                                                                                               \
                                   Eblock                                                                                               \
                              ETes                                                                                                      \
                              Eblock                                                                                                    \
                                        /* Ouverture d'une fenetre...                                                                */
#         define    FERMETURE_DE_LA_FENETRE                                                                                             \
                              Bblock                                                                                                    \
                              CALS(IGclose());                                                                                          \
                                        /* Fermeture du plan de travail.                                                             */ \
                              Eblock                                                                                                    \
                                        /* Fermeture d'une fenetre...                                                                */

#         define    REDIMENSIONNEMENT(imageR,imageA)                                                                                    \
                              Bblock                                                                                                    \
                              CALS(Iredimensionnement(imageR                                                                            \
                                                     ,XminRedim,XmaxRedim,YminRedim,YmaxRedim                                           \
                                                     ,imageA                                                                            \
                                                     ,EnTete_de_sauvegardM ## Xmin,EnTete_de_sauvegardM ## Xmax                         \
                                                     ,EnTete_de_sauvegardM ## Ymin,EnTete_de_sauvegardM ## Ymax                         \
                                                     ,methode_de_redimensionnement_a_utiliser                                           \
                                                      )                                                                                 \
                                   );                                                                                                   \
                              Eblock                                                                                                    \
                                        /* Redimensionnement d'un image...                                                           */

#         ifdef     __VERSION__UTILISER_LA_BIBLIOTHEQUE_GL
#              define    CONVERSION_D_UNE_IMAGE_QUELCONQUE(image_ROUGE,image_VERTE,image_BLEUE)                                         \
                                   Bblock                                                                                               \
                                   Test(IFET(IFEQ(minimum_de_la_luminance,MINIMUM_DE_LA_LUMINANCE)                                      \
                                            ,IFEQ(maximum_de_la_luminance,MAXIMUM_DE_LA_LUMINANCE)                                      \
                                             )                                                                                          \
                                        )                                                                                               \
                                        Bblock                                                                                          \
                                        CALS(Ifausses_couleurs_BVR_888_universel(image_en_vraies_couleurs                               \
                                                                                ,image_ROUGE,image_VERTE,image_BLEUE                    \
                                                                                 )                                                      \
                                             );                                                                                         \
                                        /* Et 'multiplexage universel' des trois images Arguments.                                   */ \
                                        Eblock                                                                                          \
                                   ATes                                                                                                 \
                                        Bblock                                                                                          \
                                        CALS(Iajustement_de_la_luminance_BVR_888(image_en_vraies_couleurs                               \
                                                                                ,image_ROUGE,image_VERTE,image_BLEUE                    \
                                                                                ,minimum_de_la_luminance                                \
                                                                                ,maximum_de_la_luminance                                \
                                                                                 )                                                      \
                                             );                                                                                         \
                                        /* Et 'multiplexage universel' des trois images Arguments, avec re-ajustement de la          */ \
                                        /* luminance sauf pour les points 'NOIR'...                                                  */ \
                                        Eblock                                                                                          \
                                   ETes                                                                                                 \
                                   Eblock                                                                                               \
                                        /* Conversion d'une image au format attendu...                                               */
#         Aifdef    __VERSION__UTILISER_LA_BIBLIOTHEQUE_GL
#         Eifdef    __VERSION__UTILISER_LA_BIBLIOTHEQUE_GL

#         ifdef     __VERSION__UTILISER_LA_BIBLIOTHEQUE_OpenGL
#              define    GET_ARGUMENTSi_X_WINDOW                                                                                        \
                                   Bblock                                                                                               \
                                                                                                                                        \
                                   DEBUT_D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES;                                      \
                                        /* Introduit le 20070130102858 car, en effet, il manquait...                                 */ \
                                                                                                                                        \
                                   GET_ARGUMENT_L("editer=""XY_curseur=""XY=",X11_____KeyPress_____editer_XY_curseur);                  \
                                   GET_ARGUMENT_L("normaliser_XY_curseur=""NXY=",X11_____KeyPress_____norm_XY_curseur);                 \
                                   GET_ARGUMENT_F("OX_curseur=""OX=",X11_____KeyPress_____OX_curseur);                                  \
                                   GET_ARGUMENT_F("LX_curseur=""LX=",X11_____KeyPress_____LX_curseur);                                  \
                                   GET_ARGUMENT_F("OY_curseur=""OY=",X11_____KeyPress_____OY_curseur);                                  \
                                   GET_ARGUMENT_F("LY_curseur=""LY=",X11_____KeyPress_____LY_curseur);                                  \
                                                                                                                                        \
                                   GET_ARGUMENT_L("SGIattention=",SGI_____editer_les_PRINT_ATTENTION_initiaux);                         \
                                                                                                                                        \
                                   FIN___D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES;                                      \
                                        /* Introduit le 20070130102858 car, en effet, il manquait...                                 */ \
                                                                                                                                        \
                                   Eblock                                                                                               \
                                        /* Pour entrer les arguments specifiques 'X-Window'...                                       */

#              define    CONVERSION_D_UNE_IMAGE_QUELCONQUE(image_ROUGE,image_VERTE,image_BLEUE)                                         \
                                   Bblock                                                                                               \
                                   Test(IFET(IFEQ(minimum_de_la_luminance,MINIMUM_DE_LA_LUMINANCE)                                      \
                                            ,IFEQ(maximum_de_la_luminance,MAXIMUM_DE_LA_LUMINANCE)                                      \
                                             )                                                                                          \
                                        )                                                                                               \
                                        Bblock                                                                                          \
                                        CALS(Ifausses_couleurs_RVBg_888_universel(image_en_vraies_couleurs                              \
                                                                                 ,image_ROUGE,image_VERTE,image_BLEUE                   \
                                                                                  )                                                     \
                                             );                                                                                         \
                                        /* Et 'multiplexage universel' des trois images Arguments.                                   */ \
                                        Eblock                                                                                          \
                                   ATes                                                                                                 \
                                        Bblock                                                                                          \
                                        CALS(Iajustement_de_la_luminance_RVBg_888(image_en_vraies_couleurs                              \
                                                                                 ,image_ROUGE,image_VERTE,image_BLEUE                   \
                                                                                 ,minimum_de_la_luminance                               \
                                                                                 ,maximum_de_la_luminance                               \
                                                                                  )                                                     \
                                             );                                                                                         \
                                        /* Et 'multiplexage universel' des trois images Arguments, avec re-ajustement de la          */ \
                                        /* luminance sauf pour les points 'NOIR'...                                                  */ \
                                        Eblock                                                                                          \
                                   ETes                                                                                                 \
                                   Eblock                                                                                               \
                                        /* Conversion d'une image au format attendu...                                               */
#         Aifdef    __VERSION__UTILISER_LA_BIBLIOTHEQUE_OpenGL
#         Eifdef    __VERSION__UTILISER_LA_BIBLIOTHEQUE_OpenGL

#         define    CONVERSION_D_UNE_IMAGE                                                                                              \
                              Bblock                                                                                                    \
                              CONVERSION_D_UNE_IMAGE_QUELCONQUE(Image_ROUGE,Image_VERTE,Image_BLEUE);                                   \
                              Eblock                                                                                                    \
                                        /* Conversion d'une image au format attendu...                                               */

#         define    AFFICHAGE_D_UNE_IMAGE_ET_ATTENTE(attendre)                                                                          \
                              Bblock                                                                                                    \
                              CALS(IGdisplay(image_en_vraies_couleurs                                                                   \
                                            ,facteur_de_zoom                                                                            \
                                            ,centrer_l_image_dans_la_fenetre                                                            \
                                            ,ADRESSE(translation_de_l_image_dans_la_fenetre)                                            \
                                             )                                                                                          \
                                   );                                                                                                   \
                                        /* Affichage de l'image.                                                                     */ \
                                                                                                                                        \
                              Test(IL_FAUT(attendre))                                                                                   \
                                   Bblock                                                                                               \
                                   Test(IL_FAUT(synchronisation_externe))                                                               \
                                        Bblock                                                                                          \
                                        DODO(duree_d_attente);                                                                          \
                                        /* On attend d'abord un petit peu et ce pour des raisons liees au probleme du repos          */ \
                                        /* d'ecran, car on ne sait pas vraiment combien de temps dure le retour a la normale...      */ \
                                        MISE_DU_FEU_AU_VERT(FEU_DE_SYNCHRONISATION_DE_FIN_D_AFFICHAGE_D_IMAGE);                         \
                                        /* On indique ainsi que l'image est surement visible, et que l'on peut par exemple           */ \
                                        /* l'enregistrer...                                                                          */ \
                                        ATTENDRE_AU_FEU_ROUGE(FEU_DE_SYNCHRONISATION_DE_FIN_DES_ENREGISTREMENTS_PAL_BETA);              \
                                        /* Attente de synchronisation externe (par exemple une fin d'enregistrement video...).       */ \
                                        Eblock                                                                                          \
                                   ATes                                                                                                 \
                                        Bblock                                                                                          \
                                        Test(IZEQ(duree_d_attente))                                                                     \
                                             Bblock                                                                                     \
                                             CALS(IGattente_de_l_evenement_ButtonPress());                                              \
                                        /* Lorsque la duree d'attente est nulle, l'attente se fait a l'aide de l'un des trois        */ \
                                        /* bouton de la souris...                                                                    */ \
                                             Eblock                                                                                     \
                                        ATes                                                                                            \
                                             Bblock                                                                                     \
                                             DODO(duree_d_attente);                                                                     \
                                        /* Attente implicite lorsqu'il n'y a pas de synchronisation externe...                       */ \
                                             Eblock                                                                                     \
                                        ETes                                                                                            \
                                        Eblock                                                                                          \
                                   ETes                                                                                                 \
                                   Eblock                                                                                               \
                              ATes                                                                                                      \
                                   Bblock                                                                                               \
                                   Eblock                                                                                               \
                              ETes                                                                                                      \
                              Eblock                                                                                                    \
                                        /* Affichage d'une image et attente...                                                       */

#         define    SIMULATION_DE_LA_ROTATION_DES_COULEURS                                                                              \
                              Bblock                                                                                                    \
                              PUSH_OPTIMISATION;                                                                                        \
                              SET_OPTIMISATION(VRAI);                                                                                   \
                                        /* Afin de ne passer que par les listes de substitution...                                   */ \
                                                                                                                                        \
                              CALS(Ivraies_couleurs(Image_ROUGE,Image_VERTE,Image_BLEUE                                                 \
                                                   ,ImageG                                                                              \
                                                   ,VRAI,VRAI,VRAI                                                                      \
                                                   ,increment_des_niveaux                                                               \
                                                   ,translater_le_NOIR                                                                  \
                                                    )                                                                                   \
                                   );                                                                                                   \
                                        /* Passage des fausses aux vraies couleurs via la palette courante.                          */ \
                                                                                                                                        \
                              PULL_OPTIMISATION;                                                                                        \
                                                                                                                                        \
                              INCR(increment_des_niveaux,increment_de_l_increment_des_niveaux);                                         \
                                        /* Incrementation de l'increment courant des couleurs...                                     */ \
                              Eblock                                                                                                    \
                                        /* Simulation de la rotation des palettes des couleurs...                                    */
#    Aifdef    __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS

#         ifdef     __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER
#         Aifdef    __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER
#         Eifdef    __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER

#    Eifdef    __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS

#    TestADef  GET_ARGUMENTSi_X_WINDOW                                                                                                  \
                         Bblock                                                                                                         \
                                                                                                                                        \
                         DEBUT_D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES;                                                \
                                        /* Introduit le 20070130102858 car, en effet, il manquait...                                 */ \
                                                                                                                                        \
                         BLOC(VIDE;);                                                                                                   \
                                                                                                                                        \
                         FIN___D_IMBRICATION_DES_____gPROCESS_PARAMETRE_____SECONDAIRES;                                                \
                                        /* Introduit le 20070130102858 car, en effet, il manquait...                                 */ \
                                                                                                                                        \
                         Eblock                                                                                                         \
                                        /* Pour entrer les arguments specifiques 'X-Window'...                                       */

#Eifdef   __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D I S P L A Y   D ' U N E   I M A G E   D A N S   U N E   F E N E T R E   2 D  :                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
#include  xci/signature.03.I"

#ifdef    __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7
     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(Logical,INIT(initialisation_globale,FAUX));
                                        /* Indicateur d'initialisation generale de la cubi7.                                         */
     DEFV(Logical,INIT(generer_de_la_video,GENERER_DE_LA_VIDEO));
                                        /* De la video "standard" 576x700 ('VRAI') ou de la "haute-definition" 1024x1024 ('FAUX').   */
     DEFV(Logical,INIT(generer_le_fichier_de_configuration,GENERER_LE_FICHIER_DE_CONFIGURATION));
                                        /* A priori, ne pas generer le fichier de configuration ("./irene")...                       */
     DEFV(Float,INIT(translation_OX,FZERO));
     DEFV(Float,INIT(translation_OY,FZERO));
                                        /* Argument de translation de la fenetre.                                                    */
     DEFV(Float,INIT(taille_OX,FLOT__UNDEF));
     DEFV(Float,INIT(taille_OY,FLOT__UNDEF));
                                        /* Argument de taille de la fenetre mis a l'etat indefini car on ne connait pas encore       */
                                        /* le format reel (1024 ou 576) de l'image...                                                */
     DEFV(deltaF_2D,translation);
                                        /* Translation de la fenetre.                                                                */
     DEFV(deltaF_2D,taille);
                                        /* Taille de la fenetre.                                                                     */
     DEFV(Logical,INIT(noir_et_blanc,VRAI));
                                        /* Indique si l'image doit etre presentee en NOIR et BLANC ('VRAI') ou                       */
                                        /* en couleurs ('FAUX').                                                                     */
     DEFV(Logical,INIT(rouge_presente,VRAI));
                                        /* Indique si la compose ROUGE est presente ou non,                                          */
     DEFV(Logical,INIT(verte_presente,VRAI));
                                        /* Indique si la compose VERTE est presente ou non,                                          */
     DEFV(Logical,INIT(bleue_presente,VRAI));
                                        /* Indique si la compose BLEUE est presente ou non,                                          */
     DEFV(Logical,INIT(optimiser,VRAI));
                                        /* Indique s'il faut optimiser ('VRAI') en ne transmettant pas les 'dummy'                   */
                                        /* associes a chaque composante {R,V,B} ou pas ('FAUX').                                     */
     DEFV(Float,INIT(pasX_intermediaire,FLOT__UNDEF));
     DEFV(Float,INIT(pasY_intermediaire,FLOT__UNDEF));
                                        /* Valeur des pas de sous-echantillonnage de l'image.                                        */
#Aifdef   __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7

#    ifdef     __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS
     DEFV(Logical,INIT(visualiser_EN_RVB,VISUALISER_EN_RVB));
                                        /* A priori, on demande une visualisation en RVB ('VRAI')...                                 */

     DEFV(Logical,INIT(centrer_la_fenetre,CENTRER_LA_FENETRE));
                                        /* Faut-il centrer la fenetre ('VRAI') ou pas ('FAUX').                                      */
     DEFV(Logical,INIT(corriger_le_gamma,CORRIGER_LE_GAMMA));
                                        /* A priori, on ne touchera pas a la correction de gamma.                                    */
     DEFV(Float,INIT(correction_de_gamma_ROUGE,CORRECTION_DE_GAMMA_ROUGE));
     DEFV(Float,INIT(correction_de_gamma_VERTE,CORRECTION_DE_GAMMA_VERTE));
     DEFV(Float,INIT(correction_de_gamma_BLEUE,CORRECTION_DE_GAMMA_BLEUE));
                                        /* Corrections de gamma implicites.                                                          */

     DEFV(CHAR,INIC(POINTERc(nom_imageAR),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_imageAV),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_imageAB),NOM_PIPE));
                                        /* Nom de l'image en vraies couleurs a displayer.                                            */

     DEFV(CHAR,INIC(POINTERc(nom_imageA),NOM_PIPE));
                                        /* Nom de l'image en fausses couleurs a displayer.                                           */
     DEFV(CHAR,INIC(POINTERc(nom_paletteA),NOM_PIPE));
                                        /* Nom de la palette a utiliser.                                                             */
     DEFV(Logical,INIT(animation_des_couleurs,ANIMATION_DES_COULEURS));
                                        /* Indique si les couleurs doivent etre laissees telles qu'elles, ou bien animees de         */
                                        /* facon "circulaire"...                                                                     */
     DEFV(Logical,INIT(translater_le_NOIR,TRANSLATER_LE_NOIR));
                                        /* Indique si le niveau 'NOIR' est translatable dans 'ACCES_LA_PALETTE_ET_TRANSLATION(...)'  */
                                        /* ou pas...                                                                                 */
     DEFV(Int,INIT(increment_des_niveaux,ZERO));
                                        /* Lorsque l'animation des couleurs est demande, on trouve ici leur increment courant,       */
     DEFV(Int,INIT(increment_de_l_increment_des_niveaux,INCREMENT_DE_L_INCREMENT_DES_NIVEAUX));
                                        /* Et la, l'increment de l'increment...                                                      */
     DEFV(Positive,INIT(nombre_de_changements_de_couleurs,NOMBRE_DE_CHANGEMENTS_DE_COULEURS));
                                        /* Nombre de "rotations" de la palette de couleurs (eventuellement) ; celui-ci est infini    */
                                        /* si la valeur donnee est nulle.                                                            */
     DEFV(Int,INIT(temporisation_inter_palettes,TEMPORISATION_INTER_PALETTES));
                                        /* Temporisation inter palettes ; une valeur nulle fait qu'il n'y a pas d'attente...         */
                                        /*                                                                                           */
                                        /* ATTENTION, jusqu'au 19970507160714, cet 'Int' avait le type 'Positive'.                   */

     DEFV(CHAR,INIC(POINTERc(nom_de_la_fenetre),NOM_DE_LA_FENETRE));
                                        /* Nom de la fenetre...                                                                      */
     DEFV(Logical,INIT(generer_de_la_video,GENERER_DE_LA_VIDEO));
                                        /* De la video "standard" 780x575 ('VRAI') ou de la "haute-definition" 1280x1024 ('FAUX').   */
     DEFV(Logical,INIT(laisser_le_curseur_apparaitre_pendant_l_affichage,LAISSER_LE_CURSEUR_APPARAITRE_PENDANT_L_AFFICHAGE));
                                        /* Indicateur precisant s'il faut laisser le curseur de l'ecran pendant que cette fenetre    */
                                        /* est ouverte ('VRAI') ou le supprimer ('FAUX').                                            */
     DEFV(Logical,INIT(redimensionner_les_images_RVB,REDIMENSIONNER_LES_IMAGES_RVB));
                                        /* Les images 'RVB' doivent-elles etre redimensionnees ('VRAI') ou pas ('FAUX').             */
     DEFV(Int,INIT(methode_de_redimensionnement_a_utiliser,METHODE_DE_REECHANTILLONNAGE_A_UTILISER));
                                        /* Methode de redimensionnement a utiliser alors...                                          */
     DEFV(Logical,INIT(conserver_les_proportions_lors_d_un_redimensionnement,CONSERVER_LES_PROPORTIONS_LORS_D_UN_REDIMENSIONNEMENT));
                                        /* Faut-il conserver ('VRAI') ou pas ('FAUX') les proportions de l'image Argument. La        */
                                        /* valeur implicite ('FAUX') permet d'occuper tout l'ecran, et ce quelle que soit l'image    */
                                        /* Argument...                                                                               */
     DEFV(Float,INIT(translation_OX_de_la_fenetre,TRANSLATION_OX_DE_LA_FENETRE));
     DEFV(Float,INIT(translation_OY_de_la_fenetre,TRANSLATION_OY_DE_LA_FENETRE));
                                        /* Argument de translation de la fenetre.                                                    */
     DEFV(deltaF_2D,translation_de_la_fenetre);
                                        /* Translation de la fenetre.                                                                */
     DEFV(Logical,INIT(centrer_l_image_dans_la_fenetre,CENTRER_L_IMAGE_DANS_LA_FENETRE));
                                        /* Centrer ou pas (il faut alors la translation suivante) l'image dans la fenetre...         */
     DEFV(Float,INIT(translation_OX_de_l_image_dans_la_fenetre,TRANSLATION_OX_DE_L_IMAGE_DANS_LA_FENETRE));
     DEFV(Float,INIT(translation_OY_de_l_image_dans_la_fenetre,TRANSLATION_OY_DE_L_IMAGE_DANS_LA_FENETRE));
                                        /* Argument de translation de l'image dans la fenetre.                                       */
     DEFV(deltaF_2D,translation_de_l_image_dans_la_fenetre);
                                        /* Translation de l'image dans la fenetre.                                                   */
     DEFV(Float,INIT(facteur_de_zoom,FACTEUR_DE_ZOOM));
                                        /* Facteur de zoom de l'image.                                                               */
     DEFV(genere_p,INIT(minimum_de_la_luminance,MINIMUM_DE_LA_LUMINANCE));
     DEFV(genere_p,INIT(maximum_de_la_luminance,MAXIMUM_DE_LA_LUMINANCE));
                                        /* Minimum et maximum demande pour chaque point (a l'exception des points 'NOIR').           */
     DEFV(Logical,INIT(synchronisation_externe,SYNCHRONISATION_EXTERNE));
                                        /* Indique s'il y a une attente implicite par 'DUREE_D_ATTENTE' ('FAUX') ou bien une         */
                                        /* synchronisation sur un signal externe par 'ATTENDRE_AU_FEU_ROUGE' ('VRAI').               */
     DEFV(Int,INIT(duree_d_attente,DUREE_D_ATTENTE));
                                        /* Duree d'attente apres l'affichage d'une image et avant son effacement.                    */
                                        /*                                                                                           */
                                        /* ATTENTION, jusqu'au 19970507160714, cet 'Int' avait le type 'Positive'.                   */

     DEFV(Logical,INIT(entree_video_temps_reel,ENTREE_VIDEO_TEMPS_REEL));
                                        /* De la video va-t-elle etre entree ('VRAI') ou pas ('FAUX')...                             */
                                        /*                                                                                           */
                                        /* ATTENTION, la definition de l'indicateur 'entree_video_temps_reel' ne doit pas etre       */
                                        /* conditionne par 'L_ENTREE_VIDEO_TEMPS_REEL_EST_POSSIBLE' car il est teste une fois        */
                                        /* en dehors des compilations conditionnelles...                                             */
     DEFV(CHAR,INIC(POINTERc(nom_imageRR),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_imageRV),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_imageRB),NOM_PIPE));
                                        /* Nom de l'image en vraies couleurs numerisee.                                              */

#         ifdef     L_ENTREE_VIDEO_TEMPS_REEL_EST_POSSIBLE
     DEFV(CHAR,INIC(POINTERc(serveur_standard),SERVEUR_STANDARD));
                                        /* Le serveur standard est celui qui est defini par la variable "DISPLAY".                   */
     DEFV(Logical,INIT(editer_les_PRINT_ATTENTION_initiaux,EDITER_LES_PRINT_ATTENTION_INITIAUX));
                                        /* Indique si les messages initiaux du type 'PRINT_ATTENTION(...)' doivent etre emis         */
                                        /* ('VRAI') ou pas ('FAUX').                                                                 */
     DEFV(Logical,INIT(numeriser_une_image,NUMERISER_UNE_IMAGE));
                                        /* Si de la video entre, faut-il numeriser une image ('VRAI') ou pas ('FAUX')...             */
     DEFV(Logical,INIT(centrer_la_fenetre_video_temps_reel,CENTRER_LA_FENETRE_VIDEO_TEMPS_REEL));
                                        /* Faut-il centrer la fenetre video temps reel ('VRAI') ou bien donner explicitement la      */
                                        /* position de son coin "bas gauche" ('FAUX') ?                                              */
     DEFV(pointF_2D,coin_bas_gauche);
                                        /* Position du coin bas gauche de la fenetre.                                                */
#         Aifdef    L_ENTREE_VIDEO_TEMPS_REEL_EST_POSSIBLE
#         Eifdef    L_ENTREE_VIDEO_TEMPS_REEL_EST_POSSIBLE

#    Aifdef    __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS

#         ifdef     __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER
     DEFV(CHAR,INIC(POINTERc(nom_imageAR),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_imageAV),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_imageAB),NOM_PIPE));
     DEFV(CHAR,INIC(POINTERc(nom_de_la_fenetre),NOM_DE_LA_FENETRE));
                                        /* Nom de la fenetre...                                                                      */
     DEFV(Float,INIT(translation_OX_de_la_fenetre,TRANSLATION_OX_DE_LA_FENETRE));
     DEFV(Float,INIT(translation_OY_de_la_fenetre,TRANSLATION_OY_DE_LA_FENETRE));
                                        /* Argument de translation de la fenetre.                                                    */
     DEFV(deltaF_2D,translation_de_la_fenetre);
                                        /* Translation de la fenetre.                                                                */
     DEFV(Logical,INIT(centrer_l_image_dans_la_fenetre,CENTRER_L_IMAGE_DANS_LA_FENETRE));
                                        /* Centrer ou pas (il faut alors la translation suivante) l'image dans la fenetre...         */
     DEFV(Float,INIT(translation_OX_de_l_image_dans_la_fenetre,TRANSLATION_OX_DE_L_IMAGE_DANS_LA_FENETRE));
     DEFV(Float,INIT(translation_OY_de_l_image_dans_la_fenetre,TRANSLATION_OY_DE_L_IMAGE_DANS_LA_FENETRE));
                                        /* Argument de translation de l'image dans la fenetre.                                       */
     DEFV(deltaF_2D,translation_de_l_image_dans_la_fenetre);
                                        /* Translation de l'image dans la fenetre.                                                   */
     DEFV(Int,INIT(facteur_de_zoom,FACTEUR_DE_ZOOM));
                                        /* Facteur de zoom de l'image.                                                               */
#         Aifdef    __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER
#         Eifdef    __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER

#    Eifdef    __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS

#Eifdef   __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7

     /*..............................................................................................................................*/

#ifdef    __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7
     GET_ARGUMENTSg(nombre_d_arguments
                   ,BLOC(GET_ARGUMENT_C("imageA=""A=",nom_imageA);
                         GET_ARGUMENT_C("paletteA=""palette=""pA=""p=",nom_paletteA);
                         GET_ARGUMENT_L("signer=",signer);
                         GET_ARGUMENT_P("fond=""f=",niveau_fond);
                         GET_ARGUMENT_P("signature=""s=",niveau_signature);
                         GET_ARGUMENT_I("taille=""T=",taille_des_caracteres_des_messages);
                         GET_ARGUMENT_I("bibliotheque=",vecteurs_____num_bibliotheque);
                         GET_ARGUMENT_F("trx=""trX=",translation_OX);
                         GET_ARGUMENT_F("try=""trY=",translation_OY);
                         GET_ARGUMENT_F("dx=""dX=",taille_OX);
                         GET_ARGUMENT_F("dy=""dY=",taille_OY);
                         GET_ARGUMENT_L("init=",initialisation_globale);
                         GET_ARGUMENT_L("video=",generer_de_la_video);
                         GET_ARGUMENT_L("fichier=""configuration=",generer_le_fichier_de_configuration);
                         GET_ARGUMENT_L("nb=",noir_et_blanc);
                         GET_ARGUMENT_L("rouge=",rouge_presente);
                         GET_ARGUMENT_L("verte=",verte_presente);
                         GET_ARGUMENT_L("bleue=",bleue_presente);
                         GET_ARGUMENT_L("optimiser=",optimiser);
                         )
                    );
#Aifdef   __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7

#    ifdef     __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS

#         ifdef     L_ENTREE_VIDEO_TEMPS_REEL_EST_POSSIBLE
     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...                                  */

#              ifdef     BUG_SYSTEME_SGIND_VL_VLDESTROYPATH_ENTREE_VIDEO_TEMPS_REEL
     GET_ARGUMENTSg(nombre_d_arguments
                   ,BLOC(GET_ARGUMENT_L("RVB=",visualiser_EN_RVB);
                         GET_ARGUMENT_C("imageAR=""AR=",nom_imageAR);
                         GET_ARGUMENT_C("imageAV=""AV=",nom_imageAV);
                         GET_ARGUMENT_C("imageAB=""AB=",nom_imageAB);
                         GET_ARGUMENT_C("imageA=""A=",nom_imageA);
                         GET_ARGUMENT_C("paletteA=""palette=""pA=""p=",nom_paletteA);
                         GET_ARGUMENT_L("animation=",animation_des_couleurs);
                         GET_ARGUMENT_L("translater_le_NOIR=""noir=""NOIR=",translater_le_NOIR);
                         GET_ARGUMENT_I("increment=""i=",increment_de_l_increment_des_niveaux);
                         GET_ARGUMENT_I("nombre=""changements=",nombre_de_changements_de_couleurs);
                         GET_ARGUMENT_L("signer=",signer);
                         GET_ARGUMENT_P("fond=""f=",niveau_fond);
                         GET_ARGUMENT_P("signature=""s=",niveau_signature);
                         GET_ARGUMENT_I("taille=""T=",taille_des_caracteres_des_messages);
                         GET_ARGUMENT_I("bibliotheque=",vecteurs_____num_bibliotheque);
                         GET_ARGUMENT_C("titre=""nom=""fenetre=",nom_de_la_fenetre);
                         GET_ARGUMENT_L("synchronisation=""sync=""s=",synchronisation_externe);
                         GET_ARGUMENT_L("genlock=",SGI_____se_synchroniser_sur_une_source_externe);
                         GET_ARGUMENT_I("Vphase=",SGI_____decalage_de_VL_EV1_V_OFFSET);
                         GET_ARGUMENT_I("Hphase=",SGI_____decalage_de_VL_EV1_H_OFFSET);
                         GET_ARGUMENT_I("duree=""d=",duree_d_attente);
                         GET_ARGUMENT_I("xm=",SGI_____XminG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("xM=",SGI_____XmaxG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("Xm=",SGI_____XminG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("XM=",SGI_____XmaxG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("ym=",SGI_____YminG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("yM=",SGI_____YmaxG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("Ym=",SGI_____YminG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("YM=",SGI_____YmaxG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_L("Fcentrer=""Fc=",centrer_la_fenetre);
                                        /* Parametre introduit le 20060427162642...                                                  */
                         GET_ARGUMENT_L("gamma=",corriger_le_gamma);
                         GET_ARGUMENT_F("gamma_ROUGE=""gROUGE=",correction_de_gamma_ROUGE);
                         GET_ARGUMENT_F("gamma_VERTE=""gVERTE=",correction_de_gamma_VERTE);
                         GET_ARGUMENT_F("gamma_BLEUE=""gBLEUE=",correction_de_gamma_BLEUE);
                         GET_ARGUMENT_F("trx=""trX=",translation_OX_de_la_fenetre);
                         GET_ARGUMENT_F("try=""trY=",translation_OY_de_la_fenetre);
                         GET_ARGUMENT_L("centrer=",centrer_l_image_dans_la_fenetre);
                         GET_ARGUMENT_F("tix=""tiX=",translation_OX_de_l_image_dans_la_fenetre);
                         GET_ARGUMENT_F("tiy=""tiY=",translation_OY_de_l_image_dans_la_fenetre);
                         GET_ARGUMENT_F("zoom=",facteur_de_zoom);
                         GET_ARGUMENT_P("minimum=",minimum_de_la_luminance);
                         GET_ARGUMENT_P("maximum=",maximum_de_la_luminance);
                         GET_ARGUMENT_L("video=",generer_de_la_video);
                         GET_ARGUMENT_L("curseur=",laisser_le_curseur_apparaitre_pendant_l_affichage);
                         GET_ARGUMENT_L("redimensionner=",redimensionner_les_images_RVB);
                         GET_ARGUMENT_I("methode=",methode_de_redimensionnement_a_utiliser);
                         GET_ARGUMENT_P("niveau=",REECHANTILLONNAGE_GENERAL_____niveau_manquant);
                         GET_ARGUMENT_L("proportions=""proportion=",conserver_les_proportions_lors_d_un_redimensionnement);
                         GET_ARGUMENT_L("station=",SGI_____visualiser_le_contenu_de_l_ecran_de_la_station_de_travail);
                         GET_ARGUMENT_L("entree=",entree_video_temps_reel);
                         GET_ARGUMENT_L("numeriser=",numeriser_une_image);
                         GET_ARGUMENT_I("mode=",SGI_____mode_de_numerisation_des_images);
                         GET_ARGUMENT_I("ignorer=",SGI_____nombre_d_images_a_ignorer_avant_d_en_numeriser_une);
                         GET_ARGUMENT_C("imageRR=""RR=",nom_imageRR);
                         GET_ARGUMENT_C("imageRV=""RV=",nom_imageRV);
                         GET_ARGUMENT_C("imageRB=""RB=",nom_imageRB);
                         GET_ARGUMENT_L("Vcentrer=",centrer_la_fenetre_video_temps_reel);
                         GET_ARGUMENT_I("pal=",SGI_____Gentree_video_utilisee);
                         GET_ARGUMENT_I("bandeau=",SGI_____facteur_de_reduction_verticale_d_une_fenetre_bandeau);
                         GET_ARGUMENT_I("repos=",SGI_____Gentree_video_de_repos);
                         GET_ARGUMENT_I("decalageV=",SGI_____decalage_de_VL_EV1_V_OFFSET);
                         GET_ARGUMENT_I("blank=",SGI_____nombre_de_lignes_blankees);
                         GET_ARGUMENT_I("d2x=""d2X=",SGI_____fenetre_X_WINDOW_decalage_2_video_X);
                         GET_ARGUMENT_I("d2y=""d2Y=",SGI_____fenetre_X_WINDOW_decalage_2_video_Y);
                         GET_ARGUMENT_I("zoomN=""Nz=",SGI_____numerateur_du_rapport_de_zoom);
                         GET_ARGUMENT_I("zoomD=""Dz=",SGI_____denominateur_du_rapport_de_zoom);
                         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 20100109113225 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_ARGUMENTSi_X_WINDOW;
                         GET_ARGUMENT_F("xc=",ASD1(coin_bas_gauche,x));
                         GET_ARGUMENT_F("x=",ASD1(coin_bas_gauche,x));
                         GET_ARGUMENT_F("X=",ASD1(coin_bas_gauche,x));
                         GET_ARGUMENT_F("yc=",ASD1(coin_bas_gauche,y));
                         GET_ARGUMENT_F("y=",ASD1(coin_bas_gauche,y));
                         GET_ARGUMENT_F("Y=",ASD1(coin_bas_gauche,y));
                         )
                    );
#              Aifdef    BUG_SYSTEME_SGIND_VL_VLDESTROYPATH_ENTREE_VIDEO_TEMPS_REEL
     GET_ARGUMENTSg(nombre_d_arguments
                   ,BLOC(GET_ARGUMENT_L("RVB=",visualiser_EN_RVB);
                         GET_ARGUMENT_C("imageAR=""AR=",nom_imageAR);
                         GET_ARGUMENT_C("imageAV=""AV=",nom_imageAV);
                         GET_ARGUMENT_C("imageAB=""AB=",nom_imageAB);
                         GET_ARGUMENT_C("imageA=""A=",nom_imageA);
                         GET_ARGUMENT_C("paletteA=""palette=""pA=""p=",nom_paletteA);
                         GET_ARGUMENT_L("animation=",animation_des_couleurs);
                         GET_ARGUMENT_L("translater_le_NOIR=""noir=""NOIR=",translater_le_NOIR);
                         GET_ARGUMENT_I("increment=""i=",increment_de_l_increment_des_niveaux);
                         GET_ARGUMENT_I("nombre=""changements=",nombre_de_changements_de_couleurs);
                         GET_ARGUMENT_L("signer=",signer);
                         GET_ARGUMENT_P("fond=""f=",niveau_fond);
                         GET_ARGUMENT_P("signature=""s=",niveau_signature);
                         GET_ARGUMENT_I("taille=""T=",taille_des_caracteres_des_messages);
                         GET_ARGUMENT_I("bibliotheque=",vecteurs_____num_bibliotheque);
                         GET_ARGUMENT_C("titre=""nom=""fenetre=",nom_de_la_fenetre);
                         GET_ARGUMENT_L("synchronisation=""sync=""s=",synchronisation_externe);
                         GET_ARGUMENT_L("genlock=",SGI_____se_synchroniser_sur_une_source_externe);
                         GET_ARGUMENT_I("Vphase=",SGI_____decalage_de_VL_EV1_V_OFFSET);
                         GET_ARGUMENT_I("Hphase=",SGI_____decalage_de_VL_EV1_H_OFFSET);
                         GET_ARGUMENT_I("duree=""d=",duree_d_attente);
                         GET_ARGUMENT_I("xm=",SGI_____XminG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("xM=",SGI_____XmaxG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("Xm=",SGI_____XminG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("XM=",SGI_____XmaxG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("ym=",SGI_____YminG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("yM=",SGI_____YmaxG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("Ym=",SGI_____YminG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("YM=",SGI_____YmaxG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_L("Fcentrer=""Fc=",centrer_la_fenetre);
                                        /* Parametre introduit le 20060427162642...                                                  */
                         GET_ARGUMENT_L("gamma=",corriger_le_gamma);
                         GET_ARGUMENT_F("gamma_ROUGE=""gROUGE=",correction_de_gamma_ROUGE);
                         GET_ARGUMENT_F("gamma_VERTE=""gVERTE=",correction_de_gamma_VERTE);
                         GET_ARGUMENT_F("gamma_BLEUE=""gBLEUE=",correction_de_gamma_BLEUE);
                         GET_ARGUMENT_F("trx=""trX=",translation_OX_de_la_fenetre);
                         GET_ARGUMENT_F("try=""trY=",translation_OY_de_la_fenetre);
                         GET_ARGUMENT_L("centrer=",centrer_l_image_dans_la_fenetre);
                         GET_ARGUMENT_F("tix=""tiX=",translation_OX_de_l_image_dans_la_fenetre);
                         GET_ARGUMENT_F("tiy=""tiY=",translation_OY_de_l_image_dans_la_fenetre);
                         GET_ARGUMENT_F("zoom=",facteur_de_zoom);
                         GET_ARGUMENT_P("minimum=",minimum_de_la_luminance);
                         GET_ARGUMENT_P("maximum=",maximum_de_la_luminance);
                         GET_ARGUMENT_L("video=",generer_de_la_video);
                         GET_ARGUMENT_L("curseur=",laisser_le_curseur_apparaitre_pendant_l_affichage);
                         GET_ARGUMENT_L("redimensionner=",redimensionner_les_images_RVB);
                         GET_ARGUMENT_I("methode=",methode_de_redimensionnement_a_utiliser);
                         GET_ARGUMENT_P("niveau=",REECHANTILLONNAGE_GENERAL_____niveau_manquant);
                         GET_ARGUMENT_L("proportions=""proportion=",conserver_les_proportions_lors_d_un_redimensionnement);
                         GET_ARGUMENT_L("station=",SGI_____visualiser_le_contenu_de_l_ecran_de_la_station_de_travail);
                         GET_ARGUMENT_L("entree=",entree_video_temps_reel);
                         GET_ARGUMENT_L("numeriser=",numeriser_une_image);
                         GET_ARGUMENT_I("mode=",SGI_____mode_de_numerisation_des_images);
                         GET_ARGUMENT_I("ignorer=",SGI_____nombre_d_images_a_ignorer_avant_d_en_numeriser_une);
                         GET_ARGUMENT_C("imageRR=""RR=",nom_imageRR);
                         GET_ARGUMENT_C("imageRV=""RV=",nom_imageRV);
                         GET_ARGUMENT_C("imageRB=""RB=",nom_imageRB);
                         GET_ARGUMENT_L("Vcentrer=",centrer_la_fenetre_video_temps_reel);
                         GET_ARGUMENT_I("pal=",SGI_____Gentree_video_utilisee);
                         GET_ARGUMENT_I("bandeau=",SGI_____facteur_de_reduction_verticale_d_une_fenetre_bandeau);
                         GET_ARGUMENT_I("decalageV=",SGI_____decalage_de_VL_EV1_V_OFFSET);
                         GET_ARGUMENT_I("blank=",SGI_____nombre_de_lignes_blankees);
                         GET_ARGUMENT_I("d2x=""d2X=",SGI_____fenetre_X_WINDOW_decalage_2_video_X);
                         GET_ARGUMENT_I("d2y=""d2Y=",SGI_____fenetre_X_WINDOW_decalage_2_video_Y);
                         GET_ARGUMENT_I("zoomN=""Nz=",SGI_____numerateur_du_rapport_de_zoom);
                         GET_ARGUMENT_I("zoomD=""Dz=",SGI_____denominateur_du_rapport_de_zoom);
                         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 20100109113225 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_ARGUMENTSi_X_WINDOW;
                         GET_ARGUMENT_F("xc=",ASD1(coin_bas_gauche,x));
                         GET_ARGUMENT_F("x=",ASD1(coin_bas_gauche,x));
                         GET_ARGUMENT_F("X=",ASD1(coin_bas_gauche,x));
                         GET_ARGUMENT_F("yc=",ASD1(coin_bas_gauche,y));
                         GET_ARGUMENT_F("y=",ASD1(coin_bas_gauche,y));
                         GET_ARGUMENT_F("Y=",ASD1(coin_bas_gauche,y));
                         )
                    );
#              Eifdef    BUG_SYSTEME_SGIND_VL_VLDESTROYPATH_ENTREE_VIDEO_TEMPS_REEL

#         Aifdef    L_ENTREE_VIDEO_TEMPS_REEL_EST_POSSIBLE
     GET_ARGUMENTSg(nombre_d_arguments
                   ,BLOC(GET_ARGUMENT_L("RVB=",visualiser_EN_RVB);
                         GET_ARGUMENT_C("imageAR=""AR=",nom_imageAR);
                         GET_ARGUMENT_C("imageAV=""AV=",nom_imageAV);
                         GET_ARGUMENT_C("imageAB=""AB=",nom_imageAB);
                         GET_ARGUMENT_C("imageA=""A=",nom_imageA);
                         GET_ARGUMENT_C("paletteA=""palette=""pA=""p=",nom_paletteA);
                         GET_ARGUMENT_L("animation=",animation_des_couleurs);
                         GET_ARGUMENT_L("translater_le_NOIR=""noir=""NOIR=",translater_le_NOIR);
                         GET_ARGUMENT_I("increment=""i=",increment_de_l_increment_des_niveaux);
                         GET_ARGUMENT_I("nombre=""changements=",nombre_de_changements_de_couleurs);
                         GET_ARGUMENT_L("signer=",signer);
                         GET_ARGUMENT_P("fond=""f=",niveau_fond);
                         GET_ARGUMENT_P("signature=""s=",niveau_signature);
                         GET_ARGUMENT_I("taille=""T=",taille_des_caracteres_des_messages);
                         GET_ARGUMENT_I("bibliotheque=",vecteurs_____num_bibliotheque);
                         GET_ARGUMENT_C("titre=""nom=""fenetre=",nom_de_la_fenetre);
                         GET_ARGUMENT_L("synchronisation=""sync=""s=",synchronisation_externe);
                         GET_ARGUMENT_I("duree=""d=",duree_d_attente);
                         GET_ARGUMENT_I("xm=",SGI_____XminG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("xM=",SGI_____XmaxG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("Xm=",SGI_____XminG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("XM=",SGI_____XmaxG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("ym=",SGI_____YminG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("yM=",SGI_____YmaxG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("Ym=",SGI_____YminG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_I("YM=",SGI_____YmaxG_d_une_fenetre_HAUTE_DEFINITION);
                         GET_ARGUMENT_L("Fcentrer=""Fc=",centrer_la_fenetre);
                                        /* Parametre introduit le 20060427162642...                                                  */
                         GET_ARGUMENT_L("gamma=",corriger_le_gamma);
                         GET_ARGUMENT_F("gamma_ROUGE=""gROUGE=",correction_de_gamma_ROUGE);
                         GET_ARGUMENT_F("gamma_VERTE=""gVERTE=",correction_de_gamma_VERTE);
                         GET_ARGUMENT_F("gamma_BLEUE=""gBLEUE=",correction_de_gamma_BLEUE);
                         GET_ARGUMENT_F("trx=""trX=",translation_OX_de_la_fenetre);
                         GET_ARGUMENT_F("try=""trY=",translation_OY_de_la_fenetre);
                         GET_ARGUMENT_L("centrer=",centrer_l_image_dans_la_fenetre);
                         GET_ARGUMENT_F("tix=""tiX=",translation_OX_de_l_image_dans_la_fenetre);
                         GET_ARGUMENT_F("tiy=""tiY=",translation_OY_de_l_image_dans_la_fenetre);
                         GET_ARGUMENT_F("zoom=",facteur_de_zoom);
                         GET_ARGUMENT_P("minimum=",minimum_de_la_luminance);
                         GET_ARGUMENT_P("maximum=",maximum_de_la_luminance);
                         GET_ARGUMENT_L("video=",generer_de_la_video);
                         GET_ARGUMENT_L("curseur=",laisser_le_curseur_apparaitre_pendant_l_affichage);
                         GET_ARGUMENT_L("redimensionner=",redimensionner_les_images_RVB);
                         GET_ARGUMENT_I("methode=",methode_de_redimensionnement_a_utiliser);
                         GET_ARGUMENT_P("niveau=",REECHANTILLONNAGE_GENERAL_____niveau_manquant);
                         GET_ARGUMENT_L("proportions=""proportion=",conserver_les_proportions_lors_d_un_redimensionnement);
                         )
                    );
#         Eifdef    L_ENTREE_VIDEO_TEMPS_REEL_EST_POSSIBLE

#    Aifdef    __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS

#         ifdef     __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER
     GET_ARGUMENTSg(nombre_d_arguments
                   ,BLOC(GET_ARGUMENT_C("imageAR=""AR=",nom_imageAR);
                         GET_ARGUMENT_C("imageAV=""AV=",nom_imageAV);
                         GET_ARGUMENT_C("imageAB=""AB=",nom_imageAB);
                         GET_ARGUMENT_L("signer=",signer);
                         GET_ARGUMENT_P("fond=""f=",niveau_fond);
                         GET_ARGUMENT_P("signature=""s=",niveau_signature);
                         GET_ARGUMENT_I("taille=""T=",taille_des_caracteres_des_messages);
                         GET_ARGUMENT_I("bibliotheque=",vecteurs_____num_bibliotheque);
                         GET_ARGUMENT_C("titre=""nom=""fenetre=",nom_de_la_fenetre);
                         GET_ARGUMENT_F("trx=""trX=",translation_OX_de_la_fenetre);
                         GET_ARGUMENT_F("try=""trY=",translation_OY_de_la_fenetre);
                         GET_ARGUMENT_L("centrer=",centrer_l_image_dans_la_fenetre);
                         GET_ARGUMENT_F("tix=""tiX=",translation_OX_de_l_image_dans_la_fenetre);
                         GET_ARGUMENT_F("tiy=""tiY=",translation_OY_de_l_image_dans_la_fenetre);
                         GET_ARGUMENT_I("zoom=",facteur_de_zoom);
                         )
                    );
#         Aifdef    __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER
     GET_ARGUMENTSi(nombre_d_arguments
                   ,BLOC(VIDE;
                         )
                    );
                                        /* Introduit le 20070301174518...                                                            */

     PRINT_ATTENTION("aucun imageur n'est accessible");
#         Eifdef    __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER

#    Eifdef    __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS

#Eifdef   __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7

#ifdef    __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7
     INITIALISATION_ACCROISSEMENT_2D(translation,TRANSLATION_OX,TRANSLATION_OY);
                                        /* Mise en place de la translation de la fenetre.                                            */
     Test(IFNE_chaine(nom_paletteA,NOM_PIPE))
          Bblock
          EGAL(noir_et_blanc,FAUX);
                                        /* Puisqu'un nom de palette a ete donne, c'est qu'il n'y a pas de noir et blanc...           */
          Eblock
     ATes
          Bblock
          Eblock
     ETes

     Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(ImageA,nom_imageA))))
          Bblock
          SIGNATURE(ImageA);
                                        /* Signature eventuelle de l'image...                                                        */
          CALS(I7open(initialisation_globale,generer_de_la_video,generer_le_fichier_de_configuration));
                                        /* On ne procede, en general, qu'a une initialisation partielle, et ce afin de               */
                                        /* permettre les superpositions. On fait cette operation avant toute chose afin              */
                                        /* de garantir une valeur correcte pour 'dimX7' et 'dimY7'.                                  */

          Test(IFEQ(taille_OX,FLOT__UNDEF))
               Bblock
               EGAL(taille_OX,DIVI(FLOT(dimX),FLOT(dimX7)));
                                        /* Valeur par defaut de la taille horizontale...                                             */
               Eblock
          ATes
               Bblock
               Eblock
          ETes

          Test(IFEQ(taille_OY,FLOT__UNDEF))
               Bblock
               EGAL(taille_OY,DIVI(FLOT(dimY),FLOT(dimY7)));
                                        /* Valeur par defaut de la taille verticale...                                               */
               Eblock
          ATes
               Bblock
               Eblock
          ETes

          INITIALISATION_ACCROISSEMENT_2D(taille,taille_OX,taille_OY);
                                        /* Mise en place de la taille de la fenetre.                                                 */

          Test(IL_FAUT(noir_et_blanc))
               Bblock
               CALS(Imove(Image_ROUGE,ImageA));
               CALS(Imove(Image_VERTE,ImageA));
               CALS(Imove(Image_BLEUE,ImageA));
               Eblock
          ATes
               Bblock
               CALS(Iload_palette_de_couleurs(nom_paletteA,ESPACE_DE_COULEURS_RVB));
                                        /* Chargement de la palette de couleurs...                                                   */

               PUSH_ECHANTILLONNAGE;
               EGAL(pasX_intermediaire
                   ,TRON(DIVI(FLOT(dimX)
                             ,MIN2(FLOT(dimX)
                                  ,_lDENORMALISE_OX7(ASD1(taille,dx))
                                   )
                              )
                        ,FLOT(PasX)
                        ,FLOT(dimX)
                         )
                    );
               EGAL(pasY_intermediaire
                   ,TRON(DIVI(FLOT(dimY)
                             ,MIN2(FLOT(dimY)
                                  ,_lDENORMALISE_OY7(ASD1(taille,dy))
                                   )
                              )
                        ,FLOT(PasY)
                        ,FLOT(dimY)
                         )
                    );

               Test(IFET(IFEQ(pasX_intermediaire,AINT(pasX_intermediaire))
                        ,IFEQ(pasY_intermediaire,AINT(pasY_intermediaire))
                         )
                    )
                    Bblock
                    SET_ECHANTILLONNAGE(INTE(pasX_intermediaire),INTE(pasY_intermediaire));
                                        /* Lorsque le pas de sous-echantillonnage est "entier", il est possible                      */
                                        /* d'optimiser le parcours des images ; sinon, il est necesaire de                           */
                                        /* les traiter integralement...                                                              */
                    Eblock
               ATes
                    Bblock
                    Eblock
               ETes

               PUSH_OPTIMISATION;
               SET_OPTIMISATION(VRAI);
                                        /* Afin de ne passer que par les listes de substitution...                                   */
               CALS(Ivraies_couleurs(Image_ROUGE,Image_VERTE,Image_BLEUE
                                    ,ImageA
                                    ,rouge_presente,verte_presente,bleue_presente
                                    ,ZERO
                                    ,LE_NOIR_EST_TRANSLATABLE
                                     )
                    );
                                        /* Passage des fausses couleurs aux vraies couleurs via la palette courante.                 */
               PULL_OPTIMISATION;
               PULL_ECHANTILLONNAGE;
               Eblock
          ETes

          Test(I3ET(EST_VRAI(rouge_presente)
                   ,EST_VRAI(verte_presente)
                   ,EST_VRAI(bleue_presente)
                    )
               )
               Bblock
               CALS(I7fenetre_2D(Image_ROUGE,Image_VERTE,Image_BLEUE
                                ,INTE(Zorigine)
                                ,ADRESSE(translation)
                                ,ADRESSE(taille)
                                ,optimiser
                                 )
                    );
               Eblock
          ATes
               Bblock
               Test(EST_VRAI(rouge_presente))
                    Bblock
                    CALS(I7fenetre_RVB(Image_ROUGE,composante_ROUGE
                                      ,ADRESSE(translation)
                                      ,ADRESSE(taille)
                                      ,optimiser
                                       )
                         );
                    Eblock
               ATes
                    Bblock
                    Eblock
               ETes

               Test(EST_VRAI(verte_presente))
                    Bblock
                    CALS(I7fenetre_RVB(Image_VERTE,composante_VERTE
                                      ,ADRESSE(translation)
                                      ,ADRESSE(taille)
                                      ,optimiser
                                       )
                         );
                    Eblock
               ATes
                    Bblock
                    Eblock
               ETes

               Test(EST_VRAI(bleue_presente))
                    Bblock
                    CALS(I7fenetre_RVB(Image_BLEUE,composante_BLEUE
                                      ,ADRESSE(translation)
                                      ,ADRESSE(taille)
                                      ,optimiser
                                       )
                         );
                    Eblock
               ATes
                    Bblock
                    Eblock
               ETes
               Eblock
          ETes

          CALS(I7close());
          Eblock
     ATes
          Bblock
          Test__CODE_ERREUR__ERREUR07;
          Eblock
     ETes
#Aifdef   __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7

#    ifdef     __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS
     INITIALISATION_ACCROISSEMENT_2D(translation_de_la_fenetre
                                    ,translation_OX_de_la_fenetre
                                    ,translation_OY_de_la_fenetre
                                     );
                                        /* Mise en place de la translation de la fenetre.                                            */
     INITIALISATION_ACCROISSEMENT_2D(translation_de_l_image_dans_la_fenetre
                                    ,translation_OX_de_l_image_dans_la_fenetre
                                    ,translation_OY_de_l_image_dans_la_fenetre
                                     );
                                        /* Mise en place de la translation de la fenetre.                                            */

     Test(IL_NE_FAUT_PAS(entree_video_temps_reel))
          Bblock
          Test(IL_FAUT(visualiser_EN_RVB))
               Bblock
               Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(Image_ROUGE,nom_imageAR))))
                    Bblock
                                        /* Chargement de la premiere image Argument.                                                 */
                    Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(Image_VERTE,nom_imageAV))))
                         Bblock
                                        /* Chargement de la deuxieme image Argument.                                                 */
                         Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(Image_BLEUE,nom_imageAB))))
                              Bblock
                                        /* Chargement de la troisieme image Argument.                                                */
                              SIGNATURE(Image_ROUGE);
                              SIGNATURE(Image_VERTE);
                              SIGNATURE(Image_BLEUE);
                                        /* Signature eventuelle de l'image...                                                        */

                              Test(IFOU(IL_NE_FAUT_PAS(redimensionner_les_images_RVB)
                                       ,IFET(IFET(IFEQ(Xmin,XminPali),IFEQ(Xmax,XmaxPali))
                                            ,IFET(IFEQ(Ymin,YminPali),IFEQ(Ymax,YmaxPali))
                                             )
                                        )
                                   )
                                   Bblock
                                   BDEFV(imageU,image_en_vraies_couleurs);
                                        /* Image en vraies couleurs au format 'Silicon-Graphics'.                                    */

                                   CONVERSION_D_UNE_IMAGE;
                                   OUVERTURE_DE_LA_FENETRE;
                                   AFFICHAGE_D_UNE_IMAGE_ET_ATTENTE(VRAI);
                                   FERMETURE_DE_LA_FENETRE;
                                        /* Affichage de l'image et attente...                                                        */

                                   EDEFV(imageU,image_en_vraies_couleurs);
                                        /* Image en vraies couleurs au format 'Silicon-Graphics'.                                    */
                                   Eblock
                              ATes
                                   Bblock
                                   DEFV(Int,INIT(XminRedim,XminPali));
                                   DEFV(Int,INIT(XmaxRedim,XmaxPali));
                                   DEFV(Int,INIT(YminRedim,YminPali));
                                   DEFV(Int,INIT(YmaxRedim,YmaxPali));
                                        /* Dimensions de l'image apres redimensionnement (a priori, format 'Pal' sans respecter      */
                                        /* les proportions...).                                                                      */

                                   PUSH_DIMENSIONS_2D;

                                   Test(IL_FAUT(conserver_les_proportions_lors_d_un_redimensionnement))
                                        Bblock
                                        DEFV(Float,INIT(rapport_X
                                                       ,DIVI(FLOT(SOUS(XmaxPali,XminPali))
                                                            ,FLOT(SOUS(EnTete_de_sauvegardM ## Xmax,EnTete_de_sauvegardM ## Xmin))
                                                             )
                                                        )
                                             );
                                        /* Calcul du rapport "horizontal",                                                           */
                                        DEFV(Float,INIT(rapport_Y
                                                       ,DIVI(FLOT(SOUS(YmaxPali,YminPali))
                                                            ,FLOT(SOUS(EnTete_de_sauvegardM ## Ymax,EnTete_de_sauvegardM ## Ymin))
                                                             )
                                                        )
                                             );
                                        /* Calcul du rapport "vertical",                                                             */
                                        DEFV(Float,INIT(rapport_XY,FLOT__UNDEF));
                                        /* Definition des trois rapports necessaires a garder les proportions de l'image Argument.   */

                                        EGAL(rapport_XY,MIN2(rapport_X,rapport_Y));
                                        /* Et enfin du plus petit rapport des deux qui garantit que l'une au moins des deux          */
                                        /* dimensions de l'image Argument va occuper entierement la dimension correspondante         */
                                        /* de la video...                                                                            */

                                        EGAL(XminRedim,XminPali);
                                        EGAL(XmaxRedim
                                            ,ADD2(INTE(MUL2(rapport_XY
                                                           ,SOUS(EnTete_de_sauvegardM ## Xmax,EnTete_de_sauvegardM ## Xmin)
                                                            )
                                                       )
                                                 ,XminPali
                                                  )
                                             );

                                        EGAL(YminRedim,YminPali);
                                        EGAL(YmaxRedim
                                            ,ADD2(INTE(MUL2(rapport_XY
                                                           ,SOUS(EnTete_de_sauvegardM ## Ymax,EnTete_de_sauvegardM ## Ymin)
                                                            )
                                                       )
                                                 ,YminPali
                                                  )
                                             );
                                        Eblock
                                   ATes
                                        Bblock
                                        Eblock
                                   ETes

                                   SET_DIMENSIONS_2D_SANS_VALIDATION(XminRedim,XmaxRedim,YminRedim,YmaxRedim);
                                        /* Mise en place du format 'Pal' lorsque les proportions ne sont pas conservees, ou d'un     */
                                        /* format reduit lorsqu'il faut conserver les proportions...                                 */

                                   begin_nouveau_block
                                        Bblock
                                        /* ATTENTION, l'ouverture de ce nouveau bloc {Bblock,Eblock} est destinee uniquement a       */
                                        /* permettre la definition des images qui suivent par 'BDEFV(...)' maintenant que l'on       */
                                        /* connait (grace a 'SET_DIMENSIONS_2D_SANS_VALIDATION(...)') leur taille reelle...          */
                                        BDEFV(image,image_ROUGE);
                                        BDEFV(image,image_VERTE);
                                        BDEFV(image,image_BLEUE);
                                        /* Image en vraies couleurs Argument redimensionnees.                                        */
                                        BDEFV(imageU,image_en_vraies_couleurs);
                                        /* Image en vraies couleurs au format 'Silicon-Graphics'.                                    */

                                        REDIMENSIONNEMENT(image_ROUGE,Image_ROUGE);
                                        REDIMENSIONNEMENT(image_VERTE,Image_VERTE);
                                        REDIMENSIONNEMENT(image_BLEUE,Image_BLEUE);

                                        CONVERSION_D_UNE_IMAGE_QUELCONQUE(image_ROUGE,image_VERTE,image_BLEUE);
                                        OUVERTURE_DE_LA_FENETRE;
                                        AFFICHAGE_D_UNE_IMAGE_ET_ATTENTE(VRAI);
                                        FERMETURE_DE_LA_FENETRE;
                                        /* Affichage de l'image et attente...                                                        */

                                        EDEFV(imageU,image_en_vraies_couleurs);
                                        /* Image en vraies couleurs au format 'Silicon-Graphics'.                                    */
                                        EDEFV(image,image_BLEUE);
                                        EDEFV(image,image_VERTE);
                                        EDEFV(image,image_ROUGE);
                                        /* Image en vraies couleurs Argument redimensionnees.                                        */
                                        Eblock
                                   end_nouveau_block

                                   PULL_DIMENSIONS_2D;
                                   Eblock
                              ETes
                              Eblock
                         ATes
                              Bblock
                              Test__CODE_ERREUR__ERREUR07;
                              Eblock
                         ETes
                         Eblock
                    ATes
                         Bblock
                         Test__CODE_ERREUR__ERREUR07;
                         Eblock
                    ETes
                    Eblock
               ATes
                    Bblock
                    Test__CODE_ERREUR__ERREUR07;
                    Eblock
               ETes
               Eblock
          ATes
               Bblock
               Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(ImageG,nom_imageA))))
                                        /* Chargement de l'image Argument.                                                           */
                    Bblock
                    BDEFV(imageU,image_en_vraies_couleurs);
                                        /* Image en vraies couleurs au format 'Silicon-Graphics'.                                    */

                    CHARGEMENT_DE_LA_PALETTE_DE_COULEURS;
                                        /* Chargement des trois listes de substitution constitutive d'une palette.                   */

                    SIGNATURE(ImageG);
                                        /* Signature eventuelle de l'image...                                                        */

                    Test(IL_FAUT(animation_des_couleurs))
                         Bblock
                         OUVERTURE_DE_LA_FENETRE;

                         Test(IZEQ(nombre_de_changements_de_couleurs))
                              Bblock
                              Loop
                                   Bblock
                                   SIMULATION_DE_LA_ROTATION_DES_COULEURS;
                                        /* Simulation de la rotation des couleurs...                                                 */
                                   CONVERSION_D_UNE_IMAGE;
                                   AFFICHAGE_D_UNE_IMAGE_ET_ATTENTE(FAUX);
                                        /* Affichage de l'image et attente...                                                        */
                                   DODO(temporisation_inter_palettes);
                                        /* Et on attend de nouveau un petit peu...                                                   */
                                   Eblock
                              ELoo
                              Eblock
                         ATes
                              Bblock
                              Repe(SUCC(nombre_de_changements_de_couleurs))
                                        /* L'utilisation de la fonction 'SUCC(...)' permet de presenter (visuellement) le nombre de  */
                                        /* changements de couleurs demande. En effet, sinon, le dernier changement de couleur a lieu */
                                        /* juste avant la fermeture de la fenetre, et n'est donc pas percu. Cette solution evite de  */
                                        /* faire un petit 'DODO(...)' dont la duree, pour etre fixee, demanderait d'introduire un    */
                                        /* nouveau parametre...                                                                      */
                                   Bblock
                                   SIMULATION_DE_LA_ROTATION_DES_COULEURS;
                                        /* Simulation de la rotation des couleurs...                                                 */
                                   CONVERSION_D_UNE_IMAGE;
                                   AFFICHAGE_D_UNE_IMAGE_ET_ATTENTE(FAUX);
                                        /* Affichage de l'image et attente...                                                        */
                                   Eblock
                              ERep
                              Eblock
                         ETes
                         Eblock
                    ATes
                         Bblock
                         CONVERSION_D_UNE_IMAGE;
                         OUVERTURE_DE_LA_FENETRE;
                         AFFICHAGE_D_UNE_IMAGE_ET_ATTENTE(VRAI);
                                        /* Affichage de l'image et attente...                                                        */
                         Eblock
                    ETes

                    FERMETURE_DE_LA_FENETRE;

                    EDEFV(imageU,image_en_vraies_couleurs);
                                        /* Image en vraies couleurs au format 'Silicon-Graphics'.                                    */
                    Eblock
               ATes
                    Bblock
                    Test__CODE_ERREUR__ERREUR07;
                    Eblock
               ETes
               Eblock
          ETes
          Eblock
     ATes
          Bblock

#         ifdef     L_ENTREE_VIDEO_TEMPS_REEL_EST_POSSIBLE
          Test(IL_FAUT(numeriser_une_image))
               Bblock
               CALS(IGdebut_de_numerisation_d_une_image_video());
                                        /* Debut de la numerisation d'une image video...                                             */
               CALS(IGfin_de_numerisation_d_une_image_video(Image_ROUGE
                                                           ,Image_VERTE
                                                           ,Image_BLEUE
                                                           ,methode_de_redimensionnement_a_utiliser
                                                            )
                    );
                                        /* Fin de la numerisation d'une image video...                                               */

               CALi(Iupdate_image(nom_imageRR,Image_ROUGE));
               CALi(Iupdate_image(nom_imageRV,Image_VERTE));
               CALi(Iupdate_image(nom_imageRB,Image_BLEUE));
                                        /* Et archivage de l'image numerisee.                                                        */
               Eblock
          ATes
               Bblock
               CALS(IGdebut_de_diffusion_d_une_sequence_video_temps_reel(serveur_standard
                                                                        ,nom_de_la_fenetre
                                                                        ,centrer_la_fenetre_video_temps_reel
                                                                        ,ADRESSE(coin_bas_gauche)
                                                                        ,editer_les_PRINT_ATTENTION_initiaux
                                                                         )
                    );
                                        /* Debut de la sequence video temps reel...                                                  */

               Test(IZEQ(duree_d_attente))
                    Bblock
                    CALS(IXattente_de_l_evenement_ButtonPress());
                                        /* Cas d'une attente indefinie...                                                            */
                    Eblock
               ATes
                    Bblock
                    DODO(duree_d_attente);
                                        /* Cas d'une attente programmee...                                                           */
                    Eblock
               ETes

               CALS(IGfin_de_diffusion_d_une_sequence_video_temps_reel());
                                        /* Fin de la sequence video temps reel...                                                    */
               Eblock
          ETes
#         Aifdef    L_ENTREE_VIDEO_TEMPS_REEL_EST_POSSIBLE
          PRINT_ATTENTION("l'entree video temps reel n'est pas disponible sur cette machine");
#         Eifdef    L_ENTREE_VIDEO_TEMPS_REEL_EST_POSSIBLE

          Eblock
     ETes
#    Aifdef    __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS

#         ifdef     __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER
     INITIALISATION_ACCROISSEMENT_2D(translation_de_la_fenetre
                                    ,translation_OX_de_la_fenetre
                                    ,translation_OY_de_la_fenetre
                                     );
                                        /* Mise en place de la translation de la fenetre.                                            */
     INITIALISATION_ACCROISSEMENT_2D(translation_de_l_image_dans_la_fenetre
                                    ,translation_OX_de_l_image_dans_la_fenetre
                                    ,translation_OY_de_l_image_dans_la_fenetre
                                     );
                                        /* Mise en place de la translation de la fenetre.                                            */

     Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(Image_ROUGE,nom_imageAR))))
          Bblock
                                        /* Chargement de la premiere image Argument.                                                 */
          Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(Image_VERTE,nom_imageAV))))
               Bblock
                                        /* Chargement de la deuxieme image Argument.                                                 */
               Test(PAS_D_ERREUR(CODE_ERROR(Iload_image(Image_BLEUE,nom_imageAB))))
                    Bblock
                                        /* Chargement de la troisieme image Argument.                                                */
                    SIGNATURE(Image_ROUGE);
                    SIGNATURE(Image_VERTE);
                    SIGNATURE(Image_BLEUE);
                                        /* Signature eventuelle de l'image...                                                        */

                    CALS(IUopen(nom_de_la_fenetre,ADRESSE(translation_de_la_fenetre)));
                                        /* Ouverture du plan de travail.                                                             */
                    CALS(IUdisplay(Image_ROUGE,Image_VERTE,Image_BLEUE
                                  ,facteur_de_zoom
                                  ,centrer_l_image_dans_la_fenetre
                                  ,ADRESSE(translation_de_l_image_dans_la_fenetre)
                                   )
                         );
                                        /* Affichage de l'image.                                                                     */

#              ifdef     BUG_SYSTEME_ULTRANET_FRAME_BUFFER_UNE_SEULE_IMAGE_1
                    CALS(IUdisplay(Image_ROUGE,Image_VERTE,Image_BLEUE
                                  ,facteur_de_zoom
                                  ,centrer_l_image_dans_la_fenetre
                                  ,ADRESSE(translation_de_l_image_dans_la_fenetre)
                                   )
                         );
                                        /* Affichage de l'image une deuxieme fois (pour la voir...).                                 */
#              Aifdef    BUG_SYSTEME_ULTRANET_FRAME_BUFFER_UNE_SEULE_IMAGE_1
#              Eifdef    BUG_SYSTEME_ULTRANET_FRAME_BUFFER_UNE_SEULE_IMAGE_1

                    CALS(IUclose());
                                        /* Fermeture du plan de travail.                                                             */
                    Eblock
               ATes
                    Bblock
                    Test__CODE_ERREUR__ERREUR07;
                    Eblock
               ETes
               Eblock
          ATes
               Bblock
               Test__CODE_ERREUR__ERREUR07;
               Eblock
          ETes
          Eblock
     ATes
          Bblock
          Test__CODE_ERREUR__ERREUR07;
          Eblock
     ETes
#         Aifdef    __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER
#         Eifdef    __VERSION__COMPILER_LE_GRAPHIQUE_ULTRANET_FRAME_BUFFER

#    Eifdef    __VERSION__COMPILER_LE_GRAPHIQUE_SILICON_GRAPHICS

#Eifdef   __VERSION__COMPILER_LE_GRAPHIQUE_CUBI7

     RETU_Commande;
     Eblock
ECommande



Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.