diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2024-01-10 05:26:29 +0100 |
|---|---|---|
| committer | Admiral H. Curtiss <pikachu025@gmail.com> | 2024-03-11 22:49:19 +0100 |
| commit | 617fcc3cf85ea723eec02ef9ce5c30983bb15cf8 (patch) | |
| tree | 6fb67f64104c8b7be4f6b488f902a6ea521ad1d3 /Source/Core/InputCommon/ControllerEmu/ControlGroup/IRPassthrough.cpp | |
| parent | c3903fcc7e281a488a26b7e6d7d739c794fa4676 (diff) | |
WiimoteEmu: Add user-accessible controls that report the desired state of the IR camera objects.
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup/IRPassthrough.cpp')
| -rw-r--r-- | Source/Core/InputCommon/ControllerEmu/ControlGroup/IRPassthrough.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Source/Core/InputCommon/ControllerEmu/ControlGroup/IRPassthrough.cpp b/Source/Core/InputCommon/ControllerEmu/ControlGroup/IRPassthrough.cpp new file mode 100644 index 0000000000..119f9bcb0e --- /dev/null +++ b/Source/Core/InputCommon/ControllerEmu/ControlGroup/IRPassthrough.cpp @@ -0,0 +1,51 @@ +// Copyright 2024 Dolphin Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "InputCommon/ControllerEmu/ControlGroup/IRPassthrough.h" + +#include <memory> +#include <string> + +#include "Common/Common.h" +#include "Common/MathUtil.h" + +#include "InputCommon/ControlReference/ControlReference.h" +#include "InputCommon/ControllerEmu/Control/Control.h" +#include "InputCommon/ControllerEmu/Control/Input.h" + +namespace ControllerEmu +{ +IRPassthrough::IRPassthrough(std::string name_, std::string ui_name_) + : ControlGroup(std::move(name_), std::move(ui_name_), GroupType::IRPassthrough, + ControlGroup::DefaultValue::Disabled) +{ + AddInput(Translatability::Translate, _trans("Object 1 X")); + AddInput(Translatability::Translate, _trans("Object 1 Y")); + AddInput(Translatability::Translate, _trans("Object 1 Size")); + AddInput(Translatability::Translate, _trans("Object 2 X")); + AddInput(Translatability::Translate, _trans("Object 2 Y")); + AddInput(Translatability::Translate, _trans("Object 2 Size")); + AddInput(Translatability::Translate, _trans("Object 3 X")); + AddInput(Translatability::Translate, _trans("Object 3 Y")); + AddInput(Translatability::Translate, _trans("Object 3 Size")); + AddInput(Translatability::Translate, _trans("Object 4 X")); + AddInput(Translatability::Translate, _trans("Object 4 Y")); + AddInput(Translatability::Translate, _trans("Object 4 Size")); +} + +ControlState IRPassthrough::GetObjectPositionX(size_t object_index) const +{ + return controls[object_index * 3 + 0]->GetState(); +} + +ControlState IRPassthrough::GetObjectPositionY(size_t object_index) const +{ + return controls[object_index * 3 + 1]->GetState(); +} + +ControlState IRPassthrough::GetObjectSize(size_t object_index) const +{ + return controls[object_index * 3 + 2]->GetState(); +} + +} // namespace ControllerEmu |
