diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2021-01-27 19:13:27 -0500 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2021-01-27 19:25:18 -0500 |
commit | 1ef9d6991b39bc03565278f35b4af97e44c7bcbf (patch) | |
tree | a2915371d4f4ad8534ee989e8aa8b53f5d4c5e82 /src/osd/modules/render/d3d/d3dhlsl.cpp | |
parent | cdde43b7a70f8aa434a028840d661c532525b1f2 (diff) |
ui: Clean up slider callbacks
Diffstat (limited to 'src/osd/modules/render/d3d/d3dhlsl.cpp')
-rw-r--r-- | src/osd/modules/render/d3d/d3dhlsl.cpp | 28 |
1 files changed, 3 insertions, 25 deletions
diff --git a/src/osd/modules/render/d3d/d3dhlsl.cpp b/src/osd/modules/render/d3d/d3dhlsl.cpp index c082bddb5bf..4b1087826b5 100644 --- a/src/osd/modules/render/d3d/d3dhlsl.cpp +++ b/src/osd/modules/render/d3d/d3dhlsl.cpp @@ -1987,23 +1987,10 @@ static void get_vector(const char *data, int count, float *out, bool report_erro // be done in a more ideal way. //============================================================ -std::unique_ptr<slider_state> shaders::slider_alloc(int id, const char *title, int32_t minval, int32_t defval, int32_t maxval, int32_t incval, void *arg) +std::unique_ptr<slider_state> shaders::slider_alloc(std::string &&title, int32_t minval, int32_t defval, int32_t maxval, int32_t incval, slider *arg) { - auto state = std::make_unique<slider_state>(); - - state->minval = minval; - state->defval = defval; - state->maxval = maxval; - state->incval = incval; - using namespace std::placeholders; - state->update = std::bind(&shaders::slider_changed, this, _1, _2, _3, _4, _5); - - state->arg = arg; - state->id = id; - state->description = title; - - return state; + return std::make_unique<slider_state>(std::move(title), minval, defval, maxval, incval, std::bind(&slider::update, arg, _1, _2)); } @@ -2069,15 +2056,6 @@ int32_t slider::update(std::string *str, int32_t newval) return 0; } -int32_t shaders::slider_changed(running_machine& /*machine*/, void *arg, int /*id*/, std::string *str, int32_t newval) -{ - if (arg != nullptr) - { - return reinterpret_cast<slider *>(arg)->update(str, newval); - } - return 0; -} - char shaders::last_system_name[16]; hlsl_options shaders::last_options = { false }; @@ -2388,7 +2366,7 @@ void shaders::init_slider_list() break; } - std::unique_ptr<slider_state> core_slider = slider_alloc(desc->id, name.c_str(), desc->minval, desc->defval, desc->maxval, desc->step, slider_arg); + std::unique_ptr<slider_state> core_slider = slider_alloc(std::move(name), desc->minval, desc->defval, desc->maxval, desc->step, slider_arg); ui::menu_item item; item.text = core_slider->description; |