enum Elm.Gesture.Type { [[ Enum of supported gesture types. ]] legacy: elm_gesture; first = 0, n_taps, [[N fingers single taps]] n_long_taps, [[N fingers single long-taps]] n_double_taps, [[N fingers double-single taps]] n_triple_taps, [[N fingers triple-single taps]] momentum, [[Reports momentum in the direction of move]] n_lines, [[N fingers line gesture]] n_flicks, [[N fingers flick gesture]] zoom, [[Zoom]] rotate, [[Rotate]] last } enum Elm.Gesture.State { [[ Enum of gesture states. ]] undefined = -1, [[Gesture not started]] start, [[Gesture started]] move, [[Gesture is ongoing]] end, [[Gesture completed]] abort [[Ongoing gesture was aborted]] } class Elm.Gesture_Layer (Elm.Widget) { eo_prefix: elm_obj_gesture_layer; methods { @property zoom_step { [[Control step value for zoom action.]] set {} get {} values { step: double; [[The zoom step value.]] } } @property tap_finger_size { set { [[This function sets the gesture layer finger-size for taps. If not set, it's taken from elm_config. Set to 0 if you want GLayer to use the system finger size value (default). @since 1.8 ]] } get { [[This function returns the gesture layer finger-size for taps @since 1.8 ]] } values { sz: Evas.Coord; [[The finger size.]] } } @property hold_events { set { [[This function makes 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. ]] } get { [[Get the repeat-events setting.]] } values { hold_events: bool; } } @property rotate_step { set { [[This function sets the step value for rotate action. Set to 0 to cancel step setting. ]] } get { [[This function returns step-value for rotate action.]] } values { step: double; [[New rotate step value.]] } } @property cb { set { [[Set the gesture state change callback. When all callbacks for the gesture are set to $null, it means this gesture is disabled. ]] } values { idx: Elm.Gesture.Type; [[The gesture you want to track state of.]] cb_type: Elm.Gesture.State; [[The event the callback tracks (START, MOVE, END, ABORT).]] cb: Elm_Gesture_Event_Cb; [[The callback itself.]] data: void * @optional; [[Custom data to be passed.]] } } attach { [[Attach a gesture layer widget to an Evas object (setting the widget's target). A gesture layer's target may be any Evas object. This object will be used to listen to mouse and key events. ]] return: bool; [[$true on success, $false otherwise.]] params { @in target: Evas.Object *; [[The object to attach.]] } } cb_del { [[Remove a gesture callback.]] params { @in idx: Elm.Gesture.Type; [[The gesture you want to track state of.]] @in cb_type: Elm.Gesture.State; [[The event the callback tracks (START, MOVE, END, ABORT).]] @in cb: Elm_Gesture_Event_Cb; [[The callback itself.]] @in data: void * @nullable; [[Custom callback data.]] } } cb_add { [[Add a gesture state change callback. When all callbacks for the gesture are set to $null, it means this gesture is disabled. If a function was already set for this gesture/type/state, it will be replaced by the new one. For ABI compat, callbacks added by @.cb_add will be removed. It is recommended to use only one of these functions for a gesture object. ]] params { @in idx: Elm.Gesture.Type; [[The gesture you want to track state of.]] @in cb_type: Elm.Gesture.State; [[The event the callback tracks (START, MOVE, END, ABORT).]] @in cb: Elm_Gesture_Event_Cb; [[The callback itself.]] @in data: void * @optional; [[Custom data to be passed.]] } } } implements { class.constructor; Eo.Base.constructor; Evas.Object_Smart.add; Evas.Object_Smart.del; Elm.Widget.disable; } }