mirror of
https://github.com/meshtastic/firmware.git
synced 2025-06-08 06:02:05 +00:00
Scrolling issues fixed
This commit is contained in:
parent
67ae1c553c
commit
75490f410b
53
.vscode/settings.json
vendored
53
.vscode/settings.json
vendored
@ -10,5 +10,58 @@
|
|||||||
},
|
},
|
||||||
"[powershell]": {
|
"[powershell]": {
|
||||||
"editor.defaultFormatter": "ms-vscode.powershell"
|
"editor.defaultFormatter": "ms-vscode.powershell"
|
||||||
|
},
|
||||||
|
"files.associations": {
|
||||||
|
"array": "cpp",
|
||||||
|
"atomic": "cpp",
|
||||||
|
"*.tcc": "cpp",
|
||||||
|
"cctype": "cpp",
|
||||||
|
"clocale": "cpp",
|
||||||
|
"cmath": "cpp",
|
||||||
|
"csignal": "cpp",
|
||||||
|
"cstdarg": "cpp",
|
||||||
|
"cstddef": "cpp",
|
||||||
|
"cstdint": "cpp",
|
||||||
|
"cstdio": "cpp",
|
||||||
|
"cstdlib": "cpp",
|
||||||
|
"cstring": "cpp",
|
||||||
|
"ctime": "cpp",
|
||||||
|
"cwchar": "cpp",
|
||||||
|
"cwctype": "cpp",
|
||||||
|
"deque": "cpp",
|
||||||
|
"list": "cpp",
|
||||||
|
"unordered_map": "cpp",
|
||||||
|
"unordered_set": "cpp",
|
||||||
|
"vector": "cpp",
|
||||||
|
"exception": "cpp",
|
||||||
|
"algorithm": "cpp",
|
||||||
|
"functional": "cpp",
|
||||||
|
"iterator": "cpp",
|
||||||
|
"map": "cpp",
|
||||||
|
"memory": "cpp",
|
||||||
|
"memory_resource": "cpp",
|
||||||
|
"numeric": "cpp",
|
||||||
|
"optional": "cpp",
|
||||||
|
"random": "cpp",
|
||||||
|
"string": "cpp",
|
||||||
|
"string_view": "cpp",
|
||||||
|
"system_error": "cpp",
|
||||||
|
"tuple": "cpp",
|
||||||
|
"type_traits": "cpp",
|
||||||
|
"utility": "cpp",
|
||||||
|
"fstream": "cpp",
|
||||||
|
"initializer_list": "cpp",
|
||||||
|
"iomanip": "cpp",
|
||||||
|
"iosfwd": "cpp",
|
||||||
|
"iostream": "cpp",
|
||||||
|
"istream": "cpp",
|
||||||
|
"limits": "cpp",
|
||||||
|
"new": "cpp",
|
||||||
|
"ostream": "cpp",
|
||||||
|
"sstream": "cpp",
|
||||||
|
"stdexcept": "cpp",
|
||||||
|
"streambuf": "cpp",
|
||||||
|
"cinttypes": "cpp",
|
||||||
|
"typeinfo": "cpp"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1118,27 +1118,29 @@ void drawTextMessageFrame(OLEDDisplay *display, OLEDDisplayUiState *state, int16
|
|||||||
std::vector<std::string> lines;
|
std::vector<std::string> lines;
|
||||||
lines.push_back(std::string(headerStr)); // Header line is always first
|
lines.push_back(std::string(headerStr)); // Header line is always first
|
||||||
|
|
||||||
std::string word, line;
|
std::string line, word;
|
||||||
int msgLen = strlen(messageBuf);
|
for (int i = 0; messageBuf[i]; ++i) {
|
||||||
for (int i = 0; i <= msgLen; ++i) {
|
|
||||||
char ch = messageBuf[i];
|
char ch = messageBuf[i];
|
||||||
if (ch == ' ' || ch == '\0') {
|
if (ch == '\n') {
|
||||||
if (!word.empty()) {
|
if (!word.empty()) line += word;
|
||||||
if (display->getStringWidth((line + word).c_str()) > textWidth) {
|
if (!line.empty()) lines.push_back(line);
|
||||||
lines.push_back(line);
|
line.clear();
|
||||||
line = word + ' ';
|
word.clear();
|
||||||
} else {
|
} else if (ch == ' ') {
|
||||||
line += word + ' ';
|
line += word + ' ';
|
||||||
}
|
word.clear();
|
||||||
word.clear();
|
|
||||||
}
|
|
||||||
if (ch == '\0' && !line.empty()) {
|
|
||||||
lines.push_back(line);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
word += ch;
|
word += ch;
|
||||||
|
std::string test = line + word;
|
||||||
|
if (display->getStringWidth(test.c_str()) > textWidth + 4) {
|
||||||
|
if (!line.empty()) lines.push_back(line);
|
||||||
|
line = word;
|
||||||
|
word.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!word.empty()) line += word;
|
||||||
|
if (!line.empty()) lines.push_back(line);
|
||||||
|
|
||||||
// === Scrolling logic ===
|
// === Scrolling logic ===
|
||||||
const float rowHeight = FONT_HEIGHT_SMALL - 1;
|
const float rowHeight = FONT_HEIGHT_SMALL - 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user