I got the example in this link.
I can't understand the addmove
, costLeven
and meatureGesture
methods.
Can you explain it step by step?
I got the example in this link.
I can't understand the addmove
, costLeven
and meatureGesture
methods.
Can you explain it step by step?
Take a look at the algorithm on this page because it contains the original code this was derived from.
Here's my summary of what the functions do:
addmove: First it decides if the mouse/pointer has moved far enough to count as a new position to be recorded. If it has, then it determines which of the 8-directions the move is in and adds that to the list of moves.
costLeven: computes the Levenshtein distance between two sequences. In this case it is used to measure the distance between each predefined gesture sequence and the gesture sequence input by the user. It basically is used to figure out which letter is the best choice to output based on the input gesture. A small Levenshtein distance indicates a better match.
matchGesture(closest to meatureGesture): Takes the gesture input by the user and checks it against all predefined gestures to find the best match based on the Levenshtein distance. If there is a match that is close enough, then the key of the best-matched predefined gesture is passed to onGestureListener.onGesture() which triggers some action. In this case it outputs a letter to the screen.