1cb93a386Sopenharmony_ci// Copyright 2021 Google LLC. 2cb93a386Sopenharmony_ci#ifndef Mouse_DEFINED 3cb93a386Sopenharmony_ci#define Mouse_DEFINED 4cb93a386Sopenharmony_ci#include <sstream> 5cb93a386Sopenharmony_ci#include "experimental/sktext/editor/Defaults.h" 6cb93a386Sopenharmony_ci#include "experimental/sktext/include/Text.h" 7cb93a386Sopenharmony_ci#include "experimental/sktext/include/Types.h" 8cb93a386Sopenharmony_ci#include "experimental/sktext/src/Paint.h" 9cb93a386Sopenharmony_ci#include "include/core/SkCanvas.h" 10cb93a386Sopenharmony_ci#include "include/core/SkSurface.h" 11cb93a386Sopenharmony_ci#include "include/core/SkTime.h" 12cb93a386Sopenharmony_ci#include "tools/sk_app/Application.h" 13cb93a386Sopenharmony_ci#include "tools/sk_app/Window.h" 14cb93a386Sopenharmony_ci#include "tools/skui/ModifierKey.h" 15cb93a386Sopenharmony_ci 16cb93a386Sopenharmony_cinamespace skia { 17cb93a386Sopenharmony_cinamespace editor { 18cb93a386Sopenharmony_ci 19cb93a386Sopenharmony_ciusing namespace skia::text; 20cb93a386Sopenharmony_ci 21cb93a386Sopenharmony_ciclass Mouse { 22cb93a386Sopenharmony_ci const SkMSec MAX_DBL_TAP_INTERVAL = 300; 23cb93a386Sopenharmony_ci const float MAX_DBL_TAP_DISTANCE = 100; 24cb93a386Sopenharmony_cipublic: 25cb93a386Sopenharmony_ci Mouse() : fMouseDown(false), fLastTouchPoint(), fLastTouchTime() { } 26cb93a386Sopenharmony_ci 27cb93a386Sopenharmony_ci void down(); 28cb93a386Sopenharmony_ci void up(); 29cb93a386Sopenharmony_ci void clearTouchInfo() { 30cb93a386Sopenharmony_ci fLastTouchPoint = SkPoint::Make(0, 0); 31cb93a386Sopenharmony_ci fLastTouchTime = 0.0; 32cb93a386Sopenharmony_ci } 33cb93a386Sopenharmony_ci bool isDown() { return fMouseDown; } 34cb93a386Sopenharmony_ci bool isDoubleClick(SkPoint touch); 35cb93a386Sopenharmony_ci 36cb93a386Sopenharmony_ciprivate: 37cb93a386Sopenharmony_ci bool fMouseDown; 38cb93a386Sopenharmony_ci SkPoint fLastTouchPoint; 39cb93a386Sopenharmony_ci double fLastTouchTime; 40cb93a386Sopenharmony_ci}; 41cb93a386Sopenharmony_ci 42cb93a386Sopenharmony_ci} // namespace editor 43cb93a386Sopenharmony_ci} // namespace skia 44cb93a386Sopenharmony_ci#endif // Mouse_DEFINED 45