GEIS 2.0
Gesture Engine Interface Support
Loading...
Searching...
No Matches

Modules

 Error Reporting
 

Data Structures

class  Geis
 Represents an instance of the gesture recognition engine. More...
 

Standard Initialization Arguments

These initialization arguments are defined by the GEIS v2 specification.
#define GEIS_INIT_SERVICE_PROVIDER
 Enables GEIS to provide a networked service.
 
#define GEIS_INIT_TRACK_DEVICES
 Tells GEIS to send input device events.
 
#define GEIS_INIT_TRACK_GESTURE_CLASSES
 Tells GEIS to send gesture class events.
 
#define GEIS_INIT_SYNCHRONOUS_START
 Performs all setup synchronously: geis_new() will block until all setup has completed successfully or unsuccessfully.
 

Vendor-defined Initialization Arguments

These initialization arguments are not a part of the GEIS specification and may change.
#define GEIS_INIT_DBUS_BACKEND
 Uses the DBus back end (default).
 
#define GEIS_INIT_GRAIL_BACKEND
 Uses the native grail back end (fallback).
 
#define GEIS_INIT_XCB_BACKEND
 Uses the grail-embedded-in-X11 back end.
 
#define GEIS_INIT_NO_ATOMIC_GESTURES
 Disables the use of (GEIS v1-style) atomic gestures: only a single gesture is recognized at a time.
 
#define GEIS_INIT_SEND_TENTATIVE_EVENTS
 Causes tentative events to be sent.
 
#define GEIS_INIT_SEND_SYNCHRONOS_EVENTS
 Causes all gesture events to be sent, even if there is zero apparent time difference between the events.
 
GEIS_VARARG Geis geis_new (GeisString init_arg_name,...)
 Initializes an instance of the GEIS v2.0 API.
 
GeisStatus geis_delete (Geis geis)
 Cleans up an instance of the GEIS v2.0 API.
 
GeisSize geis_error_count (Geis geis)
 Gets the number of status codes in the error stack.
 
GeisStatus geis_error_code (Geis geis, GeisSize index)
 Gets the indicated status code from the error stack.
 
GeisString geis_error_message (Geis geis, GeisSize index)
 Gets the localized error message, if any, associated with the indicated error.
 

Detailed Description

Macro Definition Documentation

◆ GEIS_INIT_DBUS_BACKEND

#define GEIS_INIT_DBUS_BACKEND

Uses the DBus back end (default).

◆ GEIS_INIT_GRAIL_BACKEND

#define GEIS_INIT_GRAIL_BACKEND

Uses the native grail back end (fallback).

◆ GEIS_INIT_NO_ATOMIC_GESTURES

#define GEIS_INIT_NO_ATOMIC_GESTURES

Disables the use of (GEIS v1-style) atomic gestures: only a single gesture is recognized at a time.

◆ GEIS_INIT_SEND_SYNCHRONOS_EVENTS

#define GEIS_INIT_SEND_SYNCHRONOS_EVENTS

Causes all gesture events to be sent, even if there is zero apparent time difference between the events.

Normally all but the first consecutive event are discarded, since velocity values can not be calculated and multiple events between frame redraws are unlikely do have any value beyong consuming CPU. Setting this init value will give the events to you if you really want them.

◆ GEIS_INIT_SEND_TENTATIVE_EVENTS

#define GEIS_INIT_SEND_TENTATIVE_EVENTS

Causes tentative events to be sent.

Tentative events indicate gestures may possibly be detected soon and allow early rejection if the events occur outside any area of interest.

◆ GEIS_INIT_SERVICE_PROVIDER

#define GEIS_INIT_SERVICE_PROVIDER

Enables GEIS to provide a networked service.

This initialization argument takes no parameters.

◆ GEIS_INIT_SYNCHRONOUS_START

#define GEIS_INIT_SYNCHRONOUS_START

Performs all setup synchronously: geis_new() will block until all setup has completed successfully or unsuccessfully.

◆ GEIS_INIT_TRACK_DEVICES

#define GEIS_INIT_TRACK_DEVICES

Tells GEIS to send input device events.

This initialization argument takes no parameters.

Examples
geis2.c.

◆ GEIS_INIT_TRACK_GESTURE_CLASSES

#define GEIS_INIT_TRACK_GESTURE_CLASSES

Tells GEIS to send gesture class events.

This initialization argument takes no parameters.

Examples
geis2.c.

◆ GEIS_INIT_XCB_BACKEND

#define GEIS_INIT_XCB_BACKEND

Uses the grail-embedded-in-X11 back end.

Function Documentation

◆ geis_delete()

GeisStatus geis_delete ( Geis  geis)

Cleans up an instance of the GEIS v2.0 API.

Parameters
[in]geisAn instance of the GEIS v2.0 API.

Tears down the instance of the API and releases any resources associated with that instance.

◆ geis_error_code()

GeisStatus geis_error_code ( Geis  geis,
GeisSize  index 
)

Gets the indicated status code from the error stack.

Parameters
[in]geisA GEIS API instance or NULL for the global stack
[in]indexIndicates the status value to retrieve. Valid status values are between 0 and less than the value returned from geis_error_count() otherwise GEIS_STATUS_BAD_ARGUMENT will be returned.

◆ geis_error_count()

GeisSize geis_error_count ( Geis  geis)

Gets the number of status codes in the error stack.

Parameters
[in]geisA GEIS API instance or NULL for the global stack

This function is used primarily to determine the failure details of a GEIS function that does not explicitly return a GeisStatus value. This is required for _new() fucntions that return NULL to indicate failure. If the call to geis_new() itself fails and returns a NULL, the global error stack must be used, otherwise the API instance error stack must be used.

The error stack is reset on each GEIS API call, so failure reasons should be determined immmediately after a GEIS API call.

◆ geis_error_message()

GeisString geis_error_message ( Geis  geis,
GeisSize  index 
)

Gets the localized error message, if any, associated with the indicated error.

Parameters
[in]geisA GEIS API instance or NULL for the global stack
[in]indexIndicates the status value to retrieve. Valid status values are between 0 and less than the value returned from geis_error_count() otherwise GEIS_STATUS_BAD_ARGUMENT will be returned.

◆ geis_new()

GEIS_VARARG Geis geis_new ( GeisString  init_arg_name,
  ... 
)

Initializes an instance of the GEIS v2.0 API.

Parameters
[in]init_arg_nameThe name of an initializaer argument.
[in]...The remaining initializaer arguments.

A NULL-terminated list of zero or more initialization arguments is passed to this function to create and initialize a connection to a gesture recognition engine.

If no initialization arguments are passed, the parameter list consists of a single NULL argument.