Added padding to display.

This commit is contained in:
Yohan Boujon 2023-11-27 21:50:04 +01:00
parent 9e32194a70
commit 72ac1f20df
3 changed files with 17 additions and 15 deletions

View file

@ -21,8 +21,8 @@ void Screen::Setup(uint8_t *font)
_font = font; _font = font;
_screen->setFont(_font); _screen->setFont(_font);
// Static Components // Static Components
connectingWindow.Add(TextBox("connect",StyleWidth::CENTERED, U8G2_BTN_BW0)); connectingWindow.Add(TextBox("connect", StyleWidth::CENTERED, U8G2_BTN_BW0));
connectedWindow.Add({TextBox("Connected to Wi-Fi !", StyleWidth::LEFT, U8G2_BTN_BW0), connectedWindow.Add({TextBox("Connected to Wi-Fi !", StyleWidth::LEFT, U8G2_BTN_BW0),
TextBox("IP address: ", StyleWidth::LEFT, U8G2_BTN_BW0), TextBox("IP address: ", StyleWidth::LEFT, U8G2_BTN_BW0),
TextBox("addr", StyleWidth::CENTERED, U8G2_BTN_BW0)}); TextBox("addr", StyleWidth::CENTERED, U8G2_BTN_BW0)});
@ -46,20 +46,22 @@ void Screen::connecting(uint8_t state)
strncpy(connectText, "Connecting", connectSize); strncpy(connectText, "Connecting", connectSize);
size_t currentLength = strlen(connectText); size_t currentLength = strlen(connectText);
for (uint8_t i = 0; i < state; i++) { for (uint8_t i = 0; i < state; i++)
{
// Checking space // Checking space
if (currentLength+1 < connectSize) { if (currentLength + 1 < connectSize)
strncat(connectText, ".", currentLength+1); {
currentLength += 1; strncat(connectText, ".", currentLength + 1);
currentLength += 1;
} }
} }
// Displaying connecting text and setup bar. // Displaying connecting text and setup bar.
_screen->clearBuffer(); _screen->clearBuffer();
const auto setupPadding = setupHeader(); const auto setupPadding = setupHeader();
// Reactive Component // Reactive Component
connectingWindow.Update(0,connectText); connectingWindow.Update(0, connectText);
// Displaying // Displaying
connectingWindow.Display(StyleHeight::CENTERED, setupPadding); connectingWindow.Display(StyleHeight::CENTERED, setupPadding);
_screen->sendBuffer(); _screen->sendBuffer();
@ -72,9 +74,9 @@ void Screen::connected(const char *ipaddress)
const auto setupPadding = setupHeader(); const auto setupPadding = setupHeader();
// Reactive Component // Reactive Component
connectedWindow.Update(2,ipaddress); connectedWindow.Update(2, ipaddress);
// Displaying // Displaying
connectedWindow.Display(StyleHeight::CENTERED, setupPadding+5); connectedWindow.Display(StyleHeight::CENTERED, setupPadding + 5, 2);
_screen->sendBuffer(); _screen->sendBuffer();
} }

View file

@ -26,7 +26,7 @@ void Components::Update(size_t index, String text)
_boxes[index].updateString(text); _boxes[index].updateString(text);
} }
void Components::Display(StyleHeight sh, uint16_t offset) void Components::Display(StyleHeight sh, uint16_t offset, uint16_t padding)
{ {
const auto totalTextSize = _boxes.size() * FONT_SIZE; const auto totalTextSize = _boxes.size() * FONT_SIZE;
const auto centeredOffset = (Screen::GetInstance().getHeight() - totalTextSize) - offset; const auto centeredOffset = (Screen::GetInstance().getHeight() - totalTextSize) - offset;
@ -35,13 +35,13 @@ void Components::Display(StyleHeight sh, uint16_t offset)
switch (sh) switch (sh)
{ {
case StyleHeight::TOP: case StyleHeight::TOP:
Screen::GetInstance().getScreen().drawButtonUTF8(_boxes[i].getX(), (i * FONT_SIZE) + offset, _boxes[i].getStyle(), _boxes[i].getTextWidth(), 0, 0, _boxes[i].getString()); Screen::GetInstance().getScreen().drawButtonUTF8(_boxes[i].getX()+padding*i, (i * FONT_SIZE)+offset+padding*i, _boxes[i].getStyle(), _boxes[i].getTextWidth(), padding, padding, _boxes[i].getString());
break; break;
case StyleHeight::CENTERED: case StyleHeight::CENTERED:
Screen::GetInstance().getScreen().drawButtonUTF8(_boxes[i].getX(), ((centeredOffset / 2) + i * FONT_SIZE) + offset, _boxes[i].getStyle(), _boxes[i].getTextWidth(), 0, 0, _boxes[i].getString()); Screen::GetInstance().getScreen().drawButtonUTF8(_boxes[i].getX()+padding*i, ((centeredOffset / 2)+i*FONT_SIZE)+offset+padding*i, _boxes[i].getStyle(), _boxes[i].getTextWidth(), padding, padding, _boxes[i].getString());
break; break;
case StyleHeight::BOTTOM: case StyleHeight::BOTTOM:
Screen::GetInstance().getScreen().drawButtonUTF8(_boxes[i].getX(), (centeredOffset + i * FONT_SIZE) + offset, _boxes[i].getStyle(), _boxes[i].getTextWidth(), 0, 0, _boxes[i].getString()); Screen::GetInstance().getScreen().drawButtonUTF8(_boxes[i].getX()+padding*i, (centeredOffset + i * FONT_SIZE)+offset+padding*i, _boxes[i].getStyle(), _boxes[i].getTextWidth(), padding, padding, _boxes[i].getString());
break; break;
} }
} }

View file

@ -49,7 +49,7 @@ namespace Display
void Add(TextBox box); void Add(TextBox box);
void Add(std::vector<TextBox> boxes); void Add(std::vector<TextBox> boxes);
void Update(size_t index, String text); void Update(size_t index, String text);
void Display(StyleHeight sh=StyleHeight::TOP, uint16_t offset=0); void Display(StyleHeight sh=StyleHeight::TOP, uint16_t offset=0, uint16_t padding=0);
private: private:
// Boxes // Boxes
std::vector<TextBox> _boxes; std::vector<TextBox> _boxes;