mirror of
https://github.com/yuzu-emu/yuzu-android.git
synced 2025-06-11 03:38:05 -05:00
settings: Define specializations for settings
Suggests to a frontend how to represent each setting.
This commit is contained in:
@ -35,10 +35,12 @@ public:
|
||||
* @param category_ Category of the setting AKA INI group
|
||||
*/
|
||||
explicit Setting(Linkage& linkage, const Type& default_val, const std::string& name,
|
||||
enum Category category_, bool save_ = true, bool runtime_modifiable_ = false)
|
||||
enum Category category_,
|
||||
enum Specialization specialization = Specialization::Default,
|
||||
bool save_ = true, bool runtime_modifiable_ = false)
|
||||
requires(!ranged)
|
||||
: BasicSetting(linkage, name, category_, save_, runtime_modifiable_), value{default_val},
|
||||
default_value{default_val} {}
|
||||
: BasicSetting(linkage, name, category_, save_, runtime_modifiable_, specialization),
|
||||
value{default_val}, default_value{default_val} {}
|
||||
virtual ~Setting() = default;
|
||||
|
||||
/**
|
||||
@ -53,10 +55,11 @@ public:
|
||||
*/
|
||||
explicit Setting(Linkage& linkage, const Type& default_val, const Type& min_val,
|
||||
const Type& max_val, const std::string& name, enum Category category_,
|
||||
enum Specialization specialization = Specialization::Default,
|
||||
bool save_ = true, bool runtime_modifiable_ = false)
|
||||
requires(ranged)
|
||||
: BasicSetting(linkage, name, category_, save_, runtime_modifiable_), value{default_val},
|
||||
default_value{default_val}, maximum{max_val}, minimum{min_val} {}
|
||||
: BasicSetting(linkage, name, category_, save_, runtime_modifiable_, specialization),
|
||||
value{default_val}, default_value{default_val}, maximum{max_val}, minimum{min_val} {}
|
||||
|
||||
/**
|
||||
* Returns a reference to the setting's value.
|
||||
@ -230,10 +233,12 @@ public:
|
||||
* @param category_ Category of the setting AKA INI group
|
||||
*/
|
||||
explicit SwitchableSetting(Linkage& linkage, const Type& default_val, const std::string& name,
|
||||
Category category_, bool save_ = true,
|
||||
bool runtime_modifiable_ = false)
|
||||
Category category_,
|
||||
enum Specialization specialization = Specialization::Default,
|
||||
bool save_ = true, bool runtime_modifiable_ = false)
|
||||
requires(!ranged)
|
||||
: Setting<Type, false>{linkage, default_val, name, category_, save_, runtime_modifiable_} {
|
||||
: Setting<Type, false>{linkage, default_val, name, category_, specialization,
|
||||
save_, runtime_modifiable_} {
|
||||
linkage.restore_functions.emplace_back([this]() { this->SetGlobal(true); });
|
||||
}
|
||||
virtual ~SwitchableSetting() = default;
|
||||
@ -250,10 +255,12 @@ public:
|
||||
*/
|
||||
explicit SwitchableSetting(Linkage& linkage, const Type& default_val, const Type& min_val,
|
||||
const Type& max_val, const std::string& name, Category category_,
|
||||
enum Specialization specialization = Specialization::Default,
|
||||
bool save_ = true, bool runtime_modifiable_ = false)
|
||||
requires(ranged)
|
||||
: Setting<Type, true>{linkage, default_val, min_val, max_val,
|
||||
name, category_, save_, runtime_modifiable_} {
|
||||
: Setting<Type, true>{linkage, default_val, min_val,
|
||||
max_val, name, category_,
|
||||
specialization, save_, runtime_modifiable_} {
|
||||
linkage.restore_functions.emplace_back([this]() { this->SetGlobal(true); });
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user