summaryrefslogtreecommitdiffstats
path: root/layout/base/doc/AccessibleCaretEventHubStates.dot
blob: 11a5af15c8db461188aaa28306919eec2d4ad9d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Steps to generate AccessibleCaretEventHubStates.png
// 1. Install Graphviz
// 2. dot -T png -o AccessibleCaretEventHubStates.png AccessibleCaretEventHubStates.dot
//
// Note: If the edge has 'constraint=false', it is not used in ranking the
// nodes. http://www.graphviz.org/doc/info/attrs.html#d:constraint

digraph event_hub_states {
  node [style=filled];
  edge [color="gray30", fontcolor="gray20", fontsize=12]

  NoAction [label="NoAction\n(Initial)"color="#96FF2F"];
  NoAction -> PressCaret [label="Press & on a caret"];
  NoAction -> PressNoCaret [label="Press & not on a caret"];
  NoAction -> Scroll [label="Scroll start"];

  PressCaret [color="#84D8FF"];
  PressCaret -> DragCaret [label="Move & distance is large"];
  PressCaret -> NoAction [label="Release (synthesizing a tap)"];

  DragCaret [color="#84D8FF"];
  DragCaret -> DragCaret [label="Move"];
  DragCaret -> NoAction [label="Release"];

  PressNoCaret [color="#E8C516"];
  PressNoCaret -> NoAction [label="Move & distance is large or\nRelease or\nBlur"];
  PressNoCaret -> LongTap [label="Long tap"];
  PressNoCaret -> Scroll [label="Scroll start", constraint=false];

  LongTap [color="#E8C516"]
  LongTap -> NoAction [label="Release"];
  LongTap -> Scroll [label="Scroll start", constraint=false];

  Scroll [color="#FF9022"]
  Scroll -> PostScroll [label="Scroll end"];
  Scroll -> NoAction [label="Blur"];

  PostScroll [color="#FF9022"]
  PostScroll -> Scroll [label="Scroll start"];
  PostScroll -> NoAction [label="Blur or\nWait 300ms"];
  PostScroll -> NoAction [label="Press (forward to NoAction)", constraint=false];
}