Merge pull request #10460 from Dentomologist/convert_option_type_to_enum_class

VideoCommon: Convert OptionType to enum class
This commit is contained in:
Léo Lam 2022-02-18 18:40:59 +01:00 committed by GitHub
commit fa059b20ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 28 deletions

View File

@ -227,11 +227,11 @@ u32 PostProcessingConfigWindow::ConfigGroup::AddWidgets(PostProcessingConfigWind
switch (m_config_option->m_type) switch (m_config_option->m_type)
{ {
case OptionType::OPTION_BOOL: case OptionType::Bool:
return AddBool(parent, grid, row); return AddBool(parent, grid, row);
case OptionType::OPTION_FLOAT: case OptionType::Float:
return AddFloat(parent, grid, row); return AddFloat(parent, grid, row);
case OptionType::OPTION_INTEGER: case OptionType::Integer:
return AddInteger(parent, grid, row); return AddInteger(parent, grid, row);
default: default:
// obviously shouldn't get here // obviously shouldn't get here
@ -336,7 +336,7 @@ void PostProcessingConfigWindow::ConfigGroup::EnableSuboptions(const bool state)
{ {
for (auto& it : m_subgroups) for (auto& it : m_subgroups)
{ {
if (it->m_config_option->m_type == OptionType::OPTION_BOOL) if (it->m_config_option->m_type == OptionType::Bool)
{ {
it->m_checkbox->setEnabled(state); it->m_checkbox->setEnabled(state);
} }

View File

@ -166,11 +166,11 @@ void PostProcessingConfiguration::LoadOptions(const std::string& code)
option.m_dirty = true; option.m_dirty = true;
if (it.m_type == "OptionBool") if (it.m_type == "OptionBool")
option.m_type = ConfigurationOption::OptionType::OPTION_BOOL; option.m_type = ConfigurationOption::OptionType::Bool;
else if (it.m_type == "OptionRangeFloat") else if (it.m_type == "OptionRangeFloat")
option.m_type = ConfigurationOption::OptionType::OPTION_FLOAT; option.m_type = ConfigurationOption::OptionType::Float;
else if (it.m_type == "OptionRangeInteger") else if (it.m_type == "OptionRangeInteger")
option.m_type = ConfigurationOption::OptionType::OPTION_INTEGER; option.m_type = ConfigurationOption::OptionType::Integer;
for (const auto& string_option : it.m_options) for (const auto& string_option : it.m_options)
{ {
@ -213,17 +213,17 @@ void PostProcessingConfiguration::LoadOptions(const std::string& code)
output_float = &option.m_float_step_values; output_float = &option.m_float_step_values;
} }
if (option.m_type == ConfigurationOption::OptionType::OPTION_BOOL) if (option.m_type == ConfigurationOption::OptionType::Bool)
{ {
TryParse(string_option.second, &option.m_bool_value); TryParse(string_option.second, &option.m_bool_value);
} }
else if (option.m_type == ConfigurationOption::OptionType::OPTION_INTEGER) else if (option.m_type == ConfigurationOption::OptionType::Integer)
{ {
TryParseVector(string_option.second, output_integer); TryParseVector(string_option.second, output_integer);
if (output_integer->size() > 4) if (output_integer->size() > 4)
output_integer->erase(output_integer->begin() + 4, output_integer->end()); output_integer->erase(output_integer->begin() + 4, output_integer->end());
} }
else if (option.m_type == ConfigurationOption::OptionType::OPTION_FLOAT) else if (option.m_type == ConfigurationOption::OptionType::Float)
{ {
TryParseVector(string_option.second, output_float); TryParseVector(string_option.second, output_float);
if (output_float->size() > 4) if (output_float->size() > 4)
@ -245,11 +245,11 @@ void PostProcessingConfiguration::LoadOptionsConfiguration()
{ {
switch (it.second.m_type) switch (it.second.m_type)
{ {
case ConfigurationOption::OptionType::OPTION_BOOL: case ConfigurationOption::OptionType::Bool:
ini.GetOrCreateSection(section)->Get(it.second.m_option_name, &it.second.m_bool_value, ini.GetOrCreateSection(section)->Get(it.second.m_option_name, &it.second.m_bool_value,
it.second.m_bool_value); it.second.m_bool_value);
break; break;
case ConfigurationOption::OptionType::OPTION_INTEGER: case ConfigurationOption::OptionType::Integer:
{ {
std::string value; std::string value;
ini.GetOrCreateSection(section)->Get(it.second.m_option_name, &value); ini.GetOrCreateSection(section)->Get(it.second.m_option_name, &value);
@ -257,7 +257,7 @@ void PostProcessingConfiguration::LoadOptionsConfiguration()
TryParseVector(value, &it.second.m_integer_values); TryParseVector(value, &it.second.m_integer_values);
} }
break; break;
case ConfigurationOption::OptionType::OPTION_FLOAT: case ConfigurationOption::OptionType::Float:
{ {
std::string value; std::string value;
ini.GetOrCreateSection(section)->Get(it.second.m_option_name, &value); ini.GetOrCreateSection(section)->Get(it.second.m_option_name, &value);
@ -279,12 +279,12 @@ void PostProcessingConfiguration::SaveOptionsConfiguration()
{ {
switch (it.second.m_type) switch (it.second.m_type)
{ {
case ConfigurationOption::OptionType::OPTION_BOOL: case ConfigurationOption::OptionType::Bool:
{ {
ini.GetOrCreateSection(section)->Set(it.second.m_option_name, it.second.m_bool_value); ini.GetOrCreateSection(section)->Set(it.second.m_option_name, it.second.m_bool_value);
} }
break; break;
case ConfigurationOption::OptionType::OPTION_INTEGER: case ConfigurationOption::OptionType::Integer:
{ {
std::string value; std::string value;
for (size_t i = 0; i < it.second.m_integer_values.size(); ++i) for (size_t i = 0; i < it.second.m_integer_values.size(); ++i)
@ -295,7 +295,7 @@ void PostProcessingConfiguration::SaveOptionsConfiguration()
ini.GetOrCreateSection(section)->Set(it.second.m_option_name, value); ini.GetOrCreateSection(section)->Set(it.second.m_option_name, value);
} }
break; break;
case ConfigurationOption::OptionType::OPTION_FLOAT: case ConfigurationOption::OptionType::Float:
{ {
std::ostringstream value; std::ostringstream value;
value.imbue(std::locale("C")); value.imbue(std::locale("C"));
@ -459,15 +459,14 @@ std::string PostProcessing::GetUniformBufferHeader() const
// Custom options/uniforms // Custom options/uniforms
for (const auto& it : m_config.GetOptions()) for (const auto& it : m_config.GetOptions())
{ {
if (it.second.m_type == if (it.second.m_type == PostProcessingConfiguration::ConfigurationOption::OptionType::Bool)
PostProcessingConfiguration::ConfigurationOption::OptionType::OPTION_BOOL)
{ {
ss << fmt::format(" int {};\n", it.first); ss << fmt::format(" int {};\n", it.first);
for (u32 i = 0; i < 3; i++) for (u32 i = 0; i < 3; i++)
ss << " int ubo_align_" << unused_counter++ << "_;\n"; ss << " int ubo_align_" << unused_counter++ << "_;\n";
} }
else if (it.second.m_type == else if (it.second.m_type ==
PostProcessingConfiguration::ConfigurationOption::OptionType::OPTION_INTEGER) PostProcessingConfiguration::ConfigurationOption::OptionType::Integer)
{ {
u32 count = static_cast<u32>(it.second.m_integer_values.size()); u32 count = static_cast<u32>(it.second.m_integer_values.size());
if (count == 1) if (count == 1)
@ -479,7 +478,7 @@ std::string PostProcessing::GetUniformBufferHeader() const
ss << " int ubo_align_" << unused_counter++ << "_;\n"; ss << " int ubo_align_" << unused_counter++ << "_;\n";
} }
else if (it.second.m_type == else if (it.second.m_type ==
PostProcessingConfiguration::ConfigurationOption::OptionType::OPTION_FLOAT) PostProcessingConfiguration::ConfigurationOption::OptionType::Float)
{ {
u32 count = static_cast<u32>(it.second.m_float_values.size()); u32 count = static_cast<u32>(it.second.m_float_values.size());
if (count == 1) if (count == 1)
@ -707,17 +706,17 @@ void PostProcessing::FillUniformBuffer(const MathUtil::Rectangle<int>& src,
switch (it.second.m_type) switch (it.second.m_type)
{ {
case PostProcessingConfiguration::ConfigurationOption::OptionType::OPTION_BOOL: case PostProcessingConfiguration::ConfigurationOption::OptionType::Bool:
value.as_bool[0] = it.second.m_bool_value ? 1 : 0; value.as_bool[0] = it.second.m_bool_value ? 1 : 0;
break; break;
case PostProcessingConfiguration::ConfigurationOption::OptionType::OPTION_INTEGER: case PostProcessingConfiguration::ConfigurationOption::OptionType::Integer:
ASSERT(it.second.m_integer_values.size() < 4); ASSERT(it.second.m_integer_values.size() < 4);
std::copy_n(it.second.m_integer_values.begin(), it.second.m_integer_values.size(), std::copy_n(it.second.m_integer_values.begin(), it.second.m_integer_values.size(),
value.as_int); value.as_int);
break; break;
case PostProcessingConfiguration::ConfigurationOption::OptionType::OPTION_FLOAT: case PostProcessingConfiguration::ConfigurationOption::OptionType::Float:
ASSERT(it.second.m_float_values.size() < 4); ASSERT(it.second.m_float_values.size() < 4);
std::copy_n(it.second.m_float_values.begin(), it.second.m_float_values.size(), std::copy_n(it.second.m_float_values.begin(), it.second.m_float_values.size(),
value.as_float); value.as_float);

View File

@ -24,11 +24,11 @@ class PostProcessingConfiguration
public: public:
struct ConfigurationOption struct ConfigurationOption
{ {
enum OptionType enum class OptionType
{ {
OPTION_BOOL = 0, Bool = 0,
OPTION_FLOAT, Float,
OPTION_INTEGER, Integer,
}; };
bool m_bool_value = false; bool m_bool_value = false;
@ -45,7 +45,7 @@ public:
std::vector<float> m_float_step_values; std::vector<float> m_float_step_values;
std::vector<s32> m_integer_step_values; std::vector<s32> m_integer_step_values;
OptionType m_type = OptionType::OPTION_BOOL; OptionType m_type = OptionType::Bool;
std::string m_gui_name; std::string m_gui_name;
std::string m_option_name; std::string m_option_name;