// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later // SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include "common/common_types.h" #include "common/settings_setting.h" #include "common/settings_enums.h" namespace AndroidSettings { struct GameDir { std::string path; bool deep_scan = false; }; struct OverlayControlData { std::string id; bool enabled; std::pair landscape_position; std::pair portrait_position; std::pair foldable_position; float individual_scale; }; struct Values { Settings::Linkage linkage; // Path settings std::vector game_dirs; // Android Settings::Setting picture_in_picture{linkage, false, "picture_in_picture", Settings::Category::Android}; Settings::Setting screen_layout{linkage, 5, "screen_layout", Settings::Category::Android, Settings::Specialization::Default, true, true}; Settings::Setting vertical_alignment{linkage, 0, "vertical_alignment", Settings::Category::Android, Settings::Specialization::Default, true, true}; Settings::SwitchableSetting driver_path{linkage, "", "driver_path", Settings::Category::GpuDriver}; Settings::Setting theme{linkage, 0, "theme", Settings::Category::Android}; Settings::Setting theme_mode{linkage, -1, "theme_mode", Settings::Category::Android}; Settings::Setting static_theme_color{linkage, 0, "static_theme_color", Settings::Category::Android}; Settings::Setting black_backgrounds{linkage, false, "black_backgrounds", Settings::Category::Android}; Settings::Setting app_language{linkage, 0, "app_language", Settings::Category::Android}; Settings::Setting enable_update_checks{linkage, true, "enable_update_checks", Settings::Category::Android}; Settings::Setting enable_folder_button{linkage, true, "enable_folder_button", Settings::Category::Android}; Settings::Setting enable_qlaunch_button{linkage, false, "enable_qlaunch_button", Settings::Category::Android}; Settings::Setting invert_confirm_back_controller_buttons{ linkage, false, "invert_confirm_back_controller_buttons", Settings::Category::Android}; // Input/performance overlay settings std::vector overlay_control_data; Settings::Setting overlay_scale{linkage, 50, "control_scale", Settings::Category::Overlay}; Settings::Setting overlay_opacity{linkage, 100, "control_opacity", Settings::Category::Overlay}; Settings::Setting joystick_rel_center{linkage, true, "joystick_rel_center", Settings::Category::Overlay}; Settings::Setting dpad_slide{linkage, true, "dpad_slide", Settings::Category::Overlay}; Settings::Setting haptic_feedback{linkage, true, "haptic_feedback", Settings::Category::Overlay}; Settings::Setting show_performance_overlay{linkage, true, "show_performance_overlay", Settings::Category::Overlay, Settings::Specialization::Paired, true, true}; Settings::Setting enable_input_overlay_auto_hide{linkage, false, "enable_input_overlay_auto_hide", Settings::Category::Overlay, Settings::Specialization::Default, true, true,}; Settings::Setting input_overlay_auto_hide{linkage, 5, "input_overlay_auto_hide", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &enable_input_overlay_auto_hide}; Settings::Setting hide_overlay_on_controller_input{linkage, true, "hide_overlay_on_controller_input", Settings::Category::Overlay, Settings::Specialization::Default, true, true}; Settings::Setting perf_overlay_background{linkage, false, "perf_overlay_background", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_performance_overlay}; Settings::Setting perf_overlay_position{linkage, 0, "perf_overlay_position", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_performance_overlay}; Settings::Setting show_fps{linkage, true, "show_fps", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_performance_overlay}; Settings::Setting show_frame_time{linkage, false, "show_frame_time", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_performance_overlay}; Settings::Setting show_app_ram_usage{linkage, false, "show_app_ram_usage", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_performance_overlay}; Settings::Setting show_system_ram_usage{linkage, false, "show_system_ram_usage", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_performance_overlay}; Settings::Setting show_bat_temperature{linkage, false, "show_bat_temperature", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_performance_overlay}; Settings::Setting bat_temperature_unit{linkage, Settings::TemperatureUnits::Celsius, "bat_temperature_unit", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_bat_temperature}; Settings::Setting show_power_info{linkage, false, "show_power_info", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_performance_overlay}; Settings::Setting show_shaders_building{linkage, true, "show_shaders_building", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_performance_overlay}; Settings::SwitchableSetting pipeline_worker_count{linkage, 2, "pipeline_worker_count", Settings::Category::Android, Settings::Specialization::Default, true, true}; Settings::Setting show_input_overlay{linkage, true, "show_input_overlay", Settings::Category::Overlay}; Settings::Setting overlay_snap_to_grid{linkage, false, "overlay_snap_to_grid", Settings::Category::Overlay}; Settings::Setting overlay_grid_size{linkage, 32, "overlay_grid_size", Settings::Category::Overlay}; Settings::Setting touchscreen{linkage, true, "touchscreen", Settings::Category::Overlay}; Settings::Setting lock_drawer{linkage, false, "lock_drawer", Settings::Category::Overlay}; /// DEVICE/SOC OVERLAY Settings::Setting show_soc_overlay{linkage, true, "show_soc_overlay", Settings::Category::Overlay, Settings::Specialization::Paired, true, true}; Settings::Setting show_build_id{linkage, true, "show_build_id", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_performance_overlay}; Settings::Setting show_driver_version{linkage, true, "show_driver_version", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_performance_overlay}; Settings::Setting show_device_model{linkage, true, "show_device_model", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_performance_overlay}; Settings::Setting show_gpu_model{linkage, true, "show_gpu_model", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_performance_overlay}; Settings::Setting show_soc_model{linkage, true, "show_soc_model", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_soc_overlay}; Settings::Setting show_fw_version{linkage, true, "show_firmware_version", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_performance_overlay}; Settings::Setting soc_overlay_background{linkage, false, "soc_overlay_background", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_soc_overlay}; Settings::Setting soc_overlay_position{linkage, 2, "soc_overlay_position", Settings::Category::Overlay, Settings::Specialization::Default, true, true, &show_soc_overlay}; // MISC Settings::Setting dont_show_driver_shader_warning{linkage, false, "dont_show_driver_shader_warning", Settings::Category::Android, Settings::Specialization::Default, true, true}; Settings::Setting enable_quick_settings{linkage, true, "enable_quick_settings", Settings::Category::Android, Settings::Specialization::Default, true, false}; }; extern Values values; } // namespace AndroidSettings