45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
|
// Copyright 2021 Google LLC.
|
||
|
#ifndef Mouse_DEFINED
|
||
|
#define Mouse_DEFINED
|
||
|
#include <sstream>
|
||
|
#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
|