TEXT
instruction : afficher du texte graphique
Text x,y,texte$
Cette commande est utilisee pour afficher du texte aux coordonnees graphiques specifiees. Toutes les coordonnees sont mesurees par rapport a la "ligne de base" de la police de caracteres actuelle, laquelle peut etre determinee avec la fonction TEXT BASE expliquee ci-dessous. En general, la ligne de base est la ligne sur laquelle reposent les caracteres, et les "queues" de certains caracteres (comme g,j,p,q et y) descendent sous cette ligne.
Voici un exemple montrant comment positionner du texte a n importe quel endroit de l ecran :
E> Do Ink Rnd(15)+1,Rnd(15) : Text Rnd(320)+1,Rnd(198)+1,"AMOS Professional" Loop
TEXT BASE
fonction : retourner la base de texte de la police actuelle
base=Text base
Cette fonction retourne la position de reference de la ligne de base de la police en cours. Le resultat est exprime en nombre de pixels entre le haut du caractere et le point ou il sera affiche a l ecran. C est comparable au "point chaud" d un Objet.
TEXT LENGTH
fonction : retourner la largeur d un texte graphique
largeur=Text Length(texte$)
Cette fonction retourne le nombre de pixels necessaires pour afficher la chaine de caracteres dans la police actuelle. Ce nombre peut varier pour une meme chaine selon la police utilisee. Certaines polices utilisent des largeurs differentes pour chaque caractere, ce sont les polices dites "proportionnelles". Exemple :
E> T$="Texte centre" L=Text Length(T$) Text 160-L/2,100,T$
Effacer les polices de la memoire
Lorsque des polices sont utilisees, elles restent en memoire. Cela consomme de la memoire precieuse, et il peut etre necessaire de les effacer avec une ligne comme celle-ci :
X> Trap Reserve As Data 10,1000000000
Cette instruction force AmigaDOS a liberer toute la memoire non utilisee, y compris celle occupee par les polices chargees. Evidemment, la quantite de RAM demandee est enorme et ne peut pas etre reservee, meme une fois les polices effacees, donc une erreur "out of memory" sera declenchee. La commande TRAP est incluse pour intercepter cette erreur.