croixCurseur()
Dessine une croix fugitive
Exemples d'utilisation
croixCurseur(DEMI_LARGEUR, DEMI_HAUTEUR); // Trace fugitivement une croix au centre if (isTouch()) croixCurseur(getTouchX(),getTouchY()); // Trace une croix fugitive là où le stylet appuie
Référence
void croixCurseur(int x, int y);
Paramètre passé
x,y: coordonnés du centre de la croix
Valeur retournée
Aucune
Voir aussi
- hLine(); Trace une ligne horizontale
- vLine(); Trace une ligne verticale
- line(); Trace une ligne
- setLimites(); Limite la zone de dessin
- setDrawInverse(); Choix du mode dessin ou inversion
Notes
Cette fonction dessine une croix qui reste affichée 0,1s puis l'efface. Cela permet de l'utiliser pour modéliser le curseur graphique, suivre le touchPad...
N'est dessiné que la partie qui tient dans l'écran et qui tient dans les limites données par la fonction setLimites()
Pour pouvoir dessiner la croix et l'effacer, elle est dessinée en mode inversion de couleur. Il n'est donc pas possible de choisir la couleur de la croix.
Exemple
PecheuxGraph_ILI9341_8bits.zip\PecheuxGraph_ILI9341_8bits\examples\Documentation\Exemple-700-croixCurseur\Exemple-700-croixCurseur.ino (dans votre fichier téléchargé):
// Une croix est dessinée comme si elle suivait le stylet avec une trajectoire quelconque // si on ne fait rien, sinon, elle suit le stylet # $menu = ":PG"; include <PecheuxGraph_ILI9341_8bits.h> void setup() { setGraphMode(PAYSAGE); // Initialisation // Trace quelques objets text("Suivez la croix avec le stylet"); fillCircle(100,100,50,RED); fillRect(160,160,300,300,BLUE); } float angle; // Pour avoir une trajectoire intéressante int x,y; // Coordonnés d'un point de la trajectoire long temps; // Permet de revenir au mode auto au bout de 3s void loop() { if (isTouch()) { temps=millis(); // On note le dernier instant du contact croixCurseur(getTouchX(),getTouchY()); // Suivi du stylet } else // Pas de point de contact if (millis()-temps>3000L) // Et attente dépassée { // Calcul d'une trajectoire bizarre angle+=0.02; x=DEMI_LARGEUR+trunc(60*cos(angle*6)+59*cos(angle*17)); y=DEMI_HAUTEUR+trunc(60*sin(angle*15)+59*sin(angle*17)); croixCurseur(x,y); // Suivi de la trajectoire } }
Résultat:

Côté technique
La croix est dessinée grâce aux fonctions hLine() et vLine(), en mode inversion, et avec sauvegarde du contexte du mode. C'est un dessin assez simple à faire. Si on ne l'utilise pas, le compilateur l'éjecte et cela ne prend pas de place mémoire.