print formatting

This commit is contained in:
prenticedavid
2017-03-16 15:52:23 +00:00
parent 6fa2334dea
commit 4492c9c244

View File

@@ -51,12 +51,14 @@ class UTFTGLUE : public MCUFRIEND_kbv
uint16_t ID = MCUFRIEND_kbv::readID(); uint16_t ID = MCUFRIEND_kbv::readID();
if (ID == 0) ID = 0x9341; //DealExtreme with EXTC=0 if (ID == 0) ID = 0x9341; //DealExtreme with EXTC=0
// if (ID == 0x0089 || ID == 0x8989) ID = 0x1289; // 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 = 0x9486; //write-only controller
if (ID == 0x00D3 || ID == 0xD3D3) ID = 0x9090; //write-only controller HX8357-D
// if (ID == 0x9327 && orientation == LANDSCAPE) orientation = 3; // if (ID == 0x9327 && orientation == LANDSCAPE) orientation = 3;
MCUFRIEND_kbv::begin(ID); MCUFRIEND_kbv::begin(ID);
MCUFRIEND_kbv::setRotation(_orient = orientation); MCUFRIEND_kbv::setRotation(_orient = orientation);
_radius = 4; _radius = 4;
_fontsize = 1;
} }
void clrScr() { MCUFRIEND_kbv::fillScreen(0x0000);} void clrScr() { MCUFRIEND_kbv::fillScreen(0x0000);}
void drawPixel(int x, int y) { MCUFRIEND_kbv::drawPixel(x, y, _fcolor);} 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) { void print(String st, int x, int y, int deg=0) {
MCUFRIEND_kbv::print(st);} MCUFRIEND_kbv::print(st);}
void printNumI(long num, int x, int y, int length=0, char filler=' ') { void printNumI(long num, int x, int y, int length=0, char filler=' ') {
char buf[16]; ltoa(num, buf, 10); // char buf[17]; ltoa(num, buf, 10);
settextcursor(buf, x, y); MCUFRIEND_kbv::print(buf);} // 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=' ') { 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_) #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 #endif
void drawBitmap(int x, int y, int sx, int sy, const uint16_t *data, int scale=1) { void drawBitmap(int x, int y, int sx, int sy, const uint16_t *data, int scale=1) {
uint16_t color; uint16_t color;
@@ -130,6 +149,7 @@ class UTFTGLUE : public MCUFRIEND_kbv
protected: protected:
uint16_t _fcolor; uint16_t _fcolor;
uint16_t _bcolor; uint16_t _bcolor;
uint8_t _fontsize;
uint8_t _radius; uint8_t _radius;
uint8_t _orient; uint8_t _orient;
void settextcursor(char *st, int x, int y) { void settextcursor(char *st, int x, int y) {
@@ -146,11 +166,11 @@ class UTFTGLUE : public MCUFRIEND_kbv
if (x == CENTER || x == RIGHT) { if (x == CENTER || x == RIGHT) {
#endif #endif
{ {
len = strlen(st) * 6; len = strlen(st) * 6 * _fontsize;
} }
pos = (MCUFRIEND_kbv::width() - len); pos = (MCUFRIEND_kbv::width() - len);
if (x == CENTER) x = pos/2; if (x == CENTER) x = pos/2;
else x = pos; else x = pos - 1;
} }
MCUFRIEND_kbv::setCursor(x, y); MCUFRIEND_kbv::setCursor(x, y);
} }