common/input: Add helpers functions for creating input and output devices

Avoids the redundancy of needing to explictly specify the common
namespace and the type.
This commit is contained in:
Lioncash
2022-11-28 09:19:01 -05:00
parent 7f42432f42
commit 2ec7d0b5fd
7 changed files with 102 additions and 90 deletions

View File

@ -69,8 +69,7 @@ private:
std::unique_ptr<Common::Input::InputDevice> TouchFromButton::Create(
const Common::ParamPackage& params) {
const std::string null_engine = Common::ParamPackage{{"engine", "null"}}.Serialize();
auto button = Common::Input::CreateDeviceFromString<Common::Input::InputDevice>(
params.Get("button", null_engine));
auto button = Common::Input::CreateInputDeviceFromString(params.Get("button", null_engine));
const float x = params.Get("x", 0.0f) / 1280.0f;
const float y = params.Get("y", 0.0f) / 720.0f;
return std::make_unique<TouchFromButtonDevice>(std::move(button), x, y);