Refactor printing CJK menu with large font into OLED.cpp
This commit is contained in:
@@ -237,17 +237,6 @@ const menuitem advancedMenu[] = {
|
||||
{nullptr, nullptr, nullptr} // end of menu marker. DO NOT REMOVE
|
||||
};
|
||||
|
||||
static void printShortDescriptionDoubleLine(SettingsItemIndex settingsItemIndex) {
|
||||
uint8_t shortDescIndex = static_cast<uint8_t>(settingsItemIndex);
|
||||
OLED::setCursor(0, 0);
|
||||
if (SettingsShortNames[shortDescIndex][0] == '\x01') {
|
||||
// Empty first line means that this uses large font (for CJK).
|
||||
OLED::print(SettingsShortNames[shortDescIndex] + 1, FontStyle::LARGE);
|
||||
} else {
|
||||
OLED::print(SettingsShortNames[shortDescIndex], FontStyle::SMALL);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints two small lines (or one line for CJK) of short description for
|
||||
* setting items and prepares cursor after it.
|
||||
@@ -257,7 +246,8 @@ static void printShortDescriptionDoubleLine(SettingsItemIndex settingsItemIndex)
|
||||
*/
|
||||
static void printShortDescription(SettingsItemIndex settingsItemIndex, uint16_t cursorCharPosition) {
|
||||
// print short description (default single line, explicit double line)
|
||||
printShortDescriptionDoubleLine(settingsItemIndex);
|
||||
uint8_t shortDescIndex = static_cast<uint8_t>(settingsItemIndex);
|
||||
OLED::printWholeScreen(SettingsShortNames[shortDescIndex]);
|
||||
|
||||
// prepare cursor for value
|
||||
// make room for scroll indicator
|
||||
@@ -1011,18 +1001,8 @@ static bool animOpenState = false;
|
||||
|
||||
static void displayMenu(size_t index) {
|
||||
// Call into the menu
|
||||
const char *textPtr = SettingsMenuEntries[index];
|
||||
FontStyle font;
|
||||
if (textPtr[0] == '\x01') { // `\x01` is used as newline.
|
||||
// Empty first line means that this uses large font (for CJK).
|
||||
font = FontStyle::LARGE;
|
||||
textPtr++;
|
||||
} else {
|
||||
font = FontStyle::SMALL;
|
||||
}
|
||||
OLED::setCursor(0, 0);
|
||||
// Draw title
|
||||
OLED::print(textPtr, font);
|
||||
OLED::printWholeScreen(SettingsMenuEntries[index]);
|
||||
// Draw symbol
|
||||
// 16 pixel wide image
|
||||
// 2 pixel wide scrolling indicator
|
||||
|
||||
Reference in New Issue
Block a user