Suiv.: Association de noms aux composantes
Sup.: Outils généraux
Préc.: Définition du terminal de sortie
Index
Table des matières
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: