• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// A diagram of the state machine found in gesture_sequence.cc
2// To generate a pdf:
3// dot -Tpdf -ooutput.pdf gestures.dot
4//
5// If you alter this diagram, please update:
6// sites.google.com/a/chromium.org/dev/developers/design-documents/aura/gesture-recognizer
7
8digraph G {
9ratio = 1;
10
11legend[label = "{   \
12M : Move          \l\
13D : Down          \l\
14S : Stationary    \l\
15C : Cancel        \l\
16R : Release       \l\
17M_Delay : Move after a certain delay}"
18shape = record]
19
20GS_NO_GESTURE ->  GS_PENDING_SYNTHETIC_CLICK [label= "D0"];
21
22GS_PENDING_SYNTHETIC_CLICK -> GS_SCROLL [label= "M0\n S0"];
23GS_PENDING_SYNTHETIC_CLICK -> GS_PENDING_SYNTHETIC_CLICK [label= "M0\n S0"];
24GS_PENDING_SYNTHETIC_CLICK -> GS_NO_GESTURE [label= "C0\n R0"];
25GS_PENDING_SYNTHETIC_CLICK -> GS_PENDING_SYNTHETIC_CLICK_NO_SCROLL [label= "M0"];
26GS_PENDING_SYNTHETIC_CLICK -> GS_PENDING_TWO_FINGER_TAP [label= "D1"];
27GS_PENDING_SYNTHETIC_CLICK -> GS_PENDING_PINCH [label= "D1"];
28
29GS_PENDING_SYNTHETIC_CLICK_NO_SCROLL -> GS_PENDING_SYNTHETIC_CLICK_NO_SCROLL [label= "M0\n S0"];
30GS_PENDING_SYNTHETIC_CLICK_NO_SCROLL -> GS_NO_GESTURE [label= "C0\n R0"];
31GS_PENDING_SYNTHETIC_CLICK_NO_SCROLL -> GS_PENDING_TWO_FINGER_TAP [label= "D1"];
32GS_PENDING_SYNTHETIC_CLICK_NO_SCROLL -> GS_PENDING_PINCH [label= "D1"];
33
34GS_SCROLL -> GS_SCROLL [label= "M0"];
35GS_SCROLL -> GS_NO_GESTURE [label= "C0\n R0\n"];
36GS_SCROLL -> GS_PENDING_TWO_FINGER_TAP [label= "D1"];
37
38GS_PENDING_PINCH -> GS_PENDING_PINCH [label= "M0\n M1"];
39GS_PENDING_PINCH -> GS_PENDING_PINCH_NO_PINCH [label= "M0\n M1"];
40GS_PENDING_PINCH -> GS_PINCH [label= "M0\n M1"];
41GS_PENDING_PINCH -> GS_SCROLL [label= "R0\n R1\n C0\n C1"];
42
43GS_PENDING_PINCH_NO_PINCH -> GS_PENDING_PINCH_NO_PINCH [label= "M0\n M1"];
44GS_PENDING_PINCH_NO_PINCH -> GS_SCROLL [label= "R0\n R1\n C0\n C1"];
45
46GS_PENDING_TWO_FINGER_TAP -> GS_PENDING_TWO_FINGER_TAP [label= "M0\n M1"];
47GS_PENDING_TWO_FINGER_TAP -> GS_PENDING_TWO_FINGER_TAP_NO_PINCH [label= "M0\n M1"];
48GS_PENDING_TWO_FINGER_TAP -> GS_PINCH [label= "M0\n M1"];
49GS_PENDING_TWO_FINGER_TAP -> GS_PINCH [label= "M_Delay0\n M_Delay1"];
50GS_PENDING_TWO_FINGER_TAP -> GS_PINCH [label= "D2"];
51GS_PENDING_TWO_FINGER_TAP -> GS_SCROLL [label= "R0\n R1\n C0\n C1"];
52
53GS_PENDING_TWO_FINGER_TAP_NO_PINCH -> GS_PENDING_TWO_FINGER_TAP_NO_PINCH [label= "M0\n M1"];
54GS_PENDING_TWO_FINGER_TAP_NO_PINCH -> GS_SCROLL [label= "R0\n R1\n C0\n C1"];
55
56GS_PINCH -> GS_PINCH [label= "M0\n M1"];
57GS_PINCH -> GS_SCROLL [label= "C0\n R0\n C1\n R1"];
58GS_PINCH -> GS_PENDING_THREE_FINGER_SWIPE [label= "D2"];
59
60GS_PENDING_THREE_FINGER_SWIPE -> GS_PINCH [label= "C0\n R0\n C1\n R1\n C2\n R2"];
61GS_PENDING_THREE_FINGER_SWIPE -> GS_PENDING_THREE_FINGER_SWIPE [label= "M0\n M1\n M2"];
62}