ServiceMenu: ja es funcional en totes les seccions del programa

This commit is contained in:
2025-06-06 19:45:47 +02:00
parent 71e1a035dd
commit 552eff2fc0
10 changed files with 92 additions and 92 deletions

View File

@@ -47,12 +47,16 @@ void ServiceMenu::render()
constexpr int H_PADDING = 20;
// SOMBRA
SDL_FRect shadowRect = {rect_.x + 5, rect_.y + 5, rect_.w, rect_.h};
SDL_SetRenderDrawColor(Screen::get()->getRenderer(), 0, 0, 0, 64);
SDL_RenderFillRect(Screen::get()->getRenderer(), &shadowRect);
if (aspect_ == Aspect::ASPECT1)
{
SDL_FRect shadowRect = {rect_.x + 5, rect_.y + 5, rect_.w, rect_.h};
SDL_SetRenderDrawColor(Screen::get()->getRenderer(), 0, 0, 0, 64);
SDL_RenderFillRect(Screen::get()->getRenderer(), &shadowRect);
}
// FONDO
SDL_SetRenderDrawColor(Screen::get()->getRenderer(), bg_color_.r, bg_color_.g, bg_color_.b, 255);
const Uint8 ALPHA = aspect_ == Aspect::ASPECT1 ? 255 : 255;
SDL_SetRenderDrawColor(Screen::get()->getRenderer(), bg_color_.r, bg_color_.g, bg_color_.b, ALPHA);
SDL_RenderFillRect(Screen::get()->getRenderer(), &rect_);
// BORDE
@@ -134,35 +138,25 @@ Color ServiceMenu::getSelectedColor()
void ServiceMenu::setSelectorUp()
{
if (selected_ > 0)
{
--selected_;
}
else
{
selected_ = option_pairs_.size() - 1;
}
selected_ = (selected_ > 0) ? --selected_ : display_options_.size() - 1;
}
void ServiceMenu::setSelectorDown()
{
selected_ = (selected_ + 1) % option_pairs_.size();
selected_ = (selected_ + 1) % display_options_.size();
}
void ServiceMenu::setSelectorRight()
void ServiceMenu::adjustOption(bool adjust_up)
{
display_options_.at(selected_).adjustValue(true);
option_pairs_ = getOptionPairs(current_settings_group_);
applySettings(current_settings_group_);
}
void ServiceMenu::setSelectorLeft()
{
display_options_.at(selected_).adjustValue(false);
option_pairs_ = getOptionPairs(current_settings_group_);
applySettings(current_settings_group_);
if (display_options_.at(selected_).behavior == OptionBehavior::ADJUST)
{
display_options_.at(selected_).adjustValue(adjust_up);
option_pairs_ = getOptionPairs(current_settings_group_);
applySettings(current_settings_group_);
}
}
void ServiceMenu::acceptSelection()
void ServiceMenu::selectOption()
{
// Carpeta
if (display_options_.at(selected_).type == ValueType::FOLDER)