summaryrefslogtreecommitdiffstats
path: root/layout/base/doc/AccessibleCaretEventHubStates.dot
diff options
context:
space:
mode:
Diffstat (limited to 'layout/base/doc/AccessibleCaretEventHubStates.dot')
-rw-r--r--layout/base/doc/AccessibleCaretEventHubStates.dot42
1 files changed, 42 insertions, 0 deletions
diff --git a/layout/base/doc/AccessibleCaretEventHubStates.dot b/layout/base/doc/AccessibleCaretEventHubStates.dot
new file mode 100644
index 000000000..11a5af15c
--- /dev/null
+++ b/layout/base/doc/AccessibleCaretEventHubStates.dot
@@ -0,0 +1,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];
+}