Różnica jest w obliczaniu gdzie się znajdzie na ekranie sama wartość oraz opis :
display->setFont(ArialMT_Win1250_Plain_10); display->drawString(x + TEMP_WIDTH + 20, y + display->getHeight() / 2 - 15, name); display->setFont(ArialMT_Win1250_Plain_24); display->drawString(x + temp_width, y + drawStringIcon, getTempString(temp)); display->setFont(ArialMT_Win1250_Plain_16); display->drawString(x + temp_width + (getTempString(temp).length() * 12), y + drawStringIcon, "°C");
a w drugim:
display->setFont(ArialMT_Win1250_Plain_10); display->drawString(x + ((display->getWidth() - String(name).length()) / 2), y + display->getHeight() / 2 - 15, name); display->setFont(ArialMT_Win1250_Plain_24); display->drawString(x + getWidthValue(display, value.toDouble()), y + display->getHeight() / 2, String(value)); display->setFont(ArialMT_Win1250_Plain_16); display->drawString(x + getWidthUnit(display, value.toDouble()), y + display->getHeight() / 2 + 7, unit);
W jedym przypadku określamy pozycje wyświetlanej wartości na wysokości "y+drawstringicon", a w drugim jako "rozmiar wyswietlacza/2" oraz "rozmiarwyświetlacza/2 + 7)" - co daje całkiem inne wyniki, są przesunięcia chyba wypadało by to znormalizować jakoś w którąś stronę?
Patrząc na wyswietlanie:
temperatura, wilgotność, ciśnienie - są zrobione tak samo i ładnie: np dla temperatury
displayUiTemperature
https://github.com/krycha88/GUI-Generic/blob/925bbf28c6e8fcf2d61bbe6c39476d30aafee2a0/src/SuplaOled.cpp#L203ale inne rzeczy - np dystans - rysowany jest inaczej zbudowaną funkcją
displayUiGeneral
https://github.com/krycha88/GUI-Generic/blob/925bbf28c6e8fcf2d61bbe6c39476d30aafee2a0/src/SuplaOled.cpp#L293Różnica jest w obliczaniu gdzie się znajdzie na ekranie sama wartość oraz opis :
display->setFont(ArialMT_Win1250_Plain_10); display->drawString(x + TEMP_WIDTH + 20, y + display->getHeight() / 2 - 15, name); display->setFont(ArialMT_Win1250_Plain_24); display->drawString(x + temp_width, y + drawStringIcon, getTempString(temp)); display->setFont(ArialMT_Win1250_Plain_16); display->drawString(x + temp_width + (getTempString(temp).length() * 12), y + drawStringIcon, "°C");
a w drugim:display->setFont(ArialMT_Win1250_Plain_10); display->drawString(x + ((display->getWidth() - String(name).length()) / 2), y + display->getHeight() / 2 - 15, name); display->setFont(ArialMT_Win1250_Plain_24); display->drawString(x + getWidthValue(display, value.toDouble()), y + display->getHeight() / 2, String(value)); display->setFont(ArialMT_Win1250_Plain_16); display->drawString(x + getWidthUnit(display, value.toDouble()), y + display->getHeight() / 2 + 7, unit);
W jedym przypadku określamy pozycje wyświetlanej wartości na wysokości "y+drawstringicon", a w drugim jako "rozmiar wyswietlacza/2" oraz "rozmiarwyświetlacza/2 + 7)" - co daje całkiem inne wyniki, są przesunięcia chyba wypadało by to znormalizować jakoś w którąś stronę?