// 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 -> NoAction [label="Scroll end"]; Scroll -> NoAction [label="Blur"]; }