mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-27 08:15:33 +01:00
e149ad4f0a
SPDX standardizes how source code conveys its copyright and licensing information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX tags are adopted in many large projects, including things like the Linux kernel.
41 lines
795 B
C++
41 lines
795 B
C++
// Copyright 2020 Dolphin Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
// IMPORTANT: UI etc should modify the value returned by FreeLook::GetConfig().
|
|
// Free Look code should read from the value returned by FreeLook::GetActiveConfig().
|
|
// The reason for this is to get rid of race conditions etc when the
|
|
// configuration changes in the middle of a frame.
|
|
|
|
#pragma once
|
|
|
|
namespace FreeLook
|
|
{
|
|
enum class ControlType : int
|
|
{
|
|
SixAxis,
|
|
FPS,
|
|
Orbital
|
|
};
|
|
|
|
struct CameraConfig
|
|
{
|
|
ControlType control_type;
|
|
};
|
|
|
|
// NEVER inherit from this class.
|
|
struct Config final
|
|
{
|
|
Config();
|
|
void Refresh();
|
|
|
|
CameraConfig camera_config;
|
|
bool enabled;
|
|
};
|
|
|
|
Config& GetConfig();
|
|
const Config& GetActiveConfig();
|
|
|
|
// Called every frame.
|
|
void UpdateActiveConfig();
|
|
} // namespace FreeLook
|