GEIS  2.0
Gesture Engine Interface Support

Modules

 Initialization and Cleanup
 

Macros

#define GEIS_GESTURE_TYPE_SYSTEM
 A special gesture type than enabled system-wide gesture priority. More...
 
#define GEIS_GESTURE_TYPE_FLICK1
 
#define GEIS_GESTURE_TYPE_FLICK2
 
#define GEIS_GESTURE_TYPE_FLICK3
 
#define GEIS_GESTURE_TYPE_FLICK4
 
#define GEIS_GESTURE_TYPE_FLICK5
 

Functions

GeisStatus geis_init (GeisWinInfo *win_info, GeisInstance *geis_instance)
 Initializes a geis subscription instance for a display region. More...
 
GeisStatus geis_finish (GeisInstance geis_instance)
 Cleans up a geis subscription instance for a display region. More...
 

Standard fundamental gesture attributes

#define GEIS_GESTURE_ATTRIBUTE_ANGLE
 
#define GEIS_GESTURE_ATTRIBUTE_ANGLE_DELTA
 
#define GEIS_GESTURE_ATTRIBUTE_CENTROID_X
 
#define GEIS_GESTURE_ATTRIBUTE_CENTROID_Y
 
#define GEIS_GESTURE_ATTRIBUTE_FOCUS_X
 
#define GEIS_GESTURE_ATTRIBUTE_FOCUS_Y
 
#define GEIS_GESTURE_ATTRIBUTE_GESTURE_NAME
 
#define GEIS_GESTURE_ATTRIBUTE_POSITION_X
 
#define GEIS_GESTURE_ATTRIBUTE_POSITION_Y
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCH_0_ID
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCH_0_X
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCH_0_Y
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCH_1_ID
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCH_1_X
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCH_1_Y
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCH_2_ID
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCH_2_X
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCH_2_Y
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCH_3_ID
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCH_3_X
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCH_3_Y
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCH_4_ID
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCH_4_X
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCH_4_Y
 
#define GEIS_GESTURE_ATTRIBUTE_ANGULAR_VELOCITY
 
#define GEIS_GESTURE_ATTRIBUTE_BOUNDINGBOX_X1
 
#define GEIS_GESTURE_ATTRIBUTE_BOUNDINGBOX_Y1
 
#define GEIS_GESTURE_ATTRIBUTE_BOUNDINGBOX_X2
 
#define GEIS_GESTURE_ATTRIBUTE_BOUNDINGBOX_Y2
 
#define GEIS_GESTURE_ATTRIBUTE_CHILD_WINDOW_ID
 
#define GEIS_GESTURE_ATTRIBUTE_DELTA_X
 
#define GEIS_GESTURE_ATTRIBUTE_DELTA_Y
 
#define GEIS_GESTURE_ATTRIBUTE_DEVICE_ID
 
#define GEIS_GESTURE_ATTRIBUTE_EVENT_WINDOW_ID
 
#define GEIS_GESTURE_ATTRIBUTE_RADIAL_VELOCITY
 
#define GEIS_GESTURE_ATTRIBUTE_RADIUS_DELTA
 
#define GEIS_GESTURE_ATTRIBUTE_RADIUS
 
#define GEIS_GESTURE_ATTRIBUTE_ROOT_WINDOW_ID
 
#define GEIS_GESTURE_ATTRIBUTE_TAP_TIME
 
#define GEIS_GESTURE_ATTRIBUTE_TIMESTAMP
 
#define GEIS_GESTURE_ATTRIBUTE_TOUCHES
 
#define GEIS_GESTURE_ATTRIBUTE_VELOCITY_X
 
#define GEIS_GESTURE_ATTRIBUTE_VELOCITY_Y
 
#define GEIS_CONFIG_UNIX_FD
 Gets the Unix file descriptor for GEIS events. More...
 
typedef struct GeisWinInfo GeisWinInfo
 
GeisStatus geis_configuration_supported (GeisInstance geis_instance, int configuration_item)
 Indicates if a particular feaure is supported. More...
 
GeisStatus geis_configuration_get_value (GeisInstance geis_instance, int configuration_item, void *value)
 Gets a feature configuration value. More...
 
GeisStatus geis_configuration_set_value (GeisInstance geis_instance, int configuration_item, void *value)
 Sets a feature configuration value. More...
 
GeisStatus geis_event_dispatch (GeisInstance geis_instance)
 Dispatches geis events until there are no further events available. More...
 

Detailed Description

Vendor-specific extensions to the GEIS v1 API.

Macro Definition Documentation

◆ GEIS_CONFIG_UNIX_FD

#define GEIS_CONFIG_UNIX_FD

Gets the Unix file descriptor for GEIS events.

Applications or toolkits can use this file descriptor to intgerate geis event handling into their main event dispatch loop. When a GEIS event is available for processing, the fd will have a read-available state indicated in select(), poll(), epoll(), etc.

