Home | History | Annotate | Download | only in gestures
      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 
      8 digraph G {
      9 ratio = 1;
     10 
     11 legend[label = "{   \
     12 M : Move          \l\
     13 D : Down          \l\
     14 S : Stationary    \l\
     15 C : Cancel        \l\
     16 R : Release       \l\
     17 M_Delay : Move after a certain delay}"
     18 shape = record]
     19 
     20 subgraph none_pending {
     21 GS_NO_GESTURE ->  GS_PENDING_SYNTHETIC_CLICK [label= "D0"];
     22 GS_PENDING_SYNTHETIC_CLICK ->  GS_SCROLL [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"];
     25 }
     26 
     27 GS_SCROLL ->  GS_SCROLL [label= "M0"];
     28 GS_SCROLL ->  GS_NO_GESTURE [label= "C0\n R0\n"];
     29 GS_PENDING_SYNTHETIC_CLICK ->  GS_PENDING_TWO_FINGER_TAP [label= "D1"];
     30 GS_SCROLL ->  GS_PENDING_TWO_FINGER_TAP [label= "D1"];
     31 GS_PENDING_TWO_FINGER_TAP -> GS_PINCH [label= "M0\n M1"];
     32 GS_PENDING_TWO_FINGER_TAP -> GS_PINCH [label= "M_Delay0\n M_Delay1"];
     33 GS_PENDING_TWO_FINGER_TAP -> GS_PINCH [label= "D2"];
     34 GS_PENDING_TWO_FINGER_TAP -> GS_SCROLL [label= "R0\n R1\n C0\n C1"];
     35 GS_PINCH ->  GS_PINCH [label= "M0\n M1"];
     36 GS_PINCH ->  GS_SCROLL [label= "C0\n R0\n C1\n R1"];
     37 
     38 GS_PINCH -> GS_PENDING_THREE_FINGER_SWIPE [label= "D2"];
     39 GS_PENDING_THREE_FINGER_SWIPE -> GS_PINCH [label= "C0\n R0\n C1\n R1\n C2\n R2"];
     40 GS_PENDING_THREE_FINGER_SWIPE -> GS_PENDING_THREE_FINGER_SWIPE [label= "M0\n M1\n M2"];
     41 }
     42