MTpushZone,
zone poussoir
Gestion par événements pour Uno, Nano, Mega
Un objet MTpushZone est l'équivalent d'un bouton poussoir sur une zone de touchpad.
Include à rajouter
#include <MTobjects.h> // Voir http://arduino.dansetrad.fr/MTobjects
Je conseille fortement de laisser le commentaire, si une autre personne voulait essayer le programme, elle aurait directement un lien de téléchargement. C'est valable pour toutes les bibliothèques que vous utilisez.
Commentaires utiles
x_mini y_mini x_maxi y_maxi
Ces commentaires sont des mots que l'on peut rajouter n'importe où et qui sont ignorés par le compilateur.
Constructeur
MTpushZone(x_mini int xMini, y_mini int yMini, x_maxi int xMaxi, y_maxi int yMaxi, // Coordonnée de la zone à cliquer
void (*drawFunction)(boolean, x_mini int, y_mini int, x_maxi int, y_maxi int) = PAS_D_ACTION, // Pour se dessiner
void (*onSelectFunction)(void) = PAS_D_ACTION, // Si on appuie sur la zone
void (*onUnselectFunction)(void) = PAS_D_ACTION); // Si n'appuie pas sur la zone
- xMini, yMini, xMaxi, yMaxi (int): coordonnées de la zone
- drawFunction: fonction permettant de dessiner la zone
- PAS_D_ACTION → Aucune fonction n'est prévue
- fonction → appel d'une fonction "void fonction(boolean appui, int xMini, int yMini, int xMaxi, int yMaxi) {...}" appui vaut false si on ne clique pas sur la zone, les autres paramètres passés sont les coordonnés de la zone
- onSelectFunction: ce qui se passe quand on appuie sur le touchpad
- PAS_D_ACTION → rien ne se passe
- fonction → appel d'une fonction "void fonction(int x, int y) {...}" Les paramètres passés sont les coordonnés du point de contact.
- onUnselectFunction: ce qui se passe quand on vient de ne plus toucher le touchpad
- PAS_D_ACTION → rien ne se passe
- fonction: → appel d'une fonction "void fonction(void) {...}"
Fonctions utiles
boolean isTouch(void); void draw(void);
isTouch: renvoie true si un stylet est appuyé sur la zone
draw: dessine la zone
Fonctions bonus
setDrawFunction(void (*drawFunction)(boolean, x_mini int, y_mini int, x_maxi int, y_maxi int) = PAS_D_ACTION); void setOnSelectFunction(void (*onSelectFunction)(void) = PAS_D_ACTION); void setOnUnselectFunction(void (*onUnselectFunction)(void) = PAS_D_ACTION);;
setDrawFunction: change la fonction appelée si on veut dessiner la zone
setDrawFunction: sans paramètres supprime la fonction appelée pour dessiner la zone
setOnSelectFunction: change la fonction appelée lors d'un appui dans la zone
setOnSelectFunction: sans paramètres supprime la fonction appelée lors d'un appui dans la zone
setOnUnselectFunction: change la fonction appelée lors de la sortie de la zone ou du soulèvement du stylet
setOnUnselectFunction: sans paramètres supprime la fonction appelée lors de la sortie de la zone ou du soulèvement du stylet
Exemples
Cet object a un gros itérêt si on dispose d'un écran. Cet objet utilise les ressources de MTobjects, mais est surtout décrit dans les pages de ma bibliothèque graphique PxGraph.