◆ GEIS_GESTURE_ATTRIBUTE_ANGLE

#define GEIS_GESTURE_ATTRIBUTE_ANGLE

Angle covered by a gesture since it has started, in radians, counterclockwise. Its value ranges from -pi to pi.

◆ GEIS_GESTURE_ATTRIBUTE_ANGLE_DELTA

#define GEIS_GESTURE_ATTRIBUTE_ANGLE_DELTA

Angle covered by a gesture since its last update, in radians, counterclockwise.

◆ GEIS_GESTURE_ATTRIBUTE_CENTROID_X

#define GEIS_GESTURE_ATTRIBUTE_CENTROID_X

This attribute provides the X coordinate of the centroid of the non-self-intersecting closed polygon defined by the touch points of the gesture, in device coordinates.

◆ GEIS_GESTURE_ATTRIBUTE_CENTROID_Y

#define GEIS_GESTURE_ATTRIBUTE_CENTROID_Y

This attribute provides the Y coordinate of the centroid of the non-self-intersecting closed polygon defined by the touch points of the gesture, in device coordinates.

◆ GEIS_GESTURE_ATTRIBUTE_FOCUS_X

#define GEIS_GESTURE_ATTRIBUTE_FOCUS_X

This attribute provides the X coordinate of the focus point of a gesture, in screen coordinates. For direct devices (GEIS_DEVICE_ATTRIBUTE_DIRECT_TOUCH is GEIS_TRUE) it's the centroid point. For indirect devices it's the pointer/cursor position.

◆ GEIS_GESTURE_ATTRIBUTE_FOCUS_Y

#define GEIS_GESTURE_ATTRIBUTE_FOCUS_Y

This attribute provides the Y coordinate of the focus point of a gesture, in screen coordinates. For direct devices (GEIS_DEVICE_ATTRIBUTE_DIRECT_TOUCH is GEIS_TRUE) it's the centroid point. For indirect devices it's the pointer/cursor position.

◆ GEIS_GESTURE_ATTRIBUTE_GESTURE_NAME

#define GEIS_GESTURE_ATTRIBUTE_GESTURE_NAME

Name of the gesture. This attribute is filled only when using GEIS v1 API (the simplified interface). On GEIS v2 this attribute has been replaced by the concept of gesture classes. Use geis_frame_is_class() instead.

◆ GEIS_GESTURE_ATTRIBUTE_POSITION_X

#define GEIS_GESTURE_ATTRIBUTE_POSITION_X

This attribute provides the X coordinate of the position of a gesture, in device coordinates. It's the same as the centroid of a gesture. See GEIS_GESTURE_ATTRIBUTE_CENTROID_X.

◆ GEIS_GESTURE_ATTRIBUTE_POSITION_Y

#define GEIS_GESTURE_ATTRIBUTE_POSITION_Y

This attribute provides the Y coordinate of the position of a gesture, in device coordinates. It's the same as the centroid of a gesture. See GEIS_GESTURE_ATTRIBUTE_CENTROID_Y.

◆ GEIS_GESTURE_ATTRIBUTE_TOUCH_0_ID

#define GEIS_GESTURE_ATTRIBUTE_TOUCH_0_ID

This attribute provides the ID of the touch at index0. Only used by GEIS v1 API.

◆ GEIS_GESTURE_ATTRIBUTE_TOUCH_0_X

#define GEIS_GESTURE_ATTRIBUTE_TOUCH_0_X

This attribute provides the X coordinate of the touch at index0. Only used by GEIS v1 API.

◆ GEIS_GESTURE_ATTRIBUTE_TOUCH_0_Y

#define GEIS_GESTURE_ATTRIBUTE_TOUCH_0_Y

This attribute provides the Y coordinate of the touch at index0. Only used by GEIS v1 API.

◆ GEIS_GESTURE_ATTRIBUTE_TOUCH_1_ID

#define GEIS_GESTURE_ATTRIBUTE_TOUCH_1_ID

This attribute provides the ID of the touch at index1. Only used by GEIS v1 API.

◆ GEIS_GESTURE_ATTRIBUTE_TOUCH_1_X

#define GEIS_GESTURE_ATTRIBUTE_TOUCH_1_X

This attribute provides the X coordinate of the touch at index1. Only used by GEIS v1 API.

◆ GEIS_GESTURE_ATTRIBUTE_TOUCH_1_Y

#define GEIS_GESTURE_ATTRIBUTE_TOUCH_1_Y

This attribute provides the Y coordinate of the touch at index1. Only used by GEIS v1 API.

◆ GEIS_GESTURE_ATTRIBUTE_TOUCH_2_ID

#define GEIS_GESTURE_ATTRIBUTE_TOUCH_2_ID

This attribute provides the ID of the touch at index2. Only used by GEIS v1 API.

◆ GEIS_GESTURE_ATTRIBUTE_TOUCH_2_X

#define GEIS_GESTURE_ATTRIBUTE_TOUCH_2_X

