Loading...
Searching...
No Matches
The Geis API Object
The Simplified GEIS Interface » Gesture Types » Gesture Primitives » Standard Gesture Types » Vendor Extension Gesture Types » Initialization and Cleanup » Configuration and Control | The Advanced GEIS Interface

## Topics

| 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] | geis | An 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] | geis | A GEIS API instance or NULL for the global stack
  [in] | index | Indicates 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] | geis | A 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] | geis | A GEIS API instance or NULL for the global stack
  [in] | index | Indicates 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_name | The 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.