From f1a7a1674b8da2bab7bed4005fb1f6546d2f225a Mon Sep 17 00:00:00 2001 From: Mr-Wiseguy Date: Sun, 6 Apr 2025 15:20:50 -0400 Subject: [PATCH] Replace use of std::bind with lambdas --- src/ui/elements/ui_radio.cpp | 2 +- src/ui/elements/ui_slider.cpp | 6 +++--- src/ui/ui_config_sub_menu.cpp | 10 +++++----- src/ui/ui_mod_details_panel.cpp | 4 ++-- src/ui/ui_mod_menu.cpp | 27 ++++++++++++++------------- 5 files changed, 25 insertions(+), 24 deletions(-) diff --git a/src/ui/elements/ui_radio.cpp b/src/ui/elements/ui_radio.cpp index 3df2bbb..aa7438c 100644 --- a/src/ui/elements/ui_radio.cpp +++ b/src/ui/elements/ui_radio.cpp @@ -82,7 +82,7 @@ namespace recompui { void Radio::add_option(std::string_view name) { RadioOption *option = get_current_context().create_element(this, name, uint32_t(options.size())); - option->set_pressed_callback(std::bind(&Radio::option_selected, this, std::placeholders::_1)); + option->set_pressed_callback([this](uint32_t index){ option_selected(index); }); options.emplace_back(option); // The first option was added, select it. diff --git a/src/ui/elements/ui_slider.cpp b/src/ui/elements/ui_slider.cpp index afa890d..6e2bf9e 100644 --- a/src/ui/elements/ui_slider.cpp +++ b/src/ui/elements/ui_slider.cpp @@ -84,8 +84,8 @@ namespace recompui { bar_element->set_height(2.0f); bar_element->set_margin_top(8.0f); bar_element->set_background_color(Color{ 255, 255, 255, 50 }); - bar_element->add_pressed_callback(std::bind(&Slider::bar_clicked, this, std::placeholders::_1, std::placeholders::_2)); - bar_element->add_dragged_callback(std::bind(&Slider::bar_dragged, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); + bar_element->add_pressed_callback([this](float x, float y){ bar_clicked(x, y); }); + bar_element->add_dragged_callback([this](float x, float y, recompui::DragPhase phase){ bar_dragged(x, y, phase); }); circle_element = context.create_element(slider_element, true); circle_element->set_position(Position::Relative); @@ -96,7 +96,7 @@ namespace recompui { circle_element->set_margin_left(-8.0f); circle_element->set_background_color(Color{ 204, 204, 204, 255 }); circle_element->set_border_radius(8.0f); - circle_element->add_dragged_callback(std::bind(&Slider::circle_dragged, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); + circle_element->add_dragged_callback([this](float x, float y, recompui::DragPhase phase){ circle_dragged(x, y, phase); }); circle_element->set_cursor(Cursor::Pointer); } diff --git a/src/ui/ui_config_sub_menu.cpp b/src/ui/ui_config_sub_menu.cpp index bc3e969..6d632b4 100644 --- a/src/ui/ui_config_sub_menu.cpp +++ b/src/ui/ui_config_sub_menu.cpp @@ -71,7 +71,7 @@ ConfigOptionSlider::ConfigOptionSlider(Element *parent, double value, double min slider->set_max_value(max_value); slider->set_step_value(step_value); slider->set_value(value); - slider->add_value_changed_callback(std::bind(&ConfigOptionSlider::slider_value_changed, this, std::placeholders::_1)); + slider->add_value_changed_callback([this](double v){ slider_value_changed(v); }); } // ConfigOptionTextInput @@ -85,7 +85,7 @@ ConfigOptionTextInput::ConfigOptionTextInput(Element *parent, std::string_view v text_input = get_current_context().create_element(this); text_input->set_text(value); - text_input->add_text_changed_callback(std::bind(&ConfigOptionTextInput::text_changed, this, std::placeholders::_1)); + text_input->add_text_changed_callback([this](const std::string &text){ text_changed(text); }); } // ConfigOptionRadio @@ -98,7 +98,7 @@ ConfigOptionRadio::ConfigOptionRadio(Element *parent, uint32_t value, const std: this->callback = callback; radio = get_current_context().create_element(this); - radio->add_index_changed_callback(std::bind(&ConfigOptionRadio::index_changed, this, std::placeholders::_1)); + radio->add_index_changed_callback([this](uint32_t index){ index_changed(index); }); for (std::string_view option : options) { radio->add_option(option); } @@ -152,7 +152,7 @@ ConfigSubMenu::ConfigSubMenu(Element *parent) : Element(parent) { { back_button = context.create_element