mirror of
https://github.com/daveallie/crosspoint-reader.git
synced 2026-02-04 22:57:50 +03:00
Improvement/settings selection by inversion (#152)
Style in settings like everywhere else. Also improved the alignment of the settings value.
This commit is contained in:
parent
7b32a87596
commit
1bfe694807
@ -159,6 +159,9 @@ void SettingsActivity::render() const {
|
|||||||
// Draw header
|
// Draw header
|
||||||
renderer.drawCenteredText(READER_FONT_ID, 10, "Settings", true, BOLD);
|
renderer.drawCenteredText(READER_FONT_ID, 10, "Settings", true, BOLD);
|
||||||
|
|
||||||
|
// Draw selection
|
||||||
|
renderer.fillRect(0, 60 + selectedSettingIndex * 30 - 2, pageWidth - 1, 30);
|
||||||
|
|
||||||
// Draw all settings
|
// Draw all settings
|
||||||
for (int i = 0; i < settingsCount; i++) {
|
for (int i = 0; i < settingsCount; i++) {
|
||||||
const int settingY = 60 + i * 30; // 30 pixels between settings
|
const int settingY = 60 + i * 30; // 30 pixels between settings
|
||||||
@ -169,18 +172,19 @@ void SettingsActivity::render() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Draw setting name
|
// Draw setting name
|
||||||
renderer.drawText(UI_FONT_ID, 20, settingY, settingsList[i].name);
|
renderer.drawText(UI_FONT_ID, 20, settingY, settingsList[i].name, i != selectedSettingIndex);
|
||||||
|
|
||||||
// Draw value based on setting type
|
// Draw value based on setting type
|
||||||
|
std::string valueText = "";
|
||||||
if (settingsList[i].type == SettingType::TOGGLE && settingsList[i].valuePtr != nullptr) {
|
if (settingsList[i].type == SettingType::TOGGLE && settingsList[i].valuePtr != nullptr) {
|
||||||
const bool value = SETTINGS.*(settingsList[i].valuePtr);
|
const bool value = SETTINGS.*(settingsList[i].valuePtr);
|
||||||
renderer.drawText(UI_FONT_ID, pageWidth - 80, settingY, value ? "ON" : "OFF");
|
valueText = value ? "ON" : "OFF";
|
||||||
} else if (settingsList[i].type == SettingType::ENUM && settingsList[i].valuePtr != nullptr) {
|
} else if (settingsList[i].type == SettingType::ENUM && settingsList[i].valuePtr != nullptr) {
|
||||||
const uint8_t value = SETTINGS.*(settingsList[i].valuePtr);
|
const uint8_t value = SETTINGS.*(settingsList[i].valuePtr);
|
||||||
auto valueText = settingsList[i].enumValues[value];
|
valueText = settingsList[i].enumValues[value];
|
||||||
const auto width = renderer.getTextWidth(UI_FONT_ID, valueText.c_str());
|
|
||||||
renderer.drawText(UI_FONT_ID, pageWidth - 50 - width, settingY, valueText.c_str());
|
|
||||||
}
|
}
|
||||||
|
const auto width = renderer.getTextWidth(UI_FONT_ID, valueText.c_str());
|
||||||
|
renderer.drawText(UI_FONT_ID, pageWidth - 20 - width, settingY, valueText.c_str(), i != selectedSettingIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw version text above button hints
|
// Draw version text above button hints
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user