GEIS 2.0
Gesture Engine Interface Support
|
This is the public interface for the GEIS gesture API. More...
#include <geis/geisimpl.h>
Data Structures | |
class | GeisWinInfo |
Generic display region description block. More... | |
struct | GeisInputFuncs |
Callback functions used to handle changes in the available input devices. More... | |
struct | GeisGestureAttr |
An individual gesture attribute. More... | |
struct | GeisGestureFuncs |
The set of callback functions invoked for various gesture-related events. More... | |
Defines | |
#define | GEIS_VERSION_1_0 |
GEIS version macros. | |
#define | GEIS_VERSION_2_0 |
#define | GEIS_FALSE |
#define | GEIS_TRUE |
#define | GEIS_GESTURE_DRAG |
#define | GEIS_GESTURE_PINCH |
#define | GEIS_GESTURE_ROTATE |
#define | GEIS_GESTURE_TAP |
#define | GEIS_GESTURE_TOUCH |
#define | GEIS_GESTURE_PRIMITIVE_DRAG |
A translate gesture: dragging, swiping, flicking, moving in a generally linear fashion. | |
#define | GEIS_GESTURE_PRIMITIVE_PINCH |
A pinch or expand gesture: two or more touch points generally moving toward or away from a common point. | |
#define | GEIS_GESTURE_PRIMITIVE_ROTATE |
A rotation gesture. | |
#define | GEIS_GESTURE_PRIMITIVE_TAP |
A tap. | |
#define | GEIS_GESTURE_PRIMITIVE_TOUCH |
A parenthetical gesture event. | |
#define | GEIS_GESTURE_TYPE_DRAG1 |
#define | GEIS_GESTURE_TYPE_DRAG2 |
#define | GEIS_GESTURE_TYPE_DRAG3 |
#define | GEIS_GESTURE_TYPE_DRAG4 |
#define | GEIS_GESTURE_TYPE_DRAG5 |
#define | GEIS_GESTURE_TYPE_PINCH1 |
#define | GEIS_GESTURE_TYPE_PINCH2 |
#define | GEIS_GESTURE_TYPE_PINCH3 |
#define | GEIS_GESTURE_TYPE_PINCH4 |
#define | GEIS_GESTURE_TYPE_PINCH5 |
#define | GEIS_GESTURE_TYPE_ROTATE1 |
#define | GEIS_GESTURE_TYPE_ROTATE2 |
#define | GEIS_GESTURE_TYPE_ROTATE3 |
#define | GEIS_GESTURE_TYPE_ROTATE4 |
#define | GEIS_GESTURE_TYPE_ROTATE5 |
#define | GEIS_GESTURE_TYPE_TAP1 |
#define | GEIS_GESTURE_TYPE_TAP2 |
#define | GEIS_GESTURE_TYPE_TAP3 |
#define | GEIS_GESTURE_TYPE_TAP4 |
#define | GEIS_GESTURE_TYPE_TAP5 |
#define | GEIS_GESTURE_TYPE_TOUCH1 |
#define | GEIS_GESTURE_TYPE_TOUCH2 |
#define | GEIS_GESTURE_TYPE_TOUCH3 |
#define | GEIS_GESTURE_TYPE_TOUCH4 |
#define | GEIS_GESTURE_TYPE_TOUCH5 |
#define | GEIS_GESTURE_TYPE_SYSTEM |
A special gesture type than enabled system-wide gesture priority. | |
#define | GEIS_GESTURE_ATTRIBUTE_ANGLE |
#define | GEIS_GESTURE_ATTRIBUTE_ANGLE_DELTA |
#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_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_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_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_CONFIG_UNIX_FD |
Gets the Unix file descriptor for GEIS events. | |
#define | GEIS_ALL_INPUT_DEVICES |
#define | GEIS_ALL_GESTURES |
Selects ALL input devices. | |
#define | GEIS_NO_GESTURE_ID |
#define | GEIS_DEFAULT_EVENT_CALLBACK |
A special constant indicating the use of the default event callback. | |
Standard Initialization Arguments | |
| |
#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. | |
Vendor-defined Initialization Arguments | |
| |
#define | GEIS_INIT_UTOUCH_MOCK_ENGINE |
#define | GEIS_INIT_UTOUCH_XCB |
Required Configuration Items | |
| |
#define | GEIS_CONFIGURATION_FD |
Gets a Unix file descriptor that will signal the availablility of GEIS events for processing. | |
Vendor-defined Configuration Items | |
| |
#define | GEIS_CONFIG_UTOUCH_MAX_EVENTS |
Device Event Attributes | |
#define | GEIS_EVENT_ATTRIBUTE_DEVICE |
The event attribute containing a pointer to a GeisDevice. | |
Device Attributes | |
#define | GEIS_DEVICE_ATTRIBUTE_NAME |
The name of the input device. | |
#define | GEIS_DEVICE_ATTRIBUTE_ID |
The unique integer ID of the device. | |
#define | GEIS_DEVICE_ATTRIBUTE_TOUCHES |
The maximum number of touches a device is capable of reporting. | |
#define | GEIS_DEVICE_ATTRIBUTE_DIRECT_TOUCH |
Indicates the device is a direct touch device. | |
#define | GEIS_DEVICE_ATTRIBUTE_INDEPENDENT_TOUCH |
Indicates the device is an independent touch device. | |
Gesture Class Event Attributes | |
#define | GEIS_EVENT_ATTRIBUTE_CLASS |
The event attribute containing a pointer to a GeisGestureClass. | |
Gesture Class Attributes | |
#define | GEIS_CLASS_ATTRIBUTE_NAME |
The name of the gesture class. | |
#define | GEIS_CLASS_ATTRIBUTE_ID |
The unique integer ID of the gesture class. | |
Region Attributes | |
| |
#define | GEIS_REGION_ATTRIBUTE_WINDOWID |
The X11 windowid in which a gesture occurred. | |
Region Initialization Arguments | |
| |
#define | GEIS_REGION_X11_ROOT |
Selects the X11 root window as a region. | |
#define | GEIS_REGION_X11_WINDOWID |
Selects an X11 window as a region. | |
Gesture Frame Event Attributes | |
| |
#define | GEIS_EVENT_ATTRIBUTE_GROUPSET |
The event attribute containing a pointer to a GeisGroupSet. | |
#define | GEIS_EVENT_ATTRIBUTE_TOUCHSET |
The event attribute containing a pointer to a GeisTouchSet. | |
Touch Attributes | |
| |
#define | GEIS_TOUCH_ATTRIBUTE_ID |
Identifies the touch. | |
#define | GEIS_TOUCH_ATTRIBUTE_X |
The X coordinate of the touch. | |
#define | GEIS_TOUCH_ATTRIBUTE_Y |
The Y coordinate of the touch. | |
Typedefs | |
typedef enum GeisStatus | GeisStatus |
Errors returned from calls. | |
typedef enum GeisAttrType | GeisAttrType |
Attribute data types. | |
typedef struct GeisWinInfo | GeisWinInfo |
typedef unsigned int | GeisInputDeviceId |
typedef void(* | GeisInputCallback )(void *cookie, GeisInputDeviceId device_id, void *attrs) |
Prototype for input device callback functions. | |
typedef struct GeisInputFuncs | GeisInputFuncs |
Callback functions used to handle changes in the available input devices. | |
typedef unsigned int | GeisGestureType |
typedef unsigned int | GeisGestureId |
typedef struct GeisGestureAttr | GeisGestureAttr |
An individual gesture attribute. | |
typedef void(* | GeisGestureCallback )(void *cookie, GeisGestureType gesture_type, GeisGestureId gesture_id, GeisSize attr_count, GeisGestureAttr *attrs) |
A callback used for different gesture events. | |
typedef struct GeisGestureFuncs | GeisGestureFuncs |
The set of callback functions invoked for various gesture-related events. | |
typedef enum _GeisEventType | GeisEventType |
typedef void(* | GeisEventCallback )(Geis geis, GeisEvent event, void *context) |
The application callback type for the event dispatcher. | |
typedef enum _GeisFilterFacility | GeisFilterFacility |
Indicates the type of filter. | |
typedef enum _GeisFilterOperation | GeisFilterOperation |
Indicates the type of filter operation. | |
typedef enum GeisSubscriptionFlags | GeisSubscriptionFlags |
Enumerations | |
enum | GeisStatus { GEIS_STATUS_SUCCESS, GEIS_STATUS_CONTINUE, GEIS_STATUS_EMPTY, GEIS_STATUS_NOT_SUPPORTED, GEIS_BAD_ARGUMENT, GEIS_UNKNOWN_ERROR, GEIS_STATUS_BAD_ARGUMENT, GEIS_STATUS_UNKNOWN_ERROR } |
Errors returned from calls. More... | |
enum | GeisAttrType { GEIS_ATTR_TYPE_UNKNOWN, GEIS_ATTR_TYPE_BOOLEAN, GEIS_ATTR_TYPE_FLOAT, GEIS_ATTR_TYPE_INTEGER, GEIS_ATTR_TYPE_POINTER, GEIS_ATTR_TYPE_STRING } |
Attribute data types. More... | |
enum | _GeisEventType { GEIS_EVENT_DEVICE_AVAILABLE, GEIS_EVENT_DEVICE_UNAVAILABLE, GEIS_EVENT_CLASS_AVAILABLE, GEIS_EVENT_CLASS_CHANGED, GEIS_EVENT_CLASS_UNAVAILABLE, GEIS_EVENT_GESTURE_BEGIN, GEIS_EVENT_GESTURE_UPDATE, GEIS_EVENT_GESTURE_END, GEIS_EVENT_INIT_COMPLETE, GEIS_EVENT_USER_DEFINED, GEIS_EVENT_ERROR } |
enum | _GeisFilterFacility { GEIS_FILTER_DEVICE, GEIS_FILTER_CLASS, GEIS_FILTER_REGION } |
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... | |
enum | GeisSubscriptionFlags { GEIS_SUBSCRIPTION_NONE, GEIS_SUBSCRIPTION_GRAB, GEIS_SUBSCRIPTION_CONT } |
These flags are used when creating a new subscription and affect the nature of the gestures recognized by the subscription. More... | |
Functions | |
GeisStatus | geis_configuration_supported (GeisInstance geis_instance, int configuration_item) |
Indicates if a particular feaure is supported. | |
GeisStatus | geis_configuration_get_value (GeisInstance geis_instance, int configuration_item, void *value) |
Gets a feature configuration value. | |
GeisStatus | geis_configuration_set_value (GeisInstance geis_instance, int configuration_item, void *value) |
Sets a feature configuration value. | |
GeisStatus | geis_event_dispatch (GeisInstance geis_instance) |
Dispatches geis events until there are no further events available. | |
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. | |
GeisStatus | geis_get_configuration (Geis geis, GeisString configuration_item_name, void *configuration_item_value) |
Gets a feature configuration value. | |
GeisStatus | geis_set_configuration (Geis geis, GeisString configuration_item_name, void *configuration_item_value) |
Sets a feature configuration value. | |
GeisStatus | geis_input_devices (GeisInstance geis_instance, GeisInputFuncs *func, void *cookie) |
Registers a callback to receive information on input devices. | |
GeisStatus | geis_subscribe (GeisInstance geis_instance, GeisInputDeviceId *input_list, const char **gesture_list, GeisGestureFuncs *funcs, void *cookie) |
Registers a callback to receive gesture events. | |
GeisStatus | geis_unsubscribe (GeisInstance geis_instance, GeisGestureType *gesture_list) |
Unsubscribes to one or more gestures. | |
GeisString | geis_attr_name (GeisAttr attr) |
An opaque type that encapsulates a GEIS attribute. | |
GeisAttrType | geis_attr_type (GeisAttr attr) |
Gets the type of an attribute value. | |
GeisBoolean | geis_attr_value_to_boolean (GeisAttr attr) |
Gets the value of an attribute as a GeisBoolean. | |
GeisFloat | geis_attr_value_to_float (GeisAttr attr) |
Gets the value of an attribute as a GeisFloat. | |
GeisInteger | geis_attr_value_to_integer (GeisAttr attr) |
Gets the value of an attribute as a GeisInteger. | |
GeisPointer | geis_attr_value_to_pointer (GeisAttr attr) |
Gets the value of an attribute as a GeisPointer. | |
GeisString | geis_attr_value_to_string (GeisAttr attr) |
Gets the value of an attribute as a GeisString. | |
void | geis_register_event_callback (Geis geis, GeisEventCallback event_callback, void *context) |
Registers an event-handler callback. | |
GeisStatus | geis_dispatch_events (Geis geis) |
Pumps the GEIS event loop. | |
GeisStatus | geis_next_event (Geis geis, GeisEvent *event) |
Retrieves the next queued GEIS event. | |
void | geis_register_device_callback (Geis geis, GeisEventCallback event_callback, void *context) |
void | geis_register_class_callback (Geis geis, GeisEventCallback event_callback, void *context) |
Registers a callback to receive gesture class change notifications. |
This is the public interface for the GEIS gesture API.
Copyright 2010, 2011 Canonical Ltd.
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 US
#define GEIS_VERSION_1_0 |
GEIS version macros.
These macros can be tested at compile time to query for support of various features.