// Copyright 2016 Citra Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #include #include #include "core/settings.h" namespace ConfigurationShared { constexpr int USE_GLOBAL_INDEX = 0; constexpr int USE_GLOBAL_SEPARATOR_INDEX = 1; constexpr int USE_GLOBAL_OFFSET = 2; enum CheckState { Off, On, Global, Count, }; struct Trackers { CheckState use_frame_limit; CheckState use_multi_core; CheckState enable_audio_stretching; CheckState use_disk_shader_cache; CheckState use_asynchronous_gpu_emulation; CheckState use_vsync; CheckState use_assembly_shaders; CheckState use_fast_gpu_time; CheckState force_30fps_mode; } extern trackers; // Global-aware apply and set functions void ApplyPerGameSetting(Settings::Setting* setting, const QCheckBox* checkbox, const CheckState& tracker); void ApplyPerGameSetting(Settings::Setting* setting, const QCheckBox* checkbox); void ApplyPerGameSetting(Settings::Setting* setting, const QComboBox* combobox); void ApplyPerGameSetting(Settings::Setting* setting, const QComboBox* combobox); void ApplyPerGameSetting(Settings::Setting* setting, const QComboBox* combobox); void SetPerGameSetting(QCheckBox* checkbox, const Settings::Setting* setting); void SetPerGameSetting(QComboBox* combobox, const Settings::Setting* setting); void SetPerGameSetting(QComboBox* combobox, const Settings::Setting* setting); void SetPerGameSetting(QComboBox* combobox, const Settings::Setting* setting); void SetHighlight(QWidget* widget, const std::string& name, bool highlighted); void SetColoredTristate(QCheckBox* checkbox, const std::string& name, const Settings::Setting& setting, ConfigurationShared::CheckState& tracker); void InsertGlobalItem(QComboBox* combobox); void InsertGlobalItem(QComboBox* combobox, const QString& global); } // namespace ConfigurationShared