Common data structure for all gestures.
Synopsis:
typedef struct gesture_base {
TAILQ_ENTRY(gesture_base) glink;
struct gestures_set * set ;
gesture_e type ;
gesture_state_e state ;
gesture_funcs_t funcs ;
gesture_callback_f callback ;
gestures_bucket_t mustallfail ;
gestures_bucket_t faildependents ;
}gesture_base_t;
Data:
- TAILQ_ENTRY
- A macro that resolves to pointers into the gestures bucket.
- Use the gestures_bucket_*() functions to manipulate the gestures bucket,
rather than manipulating it directly.
- struct gestures_set * set
- A pointer to the gesture set.
- gesture_e type
- The gesture type.
- gesture_state_e state
- The current state of the gesture.
- gesture_funcs_t funcs
- The state and memory handling functions.
- gesture_callback_f callback
- The gesture handling function, triggered when a gesture changes state.
- gestures_bucket_t mustallfail
- List of gestures that must fail for this gesture to complete.
- gestures_bucket_t faildependents
- List of gestures that can only complete after this gesture fails.
Library:
libgestures
Description:
This structure represents information that is common to all gestures. Specific gestures include
the gesture base in their representation, and also include additional members to
capture gesture-specific information.
It is up to the application to define the
failure dependencies between gestures and to add gestures to a gesture set.