#include <UTFT.h>
#include <UTouch.h>
#include <Wire.h>
#include <WProgram.h>
// v případě použítí SmallFont použijte :
extern uint8_t SmallFont[];
// extern uint8_t BigFont[];
// samotna inicializace displeje
UTFT myGLCD(ITDB32S,38,39,40,41);
// inicializace dotykového panelu na displeji /myTouch(T_CLK, T_CS, T_DIN, T_DOUT, D_IRQ)/
UTouch myTouch(52,53,50,51,2);
// proměnné pro pozici na dotykovém panelu
long x, y;
void setup()
{
// nastavení LCD
myGLCD.InitLCD();
// nastavení písma na malý font
myGLCD.setFont(SmallFont);
// naše vlastní funkce pro vymazání
// obrazovky a nakreslení tlačítka X
// - je zapsána na konci kódu
ClrScreen();
// inicializace dotykového panelu
myTouch.InitTouch();
//nastavení přesnosti dotykového panelu
myTouch.setPrecision(PREC_HI);
}
void loop()
{
// dokud jsou data z dotykového panelu k dispozici ...
while (myTouch.dataAvailable())
{
//přečti data a ....
myTouch.read();
// .... ulož do proměných
x = myTouch.getX();
y = myTouch.getY();
// a když není x a y menší než 0 ...
if ((x!=-1) and (y!=-1))
{
// .. a když jsme se strefili na tlačítko
if ((x > 300) && (y < 20)) ClrScreen(); // vymaž obrazovku a nakresli tlačítko
// jinak nakresli pixel na pozici
myGLCD.drawPixel (x, y);
}
}
}
// funkce pro vymazání obrazovky a nakreslení tlačítka X
void ClrScreen()
{
// vymaž celou obrazovku
myGLCD.clrScr();
// barva pro tlačítko
myGLCD.setColor(255,255,255);
// kresli tlačítko
myGLCD.fillRect(300,0,319,20);
// barva pro pozadí písma
myGLCD.setBackColor(255,255,255);
// barva pro písmo
myGLCD.setColor(0,0,0);
// napiš písmeno X na pozici
myGLCD.print("X", 308, 5);
// nastav barvu pro kreslení na bílou
myGLCD.setColor(255,255,255);
}