GEIS  2.0
Gesture Engine Interface Support

Modules

 Gesture Subscription
 

Data Structures

class  GeisFilter
 

Region Initialization Arguments

Gesture regions are created to describe a particular display/feedback region. The type of the region can not be changed after creation (just create a new region for that). The types of regions are platform specific and each type may require addition arguments.
The following region initialization argument names are required by the GEIS v2.0 specification.
enum  _GeisFilterFacility { GEIS_FILTER_DEVICE, GEIS_FILTER_CLASS, GEIS_FILTER_REGION, GEIS_FILTER_SPECIAL }
 Indicates the type of filter. More...
 
enum  _GeisFilterOperation {
  GEIS_FILTER_OP_EQ, GEIS_FILTER_OP_NE, GEIS_FILTER_OP_GT, GEIS_FILTER_OP_GE,
  GEIS_FILTER_OP_LT, GEIS_FILTER_OP_LE
}
 Indicates the type of filter operation. More...
 
typedef enum _GeisFilterFacility GeisFilterFacility
 Indicates the type of filter. More...
 
typedef enum _GeisFilterOperation GeisFilterOperation
 Indicates the type of filter operation. More...
 
GeisFilter geis_filter_new (Geis geis, GeisString name)
 Creates a new, empty filter. More...
 
GeisFilter geis_filter_clone (GeisFilter original, GeisString name)
 Creates a new filter by copying an existing filter. More...
 
GeisStatus geis_filter_delete (GeisFilter filter)
 Destroys a GeisFilter. More...
 
GeisString geis_filter_name (GeisFilter filter)
 Gets the name given to the filter when it was created. More...
 
GEIS_VARARG GeisStatus geis_filter_add_term (GeisFilter filter, GeisFilterFacility facility,...)
 Adds a term to a filter. More...
 

Detailed Description

Typedef Documentation

◆ GeisFilterFacility

Indicates the type of filter.

◆ GeisFilterOperation

Indicates the type of filter operation.

Enumeration Type Documentation

◆ _GeisFilterFacility

Indicates the type of filter.

Enumerator
GEIS_FILTER_DEVICE 

Filters on device attributes.

GEIS_FILTER_CLASS 

Filters on gesture class and gesture attributes.

GEIS_FILTER_REGION 

Filters on region attributes.

GEIS_FILTER_SPECIAL 

Filters on special attributes.

◆ _GeisFilterOperation

Indicates the type of filter operation.

Enumerator
GEIS_FILTER_OP_EQ 

Compares for equality.

GEIS_FILTER_OP_NE 

Compares for inequality.

GEIS_FILTER_OP_GT 

Compares for greater-than.

GEIS_FILTER_OP_GE 

Compares for greater-than-or-equal.

GEIS_FILTER_OP_LT 

Compares for less-than.

GEIS_FILTER_OP_LE 

Compares for less-tha-or-equal.

Function Documentation

◆ geis_filter_add_term()

GEIS_VARARG GeisStatus geis_filter_add_term ( GeisFilter  filter,
GeisFilterFacility  facility,
  ... 
)

Adds a term to a filter.

Parameters
[in]filterThe filter.
[in]facilityThe term facility.
[in]...A list of zero or more term descriptions.

A term description is generally a (attr-name, filter-op, value) triple in which the meaning of the filter-op and value depend on the type of the attr.

The term description list must be terminated by a NULL.

In the following example we add terms to filter drag gestures made with three touch points:

GEIS_GESTURE_ATTRIBUTE_TOUCHES, GEIS_FILTER_OP_EQ, 3,
NULL);

Term descriptions are usually ANDed together, so that specifying a class name and a number of touches will filter only for gestures that have both characteristics. But if you specify several class names (e.g. drag and pinch), those classes are ORed together instead. So you can receive events from a gesture that belongs to either drag, drag&pinch or only pinch classes.

Examples
geis2.c.

◆ geis_filter_clone()

GeisFilter geis_filter_clone ( GeisFilter  original,
GeisString  name 
)

Creates a new filter by copying an existing filter.

Parameters
[in]originalAn existing geisFilter instance.
[in]nameA name.

The original filter remains unchanged.

Returns
a GeisFilter object or NULL on failure.

◆ geis_filter_delete()

GeisStatus geis_filter_delete ( GeisFilter  filter)

Destroys a GeisFilter.

Parameters
[in]filterThe filter.

◆ geis_filter_name()

GeisString geis_filter_name ( GeisFilter  filter)

Gets the name given to the filter when it was created.

Parameters
[in]filterThe filter.

◆ geis_filter_new()

GeisFilter geis_filter_new ( Geis  geis,
GeisString  name 
)

Creates a new, empty filter.

Parameters
[in]geisThe GEIS API instance.
[in]nameA name.
Returns
a GeisFilter object or NULL on failure.
Examples
geis2.c.
GeisFilter::geis_filter_add_term
GEIS_VARARG GeisStatus geis_filter_add_term(GeisFilter filter, GeisFilterFacility facility,...)
Adds a term to a filter.
GEIS_FILTER_OP_EQ
@ GEIS_FILTER_OP_EQ
Compares for equality.
Definition: geis.h:1724
GEIS_CLASS_ATTRIBUTE_NAME
#define GEIS_CLASS_ATTRIBUTE_NAME
Definition: geis.h:1512
GEIS_FILTER_CLASS
@ GEIS_FILTER_CLASS
Filters on gesture class and gesture attributes.
Definition: geis.h:1714