efl/legacy/elementary/src/lib/elm_gesture_layer_legacy.h

112 lines
3.3 KiB
C

/**
* Call this function to construct a new gesture-layer object.
*
* @param parent The gesture layer's parent widget.
*
* @return A new gesture layer object.
*
* This does not activate the gesture layer. You have to
* call elm_gesture_layer_attach() in order to 'activate' gesture-layer.
*
*/
EAPI Evas_Object *elm_gesture_layer_add(Evas_Object *parent);
/**
* Call this function to get repeat-events settings.
*
* @param obj gesture-layer.
*
* @return repeat events settings.
* @see elm_gesture_layer_hold_events_set()
*/
EAPI Eina_Bool elm_gesture_layer_hold_events_get(const Evas_Object *obj);
/**
* This function is to make gesture-layer repeat events.
* Set this if you like to get the raw events only if gestures were not
* detected.
* Clear this if you like gesture layer to forward events as testing gestures.
*
* @param obj gesture layer.
* @param hold_events hold events or not.
*
*/
EAPI void elm_gesture_layer_hold_events_set(Evas_Object *obj, Eina_Bool hold_events);
/**
* This function returns step-value for zoom action.
*
* @param obj gesture-layer.
* @return zoom step value.
*
* @see elm_gesture_layer_zoom_step_set()
*/
EAPI double elm_gesture_layer_zoom_step_get(const Evas_Object *obj);
/**
* This function sets step-value for zoom action.
* Set step to any positive value.
* Cancel step setting by setting to 0
*
* @param obj gesture-layer.
* @param step new zoom step value.
*
* @see elm_gesture_layer_zoom_step_get()
*/
EAPI void elm_gesture_layer_zoom_step_set(Evas_Object *obj, double step);
/**
* This function returns step-value for rotate action.
*
* @param obj gesture-layer.
* @return rotate step value.
*
*/
EAPI double elm_gesture_layer_rotate_step_get(const Evas_Object *obj);
/**
* This function sets step-value for rotate action.
* Set step to any positive value.
* Cancel step setting by setting to 0
*
* @param obj gesture-layer.
* @param step new rotate step value.
*
*/
EAPI void elm_gesture_layer_rotate_step_set(Evas_Object *obj, double step);
/**
* Attach a given gesture layer widget to an Evas object, thus setting
* the widget's @b target.
*
* @param obj A gesture layer to attach an object to.
* @param target Object to attach to @a obj (target)
*
* A gesture layer target may be whichever Evas object one
* chooses. This will be object @a obj will listen all mouse and key
* events from, to report the gestures made upon it back.
*
* @return @c EINA_TRUE, on success, @c EINA_FALSE otherwise.
*
*/
EAPI Eina_Bool elm_gesture_layer_attach(Evas_Object *obj, Evas_Object *target);
/**
* Use function to set callbacks to be notified about
* change of state of gesture.
* When a user registers a callback with this function
* this means this gesture has to be tested.
*
* When ALL callbacks for a gesture are set to NULL
* it means user isn't interested in gesture-state
* and it will not be tested.
*
* @param obj gesture-layer.
* @param idx The gesture you would like to track its state.
* @param cb callback function pointer.
* @param cb_type what event this callback tracks: START, MOVE, END, ABORT.
* @param data user info to be sent to callback (usually, Smart Data)
*
*/
EAPI void elm_gesture_layer_cb_set(Evas_Object *obj, Elm_Gesture_Type idx, Elm_Gesture_State cb_type, Elm_Gesture_Event_Cb cb, void *data);