/*
Beispiel für
https://forum.arduino.cc/t/tft-input-placeholder/1107597
2023-03-30
ec2021
*/
#include "TFTCursor.h"
#include <Fonts/FreeSans12pt7b.h>
#include <Fonts/FreeSans24pt7b.h>
#define LEFT 10
#define TOP 100
CursorType myCursor;
int Pos = 1;
unsigned long lastChange = 0;
constexpr int NoOfStrings = 3;
int StrNo = 0;
String txt[NoOfStrings] = {"00:00", "aBcDe", "01:2a3@4"};
void setup() {
Serial.begin(115200);
Serial.println("Start ...");
tft.begin();
tft.setRotation(3);
tft.setFont(&FreeSans24pt7b);
tft.setTextSize(1);
myCursor.setCursorColor(ILI9341_YELLOW);
myCursor.setBlinkTime(300);
myCursor.print(txt[0], LEFT, TOP, ILI9341_RED);
}
void ChangeText() {
Pos = 1;
StrNo++;
if (StrNo >= NoOfStrings) StrNo = 0;
switch (StrNo) {
case 0 : myCursor.print(txt[StrNo], LEFT + 80, TOP, ILI9341_RED);
break;
case 1 : myCursor.print(txt[StrNo], LEFT + 40, TOP + 30, ILI9341_GREEN);
break;
case 2 : myCursor.print(txt[StrNo], LEFT, TOP - 20, ILI9341_BLUE);
break;
default : myCursor.print(txt[StrNo], LEFT, TOP, ILI9341_YELLOW);
}
}
void loop() {
myCursor.Blink(Pos);
if (millis() - lastChange > 1400) {
myCursor.ClearBlink();
lastChange = millis();
Pos++;
if (Pos > txt[StrNo].length()) ChangeText();
}
}