mirror of
https://github.com/YuzuZensai/MCUFRIEND_kbv.git
synced 2026-01-31 14:57:48 +00:00
print formatting
This commit is contained in:
34
UTFTGLUE.h
34
UTFTGLUE.h
@@ -51,12 +51,14 @@ class UTFTGLUE : public MCUFRIEND_kbv
|
||||
uint16_t ID = MCUFRIEND_kbv::readID();
|
||||
if (ID == 0) ID = 0x9341; //DealExtreme with EXTC=0
|
||||
// if (ID == 0x0089 || ID == 0x8989) ID = 0x1289;
|
||||
if (ID == 0x00D3 || ID == 0xD3D3) ID = 0x9481; //write-only controller
|
||||
// if (ID == 0x00D3 || ID == 0xD3D3) ID = 0x9481; //write-only controller
|
||||
// if (ID == 0x00D3 || ID == 0xD3D3) ID = 0x9486; //write-only controller
|
||||
if (ID == 0x00D3 || ID == 0xD3D3) ID = 0x9090; //write-only controller HX8357-D
|
||||
// if (ID == 0x9327 && orientation == LANDSCAPE) orientation = 3;
|
||||
MCUFRIEND_kbv::begin(ID);
|
||||
MCUFRIEND_kbv::setRotation(_orient = orientation);
|
||||
_radius = 4;
|
||||
_fontsize = 1;
|
||||
}
|
||||
void clrScr() { MCUFRIEND_kbv::fillScreen(0x0000);}
|
||||
void drawPixel(int x, int y) { MCUFRIEND_kbv::drawPixel(x, y, _fcolor);}
|
||||
@@ -99,12 +101,29 @@ class UTFTGLUE : public MCUFRIEND_kbv
|
||||
void print(String st, int x, int y, int deg=0) {
|
||||
MCUFRIEND_kbv::print(st);}
|
||||
void printNumI(long num, int x, int y, int length=0, char filler=' ') {
|
||||
char buf[16]; ltoa(num, buf, 10);
|
||||
settextcursor(buf, x, y); MCUFRIEND_kbv::print(buf);}
|
||||
// char buf[17]; ltoa(num, buf, 10);
|
||||
// settextcursor(buf, x, y); MCUFRIEND_kbv::print(buf);
|
||||
// settextcursor((char*)"", x, y); MCUFRIEND_kbv::print(num);
|
||||
char buf[17], len = 0, *p = buf + 17, sign = num < 0;
|
||||
if (sign) num = -num;
|
||||
*--p = '\0';
|
||||
if (num == 0) *--p = '0';
|
||||
else while (num > 0 && len < 10) { //int32_t -2147483648 i.e. 10 digits + sign
|
||||
*--p = '0' + num % 10;
|
||||
num /= 10;
|
||||
len++;
|
||||
}
|
||||
if (sign) *--p = '-';
|
||||
while (len++ < length) *--p = filler;
|
||||
settextcursor(p, x, y); //calculates where to start cursor for CENTER, RIGHT etc
|
||||
MCUFRIEND_kbv::print(p); //actually print the data
|
||||
}
|
||||
void printNumF(double num, byte dec, int x, int y, char divider='.', int length=0, char filler=' ') {
|
||||
settextcursor((char*)"", x, y); MCUFRIEND_kbv::print(num, dec);}
|
||||
// settextcursor((char*)"", x, y); MCUFRIEND_kbv::print(num, dec);
|
||||
char buf[20]; dtostrf(num, length, dec, buf); settextcursor(buf, x, y); MCUFRIEND_kbv::print(buf);
|
||||
}
|
||||
#if !defined(_GFXFONT_H_)
|
||||
void setFont(uint8_t* font) { MCUFRIEND_kbv::setTextSize(1);}
|
||||
void setFont(uint8_t* font) { MCUFRIEND_kbv::setTextSize(_fontsize = (font == BigFont) ? 2 : 1);}
|
||||
#endif
|
||||
void drawBitmap(int x, int y, int sx, int sy, const uint16_t *data, int scale=1) {
|
||||
uint16_t color;
|
||||
@@ -130,6 +149,7 @@ class UTFTGLUE : public MCUFRIEND_kbv
|
||||
protected:
|
||||
uint16_t _fcolor;
|
||||
uint16_t _bcolor;
|
||||
uint8_t _fontsize;
|
||||
uint8_t _radius;
|
||||
uint8_t _orient;
|
||||
void settextcursor(char *st, int x, int y) {
|
||||
@@ -146,11 +166,11 @@ class UTFTGLUE : public MCUFRIEND_kbv
|
||||
if (x == CENTER || x == RIGHT) {
|
||||
#endif
|
||||
{
|
||||
len = strlen(st) * 6;
|
||||
len = strlen(st) * 6 * _fontsize;
|
||||
}
|
||||
pos = (MCUFRIEND_kbv::width() - len);
|
||||
if (x == CENTER) x = pos/2;
|
||||
else x = pos;
|
||||
else x = pos - 1;
|
||||
}
|
||||
MCUFRIEND_kbv::setCursor(x, y);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user