Commit 9c605e96 authored by Taddeüs Kroes's avatar Taddeüs Kroes

Worked on improving report.

parent 346cf020
......@@ -50,8 +50,7 @@
}
\newcommand{\basicdiagram}[1]{
\begin{figure}[H]
\label{fig:basicdiagram}
\begin{figure}[h]
\center
\architecture{
\node[block, dashed, below of=driver] (arch) {Architecture}
......@@ -60,12 +59,12 @@
edge[linefrom] node[right] {gestures} (arch);
}
\caption{#1}
\label{fig:basicdiagram}
\end{figure}
}
\newcommand{\driverdiagram}[1]{
\begin{figure}[H]
\label{fig:driverdiagram}
\begin{figure}[h]
\center
\architecture{
\node[block, below of=driver] (eventdriver) {Event driver}
......@@ -79,77 +78,139 @@
\group{eventdriver}{eventdriver}{dummy}{analysis}{Architecture}
}
\caption{#1}
\label{fig:driverdiagram}
\end{figure}
}
\newcommand{\widgetdiagram}[1]{
\begin{figure}[H]
\label{fig:widgetdiagram}
\newcommand{\areadiagram}[1]{
\begin{figure}[h]
\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] (widget) {Widget tree}
\node[block, below of=eventdriver] (area) {Areas}
edge[linefrom] node[right] {events} (eventdriver);
\node[block, right of=widget, xshift=7em, dashed] (analysis) {Event analysis}
edge[linefrom, bend right=10] node[above] {events} (widget)
edge[lineto, bend left=10] node[] {gestures} (widget);
\node[block, below of=widget] {Application}
edge[linefrom] node[right, near start] {gestures} (widget);
\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);
\group{eventdriver}{eventdriver}{analysis}{widget}{Architecture}
\group{eventdriver}{eventdriver}{analysis}{area}{Architecture}
}
\caption{#1}
\label{fig:areadiagram}
\end{figure}
}
\newcommand{\trackerdiagram}[1]{
\begin{figure}[H]
\label{fig:trackerdiagram}
\begin{figure}[h]
\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] (widget) {Widget tree}
\node[block, below of=eventdriver] (area) {Area tree}
edge[linefrom] node[right] {events} (eventdriver);
\node[block, right of=widget, xshift=7em] (tracker) {Gesture trackers}
edge[linefrom, bend right=10] node[above] {events} (widget)
edge[lineto, bend left=10] node[] {gestures} (widget);
\node[block, below of=widget] {Application}
edge[linefrom] node[right, near start] {gestures} (widget);
\node[block, right of=area, xshift=7em] (tracker) {Gesture trackers}
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);
\group{eventdriver}{eventdriver}{tracker}{widget}{Architecture}
\group{eventdriver}{eventdriver}{tracker}{area}{Architecture}
}
\caption{#1}
\label{fig:trackerdiagram}
\end{figure}
}
\newcommand{\examplediagram}[1]{
\begin{figure}[H]
\begin{figure}[h]
\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}
\node[block, below of=eventdriver] (rootarea) {Root area}
edge[linefrom] (eventdriver);
\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) {\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}
\node[block, below of=rootarea] (subarea) {Button area}
edge[linefrom] (rootarea)
edge[lineto, bend right=45] node[right=3] {event propagation} (rootarea);
\node[block, right of=rootarea, xshift=5em] {\emph{pinch} tracker}
edge[lineto, dotted, bend left=10] (rootarea)
edge[linefrom, bend right=10] (rootarea);
\node[block, right of=subarea, xshift=5em] (tracker) {\emph{tap} tracker}
edge[lineto, dotted, bend left=10] (subarea)
edge[linefrom, bend right=10] (subarea);
\node[block, below of=subarea, yshift=-.5em] {Application}
edge[linefrom, dotted, bend left=60] (rootarea)
edge[linefrom, dotted] (subarea);
\group{subarea}{eventdriver}{tracker}{subarea}{Architecture}
}
\caption{#1}
\end{figure}
}
\newcommand{\examplefigureone}{
\begin{figure}[h]
\center
% TODO: draw finger touch points as circles with rotating arrow
\begin{tikzpicture}
\draw node[draw, black, minimum width=190, minimum height=140] at (0,0) {};
\draw node[fill=gray!50, draw=black!70, minimum height=40, minimum width=40] at (-1,-1) {};
\draw node[draw=black!80, diamond, minimum height=50, minimum width=50] at (1.2,1) {};
\end{tikzpicture}
\caption{Two squares on the screen both listen to rotation. The user
should be able to ``grab'' each of the squares independently and rotate
them at the same time.}
\label{fig:ex1}
\end{figure}
}
\newcommand{\examplefiguretwo}{
\begin{figure}[h]
\center
\begin{tikzpicture}
\draw node[draw, black, minimum width=190, minimum height=140] at (0,0) {};
\draw node[draw=black!80, diamond, minimum height=50, minimum width=50] at (0.5, 0.3) {};
\draw node[draw=black, diamond, dotted, minimum height=53, minimum width=53] at (0.5, 0.3) {};
\draw node[draw=black, dotted, circle, minimum height=80, minimum width=80] at (0.5, 0.3) {};
\fill (-0.3, -0.4) circle (0.15)
(-0.4, 0.8) circle (0.15)
(-0.1, 1.1) circle (0.15)
(1.3, 0.9) circle (0.15);
\draw (0.15, 0.55) circle (0.15) -- (-0.3, -0.4);
\draw (0.15, 0.55) -- (-0.4, 0.8);
\draw (0.15, 0.55) -- (-0.1, 1.1);
\draw (0.15, 0.55) -- (1.3, 0.9);
\end{tikzpicture}
\caption{A square on the screen listens to rotation. The user can grab
and rotate the square by positioning fingers around (but not in) it and
and performing a rotating motion. An example pose of four fingers is
shown by the filled black circles. While the events all occur in the
dotted \emph{area}, the centroid of the rotation gesture is located in
the square.}
\label{fig:ex2}
\end{figure}
}
\newcommand{\examplefigurethree}{
\begin{figure}[h]
\center
\begin{tikzpicture}
\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) {};
\draw node[fill=white, draw=black!80, diamond, minimum height=50, minimum width=50] (screen) at (0.3,0.4) {};
\end{tikzpicture}
\caption{Two overlapping squares that listen to rotation. When the
white square is rotated, the gray square should keep its current
orientation and vice-versa.}
\label{fig:ex3}
\end{figure}
}
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