// Copyright 2021 Google LLC. #ifndef Mouse_DEFINED #define Mouse_DEFINED #include #include "experimental/sktext/editor/Defaults.h" #include "experimental/sktext/include/Text.h" #include "experimental/sktext/include/Types.h" #include "experimental/sktext/src/Paint.h" #include "include/core/SkCanvas.h" #include "include/core/SkSurface.h" #include "include/core/SkTime.h" #include "tools/sk_app/Application.h" #include "tools/sk_app/Window.h" #include "tools/skui/ModifierKey.h" namespace skia { namespace editor { using namespace skia::text; class Mouse { const SkMSec MAX_DBL_TAP_INTERVAL = 300; const float MAX_DBL_TAP_DISTANCE = 100; public: Mouse() : fMouseDown(false), fLastTouchPoint(), fLastTouchTime() { } void down(); void up(); void clearTouchInfo() { fLastTouchPoint = SkPoint::Make(0, 0); fLastTouchTime = 0.0; } bool isDown() { return fMouseDown; } bool isDoubleClick(SkPoint touch); private: bool fMouseDown; SkPoint fLastTouchPoint; double fLastTouchTime; }; } // namespace editor } // namespace skia #endif // Mouse_DEFINED