38#ifndef MOUSEGESTURERECOGNIZER_H
39#define MOUSEGESTURERECOGNIZER_H
60typedef enum {
Up,
Down,
Left,
Right,
AnyHorizontal,
AnyVertical,
UpLeft,
UpRight,
DownLeft,
DownRight,
NoMatch }
Direction;
80 Pos(
int ix,
int iy) :
x(ix),
y(iy) {}
103 bool recognizeGesture();
105 static PosList limitDirections(
const PosList &positions,
bool allowDiagnonals);
108 static int calcLength(
const PosList &positions);
virtual ~MouseGestureCallback()
virtual void callback()=0
MouseGestureRecognizer(int minimumMovement=5, double minimumMatch=0.9, bool allowDiagonals=false)
void clearGestureDefinitions()
bool endGesture(int x, int y)
void addGestureDefinition(const GestureDefinition &gesture)
void startGesture(int x, int y)
~MouseGestureRecognizer()
PosList currentPath() const
void addPoint(int x, int y)
std::vector< Pos > PosList
std::list< Direction > DirectionList
std::vector< GestureDefinition > GestureList
GestureDefinition(const DirectionList &d, MouseGestureCallback *c)
MouseGestureCallback * callbackClass