From 9427e27e24a7135880ee2881c3c44988e174b41a Mon Sep 17 00:00:00 2001 From: Zephyron Date: Tue, 31 Dec 2024 16:19:25 +1000 Subject: chore: update project branding to citron --- src/citron/configuration/configure_vibration.h | 51 ++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/citron/configuration/configure_vibration.h (limited to 'src/citron/configuration/configure_vibration.h') diff --git a/src/citron/configuration/configure_vibration.h b/src/citron/configuration/configure_vibration.h new file mode 100644 index 000000000..e9d05df51 --- /dev/null +++ b/src/citron/configuration/configure_vibration.h @@ -0,0 +1,51 @@ +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include +#include + +class QGroupBox; +class QSpinBox; + +namespace Ui { +class ConfigureVibration; +} + +namespace Core::HID { +enum class ControllerTriggerType; +class HIDCore; +} // namespace Core::HID + +class ConfigureVibration : public QDialog { + Q_OBJECT + +public: + explicit ConfigureVibration(QWidget* parent, Core::HID::HIDCore& hid_core_); + ~ConfigureVibration() override; + + void ApplyConfiguration(); + +private: + void changeEvent(QEvent* event) override; + void RetranslateUI(); + void VibrateController(Core::HID::ControllerTriggerType type, std::size_t player_index); + void StopVibrations(); + + std::unique_ptr ui; + + static constexpr std::size_t NUM_PLAYERS = 8; + + /// Groupboxes encapsulating the vibration strength spinbox. + std::array vibration_groupboxes; + + /// Spinboxes representing the vibration strength percentage. + std::array vibration_spinboxes; + + /// Callback index to stop the controllers events + std::array controller_callback_key; + + Core::HID::HIDCore& hid_core; +}; -- cgit v1.2.3