Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
M
multitouch
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Taddeüs Kroes
multitouch
Commits
9c605e96
Commit
9c605e96
authored
12 years ago
by
Taddeüs Kroes
Browse files
Options
Downloads
Patches
Plain Diff
Worked on improving report.
parent
346cf020
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
docs/data/diagrams.tex
+101
-40
101 additions, 40 deletions
docs/data/diagrams.tex
docs/report.tex
+192
-127
192 additions, 127 deletions
docs/report.tex
with
293 additions
and
167 deletions
docs/data/diagrams.tex
+
101
−
40
View file @
9c605e96
...
...
@@ -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]
(root
widget
)
{
Root
widget
}
\node
[block, below of=eventdriver]
(root
area
)
{
Root
area
}
edge[linefrom] (eventdriver);
\node
[block, below of=root
widget]
(subwidget
)
{
Button
widget
}
edge[linefrom] (root
widget
)
edge[lineto, bend right=45] node[right=3]
{
event propagation
}
(root
widget
);
\node
[block, right of=root
widget
, xshift=5em]
{
\emph
{
pinch
}
tracker
}
edge[lineto, dotted, bend left=10] (root
widget
)
edge[linefrom, bend right=10] (root
widget
);
\node
[block, right of=sub
widget
, xshift=5em]
(tracker)
{
\emph
{
tap
}
tracker
}
edge[lineto, dotted, bend left=10] (sub
widget
)
edge[linefrom, bend right=10] (sub
widget
);
\node
[block, below of=sub
widget
, yshift=-.5em]
{
Application
}
edge[linefrom, dotted, bend left=60] (root
widget
)
edge[linefrom, dotted] (sub
widget
);
\group
{
sub
widget
}{
eventdriver
}{
tracker
}{
sub
widget
}{
Architecture
}
\node
[block, below of=root
area]
(subarea
)
{
Button
area
}
edge[linefrom] (root
area
)
edge[lineto, bend right=45] node[right=3]
{
event propagation
}
(root
area
);
\node
[block, right of=root
area
, xshift=5em]
{
\emph
{
pinch
}
tracker
}
edge[lineto, dotted, bend left=10] (root
area
)
edge[linefrom, bend right=10] (root
area
);
\node
[block, right of=sub
area
, xshift=5em]
(tracker)
{
\emph
{
tap
}
tracker
}
edge[lineto, dotted, bend left=10] (sub
area
)
edge[linefrom, bend right=10] (sub
area
);
\node
[block, below of=sub
area
, yshift=-.5em]
{
Application
}
edge[linefrom, dotted, bend left=60] (root
area
)
edge[linefrom, dotted] (sub
area
);
\group
{
sub
area
}{
eventdriver
}{
tracker
}{
sub
area
}{
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.
Click to expand it.
docs/report.tex
+
192
−
127
View file @
9c605e96
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment