// Copyright 2021 yuzu Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included #include "common/param_package.h" #include "input_common/drivers/touch_screen.h" namespace InputCommon { TouchScreen::TouchScreen(const std::string input_engine_) : InputEngine(input_engine_) { PreSetController(identifier); } void TouchScreen::TouchMoved(float x, float y, std::size_t finger) { if (finger >= 16) { return; } TouchPressed(x, y, finger); } void TouchScreen::TouchPressed(float x, float y, std::size_t finger) { if (finger >= 16) { return; } SetButton(identifier, static_cast(finger), true); SetAxis(identifier, static_cast(finger * 2), x); SetAxis(identifier, static_cast(finger * 2 + 1), y); } void TouchScreen::TouchReleased(std::size_t finger) { if (finger >= 16) { return; } SetButton(identifier, static_cast(finger), false); SetAxis(identifier, static_cast(finger * 2), 0.0f); SetAxis(identifier, static_cast(finger * 2 + 1), 0.0f); } void TouchScreen::ReleaseAllTouch() { for (int index = 0; index < 16; ++index) { SetButton(identifier, index, false); SetAxis(identifier, index * 2, 0.0f); SetAxis(identifier, index * 2 + 1, 0.0f); } } } // namespace InputCommon