====== Languages ====== **This is an archive for Gestureworks 1.** To learn about the new Gestureworks, see the [[http://gwiki.gestureworks.com/|Gestureworks 2 Wiki]] ===== Bindings Overview ===== Gestureworks Core provides the capability for users to link directly to the libraries compiled into the Gestureworks Core .dll so that gestures can be passed directly from Gestureworks up to the application layer. This is done using a set of standardized bindings that serve as simple API for the specified language. Gestureworks Core bindings are currently available for four languages: * [[tutorials#cpp|C++]] * [[tutorials#csharp-net|C# (.NET)]] * [[tutorials#python|Python]] * [[tutorials#java|Java]] ==== Working with the C++ Bindings ==== We will briefly discuss the C++ bindings since they are exemplary of the way in which bindings will be constructed for most other languages. {{ :bindings_gwc.png?direct |}} The bindings provide a lightweight wrapper to simplify data transfer between the application and the processing engine, as well as facilitate the use of multiple programming languages. Use of the bindings can be broken down into the following steps: ==== Setup ==== * Load the GestureWorksCore DLL * Initialize Gestureworks with screen resolution * Register touch window * Load desired GML file(s) * Register touch objects * Add gestures to registered touch objects ==== Processing loop ==== * Tell Gestureworks to process its internal events * Consume events created by Gestureworks * Inform Gestureworks if point events occurred on a registered touch object (perform hit test) * Use data in application * Repeat Each binding consists of a set classes that access exposed functions in the GestureWorksCore.dll . These methods, functions and related data structures are outlined in detail in the [[api_reference|Gestureworks Core API]].