This attribute provides the X coordinate of the touch at index2. Only used by GEIS v1 API.

◆ GEIS_GESTURE_ATTRIBUTE_TOUCH_2_Y

#define GEIS_GESTURE_ATTRIBUTE_TOUCH_2_Y

This attribute provides the Y coordinate of the touch at index2. Only used by GEIS v1 API.

◆ GEIS_GESTURE_ATTRIBUTE_TOUCH_3_ID

#define GEIS_GESTURE_ATTRIBUTE_TOUCH_3_ID

This attribute provides the ID of the touch at index3. Only used by GEIS v1 API.

◆ GEIS_GESTURE_ATTRIBUTE_TOUCH_3_X

#define GEIS_GESTURE_ATTRIBUTE_TOUCH_3_X

This attribute provides the X coordinate of the touch at index3. Only used by GEIS v1 API.

◆ GEIS_GESTURE_ATTRIBUTE_TOUCH_3_Y

#define GEIS_GESTURE_ATTRIBUTE_TOUCH_3_Y

This attribute provides the Y coordinate of the touch at index3. Only used by GEIS v1 API.

◆ GEIS_GESTURE_ATTRIBUTE_TOUCH_4_ID

#define GEIS_GESTURE_ATTRIBUTE_TOUCH_4_ID

This attribute provides the ID of the touch at index4. Only used by GEIS v1 API.

◆ GEIS_GESTURE_ATTRIBUTE_TOUCH_4_X

#define GEIS_GESTURE_ATTRIBUTE_TOUCH_4_X

This attribute provides the X coordinate of the touch at index4. Only used by GEIS v1 API.

◆ GEIS_GESTURE_ATTRIBUTE_TOUCH_4_Y

#define GEIS_GESTURE_ATTRIBUTE_TOUCH_4_Y

This attribute provides the Y coordinate of the touch at index4. Only used by GEIS v1 API.

◆ GEIS_GESTURE_TYPE_SYSTEM

#define GEIS_GESTURE_TYPE_SYSTEM

A special gesture type than enabled system-wide gesture priority.

Function Documentation

◆ geis_configuration_get_value()

GeisStatus geis_configuration_get_value ( GeisInstance  geis_instance,
int  configuration_item,
void *  value 
)

Gets a feature configuration value.

Parameters
[in]geis_instanceAn opaque pointer to a geis gesture subscription instance.
[in]configuration_itemIndicates which configuration item will be get.
[in]valueA pointer to where the retrieved value will be stored.
Return values
GEIS_BAD_ARGUMENTan invalid argument value was passed
GEIS_STATUS_SUCCESSnormal successful completion

◆ geis_configuration_set_value()

GeisStatus geis_configuration_set_value ( GeisInstance  geis_instance,
int  configuration_item,
void *  value 
)

Sets a feature configuration value.

Parameters
[in]geis_instanceAn opaque pointer to a geis gesture subscription instance.
[in]configuration_itemIndicates which configuration item will be set.
[in]valueA pointer to where the value to be set will be read.
Return values
GEIS_BAD_ARGUMENTan invalid argument value was passed
GEIS_STATUS_SUCCESSnormal successful completion

◆ geis_configuration_supported()

GeisStatus geis_configuration_supported ( GeisInstance  geis_instance,
int  configuration_item 
)

Indicates if a particular feaure is supported.

Parameters
[in]geis_instanceAn opaque pointer to a geis gesture subscription instance.
[in]configuration_itemIndicates which configuration item will be checked for support.
Return values
GEIS_BAD_ARGUMENTan invalid argument value was passed
GEIS_STATUS_SUCCESSnormal successful completion

◆ geis_event_dispatch()

GeisStatus geis_event_dispatch ( GeisInstance  geis_instance)

Dispatches geis events until there are no further events available.

Parameters
[in]geis_instancean opaque pointer to a geis gesture subscription instance

This function is used to integrate geis even dispatch into the main event loop of an application or toolkit.

Return values
GEIS_BAD_ARGUMENTan invalid GeisInstance was passed
GEIS_STATUS_SUCCESSnormal successful completion

◆ geis_finish()

GeisStatus geis_finish ( GeisInstance  geis_instance)

Cleans up a geis subscription instance for a display region.

Parameters
[in]geis_instancean opaque pointer to a geis gesture subscription instance
Return values
GEIS_BAD_ARGUMENTan invalid GeisInstance was passed
GEIS_STATUS_SUCCESSnormal successful completion

◆ geis_init()

GeisStatus geis_init ( GeisWinInfo win_info,
GeisInstance geis_instance 
)

Initializes a geis subscription instance for a display region.

Parameters
[in]win_infoa display region description block – see geis implementtaion documentation
[out]geis_instancean opaque pointer to a geis gesture subscription instance
Return values
GEIS_BAD_ARGUMENTan invalid GeisWinInfo was passed
GEIS_STATUS_SUCCESSnormal successful completion