c’est bien ce que j’ai vue en regardan la doc !
perso j’utilisé la lib UTFT que j’ai quelque peut modifier pour mes besoin mais l’affichage use enormement de temps de travail de l’ATMEGA et beaucoup de RAM , mais avec ce genre de systeme c’est claire que l’on abouti plus rapidement au résultat avec en plus des effet graphiques de ouf ( transparence dégradé etc)!
pour son prix je me suis laché directe maintenant va faloir que je recode l’interface de mon systeme !
exemple d’un code pour généré et récupéré l’activation d’un bouton que j’utilise pour le moment avec UTFT.h :
// --- trace une touche a partir des coordoné du haut gauche de la touche xo, yo
boolean UTFT::Bouton (int xo, int yo,prog_uchar *text,byte type_Police) {
byte t_policeX;
byte t_policeY;
byte nb_caracter=0;
char Texte_Buf[30] = {
0 };
byte c, i = 0;
byte conteur=0;
//{0,204,204};
boolean reponse=false;
c =(char)pgm_read_byte(text);
while(c != 0 && i < 30){
Texte_Buf[i++] = c;
nb_caracter++;
c =(char)(pgm_read_byte(++text));
}
switch (type_Police){
case 1 :
t_policeX=8;
t_policeY=12;
setFont(SmallFont);
break;
case 2 :
t_policeX=16;
t_policeY=16;
setFont(BigFont);
break;
case 3 :
t_policeX=32;
t_policeY=50;
setFont(SevenSegNumFont);
break;
};
switch (comptAffTouch){
case 0 :
drawBitmap(xo, yo, 16, 48, &BoutGauche2, 1);
for ( byte a=1; a<=nb_caracter;a++){
drawBitmap(xo+(a*16)-1, yo, 16, 48, &BoutCentre2, 1);
}
drawBitmap(xo+(nb_caracter+1)*16-1, yo, 16, 48, &BoutDroite2, 1);
/* recPleinCoinArrondi((xo),(yo),(xo+taille_policeX*(nb_caracter+2)),(yo +taille_policeY*3),Couleur_Touche);*/
// recCoinArrondi((xo+2),(yo+2),(xo-2+taille_policeX*(nb_caracter+2)),(yo-2+taille_policeY*3),Couleur_cadre);
// setColor(Couleur_Texte);
setColor(COLOR_BLACK);
// setBackColor(Couleur_Touche);
BackTrans(true);
print(Texte_Buf,(xo+t_policeX), (yo+t_policeY));
BackTrans(false);
break;
case 1 :
if (TestTouche(xo,yo,t_policeX*(nb_caracter+2),t_policeY*3)==true){
drawBitmap(xo, yo, 16, 48, &BoutGauche, 1);
for ( byte a=1; a<=nb_caracter;a++){
drawBitmap(xo+(a*16)-1, yo, 16, 48, &BoutCentre, 1);
}
drawBitmap(xo+(nb_caracter+1)*16-1, yo, 16, 48, &BoutDroite, 1);
//recPleinCoinArrondi((xo),(yo),(xo+taille_policeX*(nb_caracter+2)),(yo +taille_policeY*3),Couleur_Touche);
//recCoinArrondi((xo+2),(yo+2),(xo-2+taille_policeX*(nb_caracter+2)),(yo-2+taille_policeY*3),Couleur_cadre2);
setColor(COLOR_BLACK);
//setBackColor(Couleur_Touche);
BackTrans(true);
print(Texte_Buf,(xo+t_policeX), (yo+t_policeY));
BackTrans(false);
drawBitmap(xo, yo, 16, 48, &BoutGauche2, 1);
for ( byte a=1; a<=nb_caracter;a++){
drawBitmap(xo+(a*16)-1, yo, 16, 48, &BoutCentre2, 1);
}
drawBitmap(xo+(nb_caracter+1)*16-1, yo, 16, 48, &BoutDroite2, 1);
//recPleinCoinArrondi((xo),(yo),(xo+taille_policeX*(nb_caracter+2)),(yo +taille_policeY*3),Couleur_Touche);
//recCoinArrondi((xo+2),(yo+2),(xo-2+taille_policeX*(nb_caracter+2)),(yo-2+taille_policeY*3),Couleur_cadre);
setColor(Couleur_Texte);
//setBackColor(Couleur_Touche);
BackTrans(true);
print(Texte_Buf,(xo+t_policeX), (yo+t_policeY));
BackTrans(false);
reponse=true;
};
break;
};
return reponse;
}