/* * 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 "Gesture.hpp" #include "Touch.hpp" #include "GestureInfos.hpp" #include "Base/Event.hpp" #include namespace OpenVulkano::Input { class GestureTap final : public Gesture { std::chrono::time_point m_startTime; float m_distance; Math::Vector2f m_initialPoint; std::map m_touchMap; TapInfo m_tapInfo; int GetTouchCount() const; public: GestureTap() : Gesture(TYPE_TAP) {} ~GestureTap() override = default; void Cancel() override; void Reset() override; void TouchDown(const Touch& touch) override; void TouchUp(const Touch& touch) override; void TouchMoved(const Touch& touch) override; Event OnTap; }; }