Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: Association de noms aux composantes Sup.: Outils généraux Préc.: Définition du terminal de sortie Index Table des matières


Gestion de l'écran

Afin de faciliter la programmation, FORTRAN 3D permet de regrouper les composantes élémentaires en "segments". Une fois constitué, un segment pourra alors être manipulé individuellement. Cette facilité n'est disponible que si le terminal graphique utilisé le permet. Sinon les instructions suivantes seront toutes ou en partie sans effets.

Remarque: Si on n'utilise pas les instructions de gestion de l'écran, tous les ordres graphiques sont à effet immédiat.

La subroutine OPENG  permet d'ouvrir un segment:

      SUBROUTINE OPENG(NOM)
      INTEGER NOM

Elle indique l'ouverture d'un segment de nom 'NOM'. Si ce segment n'existe pas, il sera créé. S'il existe, il sera complété. Toute composante graphique créée à la suite de cette ordre sera ajoutée au contenu du segment jusqu'à la rencontre d'un ordre CLOSEG ou d'un autre ordre OPENG: En effet il est possible d'imbriquer les OPENG et les CLOSEG selon une structure de parenthèses. Ainsi

     CALL OPENG(1)
       .....
       CALL OPENG(2)
         .....
         CALL OPENG(3)
          ....
         CALL CLOSEG
         .....
       CALL CLOSEG
       .....
     CALL CLOSEG

est identique à la séquence suivante:

     CALL OPENG(1)
      .....
     CALL CLOSEG 

     CALL OPENG(2)
      .....
     CALL CLOSEG

     CALL OPENG(3)
      .....
     CALL CLOSEG

     CALL OPENG(2)
      .....
     CALL CLOSEG

     CALL OPENG(1)
      .....
     CALL CLOSEG

On peut avoir jusqu'à dix niveaux d'imbrication. Suivant l'état du segment, visible ou non (voir les ordres DSPLAY et REMOVG), les composantes graphiques apparaîtront dès leur description ou non.

Les subroutines suivantes correspondent aux opérations utiles à la gestion de l'écran :

      SUBROUTINE CLOSEG

Indique la  fermeture du segment actuellement ouvert. Si le segment n'existe pas, cet ordre est sans effet.

      SUBROUTINE KILLG(NOM)
      INTEGER NOM

Détruit le  segment de nom NOM. Si ce segment était affiché, il disparait de l'écran. Si le segment n'existe pas, cet ordre est sans effet.

      SUBROUTINE DSPLAY(NOM)
      INTEGER NOM

Affiche le  segment NOM sur l'écran. Si celui-ci est déjà affiché ou s'il n'existe pas, cet ordre est sans effet.

      SUBROUTINE REMOVG(NOM)
      INTEGER NOM

Efface le  segment NOM de l'écran. Si celui-ci n'est pas affiché ou s'il n'existe pas, cet ordre est sans effet.

      SUBROUTINE HIGHLT(NOM, I)
      INTEGER NOM, I

Assure la  mise en évidence par un moyen quelconque (clignotement, changement de couleur ou d'intensité) du segment NOM. Le choix entre ces différentes techniques est dépendant du terminal utilisé. On doit donc faire de sorte qu'il n'interfère pas avec les caractéristiques graphiques des composantes graphiques. La valeur de 'I' indique s'il y a mise en évidence (valeur 1) ou non (valeur 0). Si le segment n'existe pas cet ordre est sans effet.

      SUBROUTINE CLEAN

Assure l'effacement  total de  l'écran (Tous les segments existants à cet instant sont effacés mais non détruits). Cet ordre doit être interpreté par tous les terminaux.

      SUBROUTINE UPDATE

Assure la  mise à jour de l'écran. En effet certains terminaux nécessitent la description complète de l'image avant de la produire. D'autres, pour des raisons d'efficacité, ne réalisent les modifications que sur un ordre explicite.

      SUBROUTINE HARDCP(CHOIX1, CHOIX2)
      INTEGER CHOIX1, CHOIX2

Fait une hardcopie  de l'écran du terminal .

CHOIX1 Un éventuel choix 0 basé sur plusieurs possibilités de hardcopie.

CHOIX2 Un éventuel choix 0 basé sur les possibilités couleurs du terminal de sortie, avec:


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: Association de noms aux composantes Sup.: Outils généraux Préc.: Définition du terminal de sortie Index Table des matières