setTextCursor()
Positionne le curseur texte
Exemples d'utilisation
setTextCursor(LARGEUR-30, HAUTEUR-8); text("Bonjour"); // Écrit le mot bonjour au milieu de l'écran x=getTextCursorX(); text("A"); setTextCursor(x); text("B"); // Superposition de A et de B
Référence
void setTextCursor(int x[, int y]);
Paramètres passés
x: abscisse, y: ordonnée
Valeur retournée
Aucune
Voir aussi
- getTextCursorX(); Retourne l'abscisse du point-curseur texte
- getTextCursorY(); Retourne l'ordonnée du point-curseur texte
- textCursorX; Contient l'abscisse du point-curseur texte
- textCursorY; contient l'ordonnée du point-curseur texte
- Fonte vectorielle Définition de la fonte utilisée
- text(); Écrit du texte
- setTextSize(); Taille des caractères
- setTextBold(); Gras ou normal
- setTextItalic(); Italique ou normal
- setTextSerif(); Avec ou sans empattement
- setTextCursor(); Direction d'écriture des textes
- setTextKeep(); Choisit l'action si le texte déborde
- getTextWidth(); getTextHeight(); Retourne la taille de l'écriture de la chaine passée
Notes

L'origine de l'écran est, comme pour le mode dessin, en haut à gauche. Les abscisses sont croissantes vers la droite et les ordonnées vers le bas. Si on fait pivoter le système d'écriture par la fonction setTextOrient(), cela fait aussi pivoter les axes définissant le curseur.
Le changement de position se faire et se lire par les fonctions setTextCursor(), getTextCursorX() getTextCursorY() ou grâce aux variables textCursorX et textCursorY. C'est mieux de passer par les fonctions, mais utiliser par les variables nécessite moins d'octets dans un contexte de carte Uno, c'est une économie.
Les coordonnés du curseur dépendent de la taille de l'écran, du mode paysage ou portrait et du sens de l'écriture. Si l'écriture se fait vers l'ouest, le point de coordonné (0,0) est en bas à droite. Ne pas confondre le mode PAYSAGE, PORTAIT, qui réinitialise l'écran et impose les directions pour les graphiques et dans un premier temps pour les texte, avec les directions d'écriture qui peuvent être choisi pour chaque affichage. On ne peut pas être en PORTRAIT et PAYSAGE en même temps, alors qu'on peut avoir des affichages vers l'est et vers le nord en même temps.
Exemple
PecheuxGraph_ILI9341_8bits.zip\PecheuxGraph_ILI9341_8bits\examples\Documentation\Exemple-308-setTextCursor\Exemple-308-setTextCursor.ino (dans votre fichier téléchargé):
// Ce programme écrit un premier texte (l'ombre), puis d'une autre couleur // réécrit le texte légèrement décalé # $menu = ":PG"; include <PecheuxGraph_ILI9341_8bits.h> void setup() { setGraphMode(PAYSAGE); // Initialisation générale setTextSize(3); setTextBold(1); // Caractères plus gros que d'habitude // On va dessiner une ombre en rouge setTextColor(RED); setTextCursor(LARGEUR/2-60, HAUTEUR/2-15); // Pour écrire au milieu de l'écran text("Bonjour"); // Et du texte en vert setTextColor(GREEN); setTextCursor(LARGEUR/2-58); // on se remet au centre, mais un peu décalé text("Bonjour"); } void loop() { }
Résultat:

Côté technique
L'abscisse du point curseur s'incrémente de la largeur du caractère écrit plus l'espace inter caractère. En mode de débordement NORMAL, si le caractère à écrire ne tient pas dans l'écran, parce qu'il est trop à droite, un retour chariot est inséré, que l'on soit au milieu d'un mot ou pas. Si le caractère ne tient pas parce qu'il serait écrit trop bas, un effacement d'écran est inséré et donc le point curseur se positionne en haut à gauche. En conséquence positionner le curseur texte en (100,10000) écrira à partir de (0,0).
En mode de débordement KEEP, le fonctionnement est le même, sauf qu'aucun effacement d'écran n'est fait. Les caractères peuvent se superposer.
En mode de débordement CUT, ce qui dépasse n'est pas dessiné. Aucun retour chariot n'est inséré.