GEIS
2.0
Gesture Engine Interface Support
|
Gesture state information. More...
Data Structures | |
class | GeisGroup |
A collection of gesture frames. More... | |
class | GeisGroupSet |
A collection of GeisGroups. More... | |
class | GeisTouch |
An instance of a touch. More... | |
class | GeisTouchId |
Relates a touch in a frame to a touch object in a set. More... | |
class | GeisTouchSet |
A collection of GeisTouch. More... | |
class | GeisFrame |
A collection of information describing the state of a gesture. More... | |
Functions | |
GeisStatus | geis_gesture_accept (Geis geis, GeisGroup group, GeisGestureId gesture_id) |
Marks a gesture as accepted. More... | |
GeisStatus | geis_gesture_reject (Geis geis, GeisGroup group, GeisGestureId gesture_id) |
Marks a gesture as rejected. More... | |
GeisSize | geis_groupset_group_count (GeisGroupSet groupset) |
Gets the number of gesture groups in a groupset. More... | |
GeisGroup | geis_groupset_group (GeisGroupSet groupset, GeisSize index) |
Gets an indicated gesture group from a groupset. More... | |
GeisInteger | geis_group_id (GeisGroup group) |
Gets the identifier of a gesture group. More... | |
GeisSize | geis_group_frame_count (GeisGroup group) |
Gets the number of gesture frames in a gesture group. More... | |
GeisFrame | geis_group_frame (GeisGroup group, GeisSize index) |
Gets an indicated gesture frame from a gesture group. More... | |
void | geis_group_reject (GeisGroup group) |
Marks a gesture group as rejected. More... | |
GeisSize | geis_touchset_touch_count (GeisTouchSet touchset) |
Gets the number of touches in a touchset. More... | |
GeisTouch | geis_touchset_touch (GeisTouchSet touchset, GeisSize index) |
Gets an indicated touch from a touchset. More... | |
GeisTouch | geis_touchset_touch_by_id (GeisTouchSet touchset, GeisTouchId touchid) |
Gets an identified touch from a touchset. More... | |
GeisTouchId | geis_touch_id (GeisTouch touch) |
Gets the identifier of a touch. More... | |
GeisSize | geis_touch_attr_count (GeisTouch touch) |
Gets the number of attrs associated with a touch. More... | |
GeisAttr | geis_touch_attr (GeisTouch touch, GeisSize index) |
Gets an indicated attr from a touch. More... | |
GeisAttr | geis_touch_attr_by_name (GeisTouch touch, GeisString name) |
Gets a named attr from a touch. More... | |
GeisGestureId | geis_frame_id (GeisFrame frame) |
Gets the identifier of a gesture frame. More... | |
GeisBoolean | geis_frame_is_class (GeisFrame frame, GeisGestureClass gesture_class) |
Indicates if a gesture frame belongs to a gesture class. More... | |
GeisSize | geis_frame_attr_count (GeisFrame frame) |
Gets the number of attrs associated with a gesture frame. More... | |
GeisAttr | geis_frame_attr (GeisFrame frame, GeisSize index) |
Gets an indicated attr from a gesture frame. More... | |
GeisAttr | geis_frame_attr_by_name (GeisFrame frame, GeisString name) |
Gets a named attr from a gesture frame. More... | |
GeisFloat * | geis_frame_matrix (GeisFrame frame) |
Gets the current transform matrix of a gesture. More... | |
GeisSize | geis_frame_touchid_count (GeisFrame frame) |
Gets the number of touches making up a gesture for the frame. More... | |
GeisTouchId | geis_frame_touchid (GeisFrame frame, GeisSize index) |
Gets the ID of the indicated touch within the gesture frame. More... | |
Gesture Frame Event Attributes | |
For example: If four fingers are being simultaneously moved over a touchpad or touchscreen surface, Geis could start generating gesture events containing two groups: One group having a single frame from a four-fingers gesture of some class and a second group having two frames, each from a different two-fingers gesture (like one from a Rotate and the other from a Pinch gesture). This means that geis could interpret the movements of those four touch points as both a single four-fingers gesture and as two separate two-fingers gestures. There can be only a single frame per gesture in a gesture event. I.e. no two frames will return the same GeisGestureId in the same gesture event. | |
#define | GEIS_EVENT_ATTRIBUTE_GROUPSET |
The event attribute containing a pointer to a GeisGroupSet. More... | |
#define | GEIS_EVENT_ATTRIBUTE_TOUCHSET |
The event attribute containing a pointer to a GeisTouchSet. More... | |
#define | GEIS_EVENT_ATTRIBUTE_CONSTRUCTION_FINISHED |
Event attribute containing a boolean. More... | |
Touch Attributes | |
If the touch comes from a direct device (see GEIS_DEVICE_ATTRIBUTE_DIRECT_TOUCH) its position (x and y attributes) will be in window coordinates, otherwise it will be in the input device's own coordinate system. | |
#define | GEIS_TOUCH_ATTRIBUTE_ID |
Identifies the touch. More... | |
#define | GEIS_TOUCH_ATTRIBUTE_X |
The X coordinate of the touch. More... | |
#define | GEIS_TOUCH_ATTRIBUTE_Y |
The Y coordinate of the touch. More... | |
Gesture state information.
Gesture frames, and their associated groups and touches, convey information about the current state of recognized gestures.
#define GEIS_EVENT_ATTRIBUTE_CONSTRUCTION_FINISHED |
Event attribute containing a boolean.
This property allows the client to determine if all the possible gestures from the set of touches in this event have already been presented. When this value is true, the client will have received all the information needed to make a gesture accept and reject decision based on potentially overlapping gestures. An example is when both one and two touch gestures are subscribed on the same window with the same gesture classes and thresholds. When this property is true for one touch gesture events, the client can be sure there are no other touches unless a two touch gesture event has already been sent. Another example is when you subscribe for three touches Touch and four touches Drag. As soon as a third finger is detected a three touches Touch gesture will begin, but you cannot be sure a fourth finger isn't coming right after (that can eventually cause a four touches Drag) until this property is true.
#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.
#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.
GeisAttr geis_frame_attr | ( | GeisFrame | frame, |
GeisSize | index | ||
) |
Gets an indicated attr from a gesture frame.
[in] | frame | The gesture frame. |
[in] | index | Indicates which attr to retrieve. |
GeisAttr geis_frame_attr_by_name | ( | GeisFrame | frame, |
GeisString | name | ||
) |
Gets a named attr from a gesture frame.
[in] | frame | The gesture frame. |
[in] | name | Names the attr to retrieve, such as one of the GEIS_GESTURE_ATTRIBUTE_* constants. |
Usage example:
GeisSize geis_frame_attr_count | ( | GeisFrame | frame | ) |
Gets the number of attrs associated with a gesture frame.
[in] | frame | The gesture frame. |
GeisGestureId geis_frame_id | ( | GeisFrame | frame | ) |
Gets the identifier of a gesture frame.
[in] | frame | the gesture frame. |
GeisBoolean geis_frame_is_class | ( | GeisFrame | frame, |
GeisGestureClass | gesture_class | ||
) |
Indicates if a gesture frame belongs to a gesture class.
[in] | frame | The gesture frame. |
[in] | gesture_class | The gesture class. |
gesture_class
, false otherwise. GeisFloat * geis_frame_matrix | ( | GeisFrame | frame | ) |
Gets the current transform matrix of a gesture.
[in] | frame | The gesture frame. |
GeisTouchId geis_frame_touchid | ( | GeisFrame | frame, |
GeisSize | index | ||
) |
Gets the ID of the indicated touch within the gesture frame.
[in] | frame | The gesture frame. |
[in] | index | Indicates which touch ID to retrieve. |
GeisSize geis_frame_touchid_count | ( | GeisFrame | frame | ) |
Gets the number of touches making up a gesture for the frame.
[in] | frame | The gesture frame. |
GeisStatus geis_gesture_accept | ( | Geis | geis, |
GeisGroup | group, | ||
GeisGestureId | gesture_id | ||
) |
Marks a gesture as accepted.
[in] | geis | The GEIS instance. |
[in] | group | The gesture group containing the accepted gesture. |
[in] | gesture_id | Identifies the gesture. |
GeisStatus geis_gesture_reject | ( | Geis | geis, |
GeisGroup | group, | ||
GeisGestureId | gesture_id | ||
) |
Marks a gesture as rejected.
[in] | geis | The GEIS instance. |
[in] | group | The gesture group containing the rejected gesture. |
[in] | gesture_id | Identifies the gesture. |
After you reject a gesture you no longer get its frames.
Gets an indicated gesture frame from a gesture group.
[in] | group | The gesture group. |
[in] | index | Indicates which gesture frame to retrieve. |
GeisSize geis_group_frame_count | ( | GeisGroup | group | ) |
Gets the number of gesture frames in a gesture group.
[in] | group | The gesture group. |
GeisInteger geis_group_id | ( | GeisGroup | group | ) |
Gets the identifier of a gesture group.
[in] | group | The gesture group. |
void geis_group_reject | ( | GeisGroup | group | ) |
Marks a gesture group as rejected.
[in] | group | The gesture group to reject. |
GeisGroup geis_groupset_group | ( | GeisGroupSet | groupset, |
GeisSize | index | ||
) |
Gets an indicated gesture group from a groupset.
[in] | groupset | The groupset. |
[in] | index | Indicates which gesture group to retrieve. |
GeisSize geis_groupset_group_count | ( | GeisGroupSet | groupset | ) |
Gets the number of gesture groups in a groupset.
[in] | groupset | The groupset. |
GeisAttr geis_touch_attr | ( | GeisTouch | touch, |
GeisSize | index | ||
) |
Gets an indicated attr from a touch.
[in] | touch | The touch. |
[in] | index | Indicates which attr to retrieve. |
GeisAttr geis_touch_attr_by_name | ( | GeisTouch | touch, |
GeisString | name | ||
) |
Gets a named attr from a touch.
[in] | touch | The touch. |
[in] | name | Names the attr to retrieve. |
GeisSize geis_touch_attr_count | ( | GeisTouch | touch | ) |
Gets the number of attrs associated with a touch.
[in] | touch | The touch. |
GeisTouchId geis_touch_id | ( | GeisTouch | touch | ) |
Gets the identifier of a touch.
[in] | touch | The touch. |
GeisTouch geis_touchset_touch | ( | GeisTouchSet | touchset, |
GeisSize | index | ||
) |
Gets an indicated touch from a touchset.
[in] | touchset | The touchset. |
[in] | index | Indicates which touch to retrieve. |
GeisTouch geis_touchset_touch_by_id | ( | GeisTouchSet | touchset, |
GeisTouchId | touchid | ||
) |
Gets an identified touch from a touchset.
[in] | touchset | The touchset. |
[in] | touchid | Identifies a touch. |
Returns the identified touch, or NULL if the touchid is not in the touchset.
GeisSize geis_touchset_touch_count | ( | GeisTouchSet | touchset | ) |
Gets the number of touches in a touchset.
[in] | touchset | The touchset, |