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