![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
V.062 11/3
Dependencies: FT6206 SDFileSystem ILI9341_t3
Fork of ATT_AWS_IoT_demo_v06 by
Diff: TextField.cpp
- Revision:
- 30:8c979815f533
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TextField.cpp Wed Nov 15 19:28:37 2017 +0000 @@ -0,0 +1,83 @@ +#include "TextField.h" + + +TextField::TextField() { + } + +void TextField::setDisplay(ILI9341_t3 *pNewTft) +{ + pTft = pNewTft; +} + +void TextField::setupField(ILI9341_t3 *pNewTft, const char* buf) +{ + pTft = pNewTft; + pTft->getCursor(&x, &y); + w = pTft->strPixelLen(buf); + pTft->printf("\n"); + h = pTft->getCursorY() - y; + pTft->setCursor(x+w, y); +} + +void TextField::setFieldInt(ILI9341_t3 *pNewTft, const char* fmt, int32_t data) +{ + char buf[64]; + sprintf(buf, fmt, data); + this->fmt = fmt; + setupField(pNewTft, &buf[0]); +} + +void TextField::setFieldStr(ILI9341_t3 *pNewTft, const char* fmt, const char* data) +{ + char buf[64]; + sprintf(buf, fmt, data); + this->fmt = fmt; + setupField(pNewTft, &buf[0]); +}; + + +void TextField::setFieldFloat(ILI9341_t3 *pNewTft, const char* fmt, float data) +{ + char buf[64]; + sprintf(buf, fmt, data); + this->fmt = fmt; + setupField(pNewTft, buf); +} + + +void TextField::setFieldLine(ILI9341_t3 *pNewTft, const char* fmt) +{ + char buf[] = { '\x00' }; + this->fmt = fmt; + setupField(pNewTft, buf); + w = pTft->width() - pTft->getCursorX(); +} + + +/* erase the text area of the field */ +void TextField::eraseField(bool erase) +{ + if (erase) + pTft->fillRect(x, y, w, h, ILI9341_BLACK); + pTft->setCursor(x, y); + +} + +void TextField::drawFieldInt(int32_t data) +{ + eraseField(); + pTft->printf(fmt, data); +} + +void TextField::drawFieldStr(const char* data, bool erase) +{ + eraseField(erase); + pTft->printf(fmt, data); +} + + +void TextField::drawFieldFloat(float data) +{ + eraseField(); + pTft->printf(fmt, data); +}