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

View file

@ -26,7 +26,7 @@ void Components::Update(size_t index, String 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 centeredOffset = (Screen::GetInstance().getHeight() - totalTextSize) - offset;
@ -35,13 +35,13 @@ void Components::Display(StyleHeight sh, uint16_t offset)
switch (sh)
{
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;
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;
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;
}
}

View file

@ -49,7 +49,7 @@ namespace Display
void Add(TextBox box);
void Add(std::vector<TextBox> boxes);
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:
// Boxes
std::vector<TextBox> _boxes;