Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Note: this Wiki has been transferred from the old Sourceforge Wiki and is currently being updated.
Table of Contents
For a high-level overview of libtisch, see http://tisch.sourceforge.net. The wiki is supposed to provide in-depth developer documentation.
Unsorted list of things to watch out for:
Q: My textures don't show up or other weird graphics errors happen!
A: Create the Window object first before you create any widgets or textures. Otherwise, OpenGL is still uninitialized.
Here are the specifications for the two clear-text communication protocols used between the layers.
Position Protocol: HAL -> Transformation Layer -> Interpretation Layer
Event Protocol: Interpretation Layer Widget Layer
Hardware Abstraction Layer - basically the drivers which talk to the hardware
Transformation Layer - provides calibration from hardware to screen coordinates
Interpretation Layer - transforms raw input data into gesture events
Widget Layer - registers for gesture events and produces visual output
libTISCH is divided into five core libraries. Each of them shall be described briefly, followed by a list of the contained classes and their methods. This section is designed to help developers build applications based on libTISCH. Unless noted otherwise, all classes are available on all three supported operating systems (Linux, MacOS X and Windows).
Note that all classes which need to be transferred between layers at some point, including, e.g. Vector or Region, define stream input/output operators (<< and >>). This allows easy serialisation and unserialisation through any std::iostream object.
The touchd tracking daemon uses a somewhat cryptic configuration file format, which is described here: touchd config file format.
For the libtisch-2.0 we have moved to a XML based file format to configure the touchd. The new structure is described here: