|
|
@@ -103,7 +103,6 @@
|
|
|
\end{figure}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
\newcommand{\trackerdiagram}[1]{
|
|
|
\begin{figure}[H]
|
|
|
\label{fig:trackerdiagram}
|
|
|
@@ -125,54 +124,32 @@
|
|
|
\end{figure}
|
|
|
}
|
|
|
|
|
|
-\newcommand{\examplediagrams}{
|
|
|
+\newcommand{\examplediagram}[1]{
|
|
|
\begin{figure}[H]
|
|
|
- \hspace{-2.3em}
|
|
|
- \subfigure[Architecture using a single widget, demonstration gesture
|
|
|
- delegation from the widget to the application. Dotted arrows
|
|
|
- represent gestures, regular arrows represent events (unless
|
|
|
- labeled otherwise).]{
|
|
|
- \architecture{
|
|
|
- \node[block, below of=driver] (eventdriver) {Event driver}
|
|
|
- edge[linefrom] node[right, near end] {driver-specific messages} (driver);
|
|
|
- \node[block, below of=eventdriver] (widget) {Widget}
|
|
|
- edge[linefrom] (eventdriver);
|
|
|
- \node[block, right of=widget, xshift=5em] (tracker) {Gesture tracker}
|
|
|
- edge[lineto, dotted, bend left=10] (widget)
|
|
|
- edge[linefrom, bend right=10] (widget);
|
|
|
- \node[block, below of=widget] {Application}
|
|
|
- edge[linefrom, dotted] node[right, near start] {delegation} (widget);
|
|
|
-
|
|
|
- \group{eventdriver}{eventdriver}{tracker}{tracker}{Architecture}
|
|
|
- }
|
|
|
- }
|
|
|
- \hspace{1.5em}
|
|
|
- \subfigure[Architecture using a sub widget, demonstrating gesture
|
|
|
- propagation. Dotted arrows represent gestures, regular arrows
|
|
|
- represent events (unless labeled otherwise).]{
|
|
|
- \architecture{
|
|
|
- \node[block, below of=driver] (eventdriver) {Event driver}
|
|
|
- edge[linefrom] node[right, near end] {driver-specific messages} (driver);
|
|
|
+ \center
|
|
|
+ \architecture{
|
|
|
+ \node[block, below of=driver] (eventdriver) {Event driver}
|
|
|
+ edge[linefrom] node[right, near end] {driver-specific messages} (driver);
|
|
|
|
|
|
- \node[block, below of=eventdriver] (rootwidget) {Root widget}
|
|
|
- edge[linefrom] (eventdriver);
|
|
|
+ \node[block, below of=eventdriver] (rootwidget) {Root widget}
|
|
|
+ edge[linefrom] (eventdriver);
|
|
|
|
|
|
- \node[block, below of=rootwidget] (subwidget) {Sub widget}
|
|
|
- edge[linefrom] (rootwidget)
|
|
|
- edge[lineto, bend right=45] node[right=3] {propagation} (rootwidget);
|
|
|
- \node[block, right of=rootwidget, xshift=5em] {Gesture tracker}
|
|
|
- edge[lineto, dotted, bend left=10] (rootwidget)
|
|
|
- edge[linefrom, bend right=10] (rootwidget);
|
|
|
+ \node[block, below of=rootwidget] (subwidget) {Button widget}
|
|
|
+ edge[linefrom] (rootwidget)
|
|
|
+ edge[lineto, bend right=45] node[right=3] {event propagation} (rootwidget);
|
|
|
+ \node[block, right of=rootwidget, xshift=5em] {\emph{pinch} tracker}
|
|
|
+ edge[lineto, dotted, bend left=10] (rootwidget)
|
|
|
+ edge[linefrom, bend right=10] (rootwidget);
|
|
|
|
|
|
- \node[block, right of=subwidget, xshift=5em] (tracker) {Gesture tracker}
|
|
|
- edge[lineto, dotted, bend left=10] (subwidget)
|
|
|
- edge[linefrom, bend right=10] (subwidget);
|
|
|
- \node[block, below of=subwidget, yshift=-.5em] {Application}
|
|
|
- edge[linefrom, dotted, bend left=60] (rootwidget)
|
|
|
- edge[linefrom, dotted] (subwidget);
|
|
|
+ \node[block, right of=subwidget, xshift=5em] (tracker) {\emph{tap} tracker}
|
|
|
+ edge[lineto, dotted, bend left=10] (subwidget)
|
|
|
+ edge[linefrom, bend right=10] (subwidget);
|
|
|
+ \node[block, below of=subwidget, yshift=-.5em] {Application}
|
|
|
+ edge[linefrom, dotted, bend left=60] (rootwidget)
|
|
|
+ edge[linefrom, dotted] (subwidget);
|
|
|
|
|
|
- \group{subwidget}{eventdriver}{tracker}{subwidget}{Architecture}
|
|
|
- }
|
|
|
+ \group{subwidget}{eventdriver}{tracker}{subwidget}{Architecture}
|
|
|
}
|
|
|
+ \caption{#1}
|
|
|
\end{figure}
|
|
|
}
|