Commit f39c98e4 authored by Taddeüs Kroes's avatar Taddeüs Kroes

Restructured section about event areas.

parent 32a381b9
......@@ -121,21 +121,20 @@
\architecture{
\node[block, below of=driver] (eventdriver) {Event driver}
edge[linefrom] node[right, near end] {driver-specific messages} (driver);
\node[block, below of=eventdriver] (area) {Areas}
\node[block, below of=eventdriver] (area) {Event areas}
edge[linefrom] node[right] {events} (eventdriver);
\node[block, right of=area, xshift=7em, dashed] (analysis) {Gesture detection}
edge[linefrom, bend right=10] node[above] {events} (area)
edge[lineto, bend left=10] node[] {gestures} (area);
\node[block, below of=area] {Application}
edge[linefrom] node[right, near start] {gestures} (area);
edge[linefrom] node[right, near start] {gestures through callback function} (area);
\group{eventdriver}{eventdriver}{analysis}{area}{Architecture}
}
\caption{Extension of the diagram from figure \ref{fig:driverdiagram},
showing the position of areas in the architecture. An area delegate
events to a gesture detection component that trigger gestures. The area
then calls the handler that is bound to the gesture type by the
application.}
with event areas. An event area delegates events to a gesture detection
component that triggers a gesture. The event area then calls the
handlers that are bound to the gesture type by the application.}
\label{fig:areadiagram}
\end{figure}
}
......@@ -210,7 +209,7 @@
\def\righthand{\reflectbox{\includegraphics[width=50pt, angle=-45]{data/hand.png}}}
\def\examplefigureone{
\begin{figure}[h]
\begin{figure}[h!]
\center
% TODO: draw finger touch points as circles with rotating arrow
\begin{tikzpicture}
......@@ -259,11 +258,11 @@
\def\eventpropagationfigure{
\begin{figure}[h!]
\center
\vspace{-2em}
\subfigure[An event is triggered in the white area. The event is first
delegated to the white area from te gray area (2). After gesture
detection, it is propagated back to the gray area (6) \emph{unless}
propagation has been stopped in the gesture tracker between (3) and (4).]{
propagation has been stopped in the rotation detection component
between (3) and (4).]{
\begin{tikzpicture}[node distance=5.5em]
\draw node[draw=black, minimum width=190, minimum height=140] (screen) at (0,0) {};
\draw node[fill=gray!50, draw=black!70, minimum height=100, minimum width=100] (screen) at (-0.1,-0.1) {};
......@@ -271,15 +270,15 @@
\fill (0.4, 0.6) circle (0.15);
\draw node[block, yshift=-10em, xshift=-3em] (driver) {Event driver};
\draw node[block, below of=driver] (gray) {Gray area}
\draw node[block, below of=driver] (gray) {Gray event area}
edge[linefrom] node[left] {1} (driver);
\draw node[block, below of=gray] (white) {White area}
\draw node[block, below of=gray] (white) {White event area}
edge[linefrom, bend left=15] node[left] {2} (gray)
edge[lineto, bend right=15] node[right] {6} (gray);
\draw node[block, right of=white, xshift=4em] {\emph{rotation} tracker}
\draw node[block, right of=white, xshift=4em] {rotation detection}
edge[linefrom, bend right=15] node[above] {3} (white)
edge[lineto, dotted, bend left=15] node[below] {4} (white);
\draw node[block, right of=gray, xshift=4em] {\emph{rotation} tracker}
\draw node[block, right of=gray, xshift=4em] {rotation detection}
edge[linefrom, bend right=15] node[above] {7} (gray)
edge[lineto, dotted, bend left=15] node[below] {8} (gray);
\draw node[block, below of=white] {Application}
......@@ -288,8 +287,8 @@
\end{tikzpicture}
}
\quad
\subfigure[An event is triggered in the gray area, it does not even
reach the white area.]{
\subfigure[An event is triggered in the gray event area, it does not even
reach the white event area.]{
\begin{tikzpicture}[node distance=5.5em]
\draw node[draw=black, minimum width=190, minimum height=140] (screen) at (0,0) {};
\draw node[fill=gray!50, draw=black!70, minimum height=100, minimum width=100] (screen) at (-0.1,-0.1) {};
......@@ -297,11 +296,11 @@
\fill (-0.5, -0.7) circle (0.15);
\draw node[block, yshift=-10em, xshift=-3em] (driver) {Event driver};
\draw node[block, below of=driver] (gray) {Gray area}
\draw node[block, below of=driver] (gray) {Gray event area}
edge[linefrom] node[left] {1} (driver);
\draw node[block, below of=gray] (white) {White area};
\draw node[block, right of=white, xshift=4em] {\emph{rotation} tracker};
\draw node[block, right of=gray, xshift=4em] {\emph{rotation} tracker}
\draw node[block, below of=gray] (white) {White event area};
\draw node[block, right of=white, xshift=4em] {rotation detection};
\draw node[block, right of=gray, xshift=4em] {rotation detection}
edge[linefrom, bend right=15] node[above] {2} (gray)
edge[lineto, dotted, bend left=15] node[below] {3} (gray);
\draw node[block, below of=white] {Application}
......@@ -310,7 +309,7 @@
}
\caption{Two nested squares both listen to rotation gestures. The two
figures both show a touch object triggering an event, which is
delegated through the area tree in the order indicated by the numbered
delegated through the event area tree in the order indicated by the numbered
arrow labels. Normal arrows represent events, dotted arrows represent
gestures. Note that the dotted arrows only represent the path a gesture
would travel in the tree \emph{if triggered}, not an actual triggered
......
......@@ -178,3 +178,10 @@
year = "2007"
}
@misc{gtkeventpropagation,
author = "Reis, Christian",
note = "\url{faq.pygtk.org/index.py?file=faq03.011.htp\&req=show}",
title = "{How do signals and events propagate in GTK+?}",
year = "2002"
}
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment