suyu/src/input_common/sdl/sdl.h

52 lines
1.2 KiB
C++
Raw Normal View History

// Copyright 2018 Citra Emulator Project
2017-01-21 16:33:48 +01:00
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include <memory>
#include <vector>
#include "common/param_package.h"
#include "input_common/main.h"
2017-01-21 16:33:48 +01:00
namespace InputCommon::Polling {
class DevicePoller;
enum class DeviceType;
} // namespace InputCommon::Polling
namespace InputCommon::SDL {
class State {
public:
using Pollers = std::vector<std::unique_ptr<Polling::DevicePoller>>;
/// Unregisters SDL device factories and shut them down.
virtual ~State() = default;
virtual Pollers GetPollers(Polling::DeviceType) {
return {};
}
virtual std::vector<Common::ParamPackage> GetInputDevices() {
return {};
}
virtual ButtonMapping GetButtonMappingForDevice(const Common::ParamPackage&) {
return {};
}
virtual AnalogMapping GetAnalogMappingForDevice(const Common::ParamPackage&) {
return {};
}
2021-04-26 01:03:57 +02:00
virtual MotionMapping GetMotionMappingForDevice(const Common::ParamPackage&) {
return {};
}
};
class NullState : public State {
public:
};
std::unique_ptr<State> Init();
} // namespace InputCommon::SDL