dolphin/Source/Core/InputCommon/ControllerEmu/ControlGroup/ModifySettingsButton.h
Pierre Bourdon e149ad4f0a
treewide: convert GPLv2+ license info to SPDX tags
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.
2021-07-05 04:35:56 +02:00

30 lines
822 B
C++

// Copyright 2017 Dolphin Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <string>
#include <vector>
#include "InputCommon/ControllerEmu/ControlGroup/Buttons.h"
namespace ControllerEmu
{
class ModifySettingsButton : public Buttons
{
public:
explicit ModifySettingsButton(std::string button_name);
void AddInput(std::string button_name, bool toggle = false);
void UpdateState();
const std::vector<bool>& IsSettingToggled() const;
const std::vector<bool>& GetSettingsModifier() const;
private:
std::vector<bool> m_threshold_exceeded; // internal calculation (if "state" was above threshold)
std::vector<bool> m_associated_settings_toggle; // is setting toggled or hold?
std::vector<bool> m_associated_settings; // result
};
} // namespace ControllerEmu