unsigned int flick_time_limit_ms;
double long_tap_start_timeout;
Eina_Bool glayer_continues_enable;
+ double double_tap_timeout;
double zoom_step;
double rotate_step;
if (!sd->target) return;
- evas_object_event_callback_del
- (sd->target, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb);
- evas_object_event_callback_del
- (sd->target, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move_cb);
- evas_object_event_callback_del
- (sd->target, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb);
+ evas_object_event_callback_del_full
+ (sd->target, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb, obj);
+ evas_object_event_callback_del_full
+ (sd->target, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move_cb, obj);
+ evas_object_event_callback_del_full
+ (sd->target, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, obj);
- evas_object_event_callback_del
- (sd->target, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel_cb);
+ evas_object_event_callback_del_full
+ (sd->target, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel_cb, obj);
- evas_object_event_callback_del
- (sd->target, EVAS_CALLBACK_MULTI_DOWN, _multi_down_cb);
+ evas_object_event_callback_del_full
+ (sd->target, EVAS_CALLBACK_MULTI_DOWN, _multi_down_cb, obj);
- evas_object_event_callback_del
- (sd->target, EVAS_CALLBACK_MULTI_MOVE, _multi_move_cb);
+ evas_object_event_callback_del_full
+ (sd->target, EVAS_CALLBACK_MULTI_MOVE, _multi_move_cb, obj);
- evas_object_event_callback_del
- (sd->target, EVAS_CALLBACK_MULTI_UP, _multi_up_cb);
+ evas_object_event_callback_del_full
+ (sd->target, EVAS_CALLBACK_MULTI_UP, _multi_up_cb, obj);
- evas_object_event_callback_del
- (sd->target, EVAS_CALLBACK_KEY_DOWN, _key_down_cb);
- evas_object_event_callback_del
- (sd->target, EVAS_CALLBACK_KEY_UP, _key_up_cb);
+ evas_object_event_callback_del_full
+ (sd->target, EVAS_CALLBACK_KEY_DOWN, _key_down_cb, obj);
+ evas_object_event_callback_del_full
+ (sd->target, EVAS_CALLBACK_KEY_UP, _key_up_cb, obj);
}
/**
pe_list = _pointer_event_record
(st, pe_list, pe, sd, event_info, event_type);
- if ((!sd->gest_taps_timeout) &&
- (_elm_config->glayer_double_tap_timeout > 0.0))
- sd->gest_taps_timeout =
- ecore_timer_add(_elm_config->glayer_double_tap_timeout,
- _multi_tap_timeout, gesture->obj);
- else if (sd->gest_taps_timeout)
+ if (!sd->gest_taps_timeout)
+ {
+ if (sd->double_tap_timeout > 0.0)
+ {
+ sd->gest_taps_timeout =
+ ecore_timer_add(sd->double_tap_timeout,
+ _multi_tap_timeout, gesture->obj);
+ }
+ }
+ else
ecore_timer_reset(sd->gest_taps_timeout);
/* This is the first mouse down we got */
/* FIXME: Hack to get around old configs - if too small, enlarge. */
if (_elm_config->glayer_double_tap_timeout < 0.00001)
_elm_config->glayer_double_tap_timeout = 0.25;
+ priv->double_tap_timeout = _elm_config->glayer_double_tap_timeout;
memset(priv->gesture, 0, sizeof(priv->gesture));
}
free(sd->gesture[i]);
}
+ if (sd->gest_taps_timeout)
+ {
+ ecore_timer_del(sd->gest_taps_timeout);
+ sd->gest_taps_timeout = NULL;
+ }
_elm_gesture_layer_parent_sc->base.del(obj); /* handles freeing sd */
}
p->state = ELM_GESTURE_STATE_UNDEFINED;
SET_TEST_BIT(p);
}
+
+
+EAPI void
+elm_gesture_layer_line_min_length_set(Evas_Object *obj, int line_min_length)
+{
+ ELM_GESTURE_LAYER_CHECK(obj);
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ sd->line_min_length = line_min_length;
+}
+
+
+EAPI int
+elm_gesture_layer_line_min_length_get(const Evas_Object *obj)
+{
+ ELM_GESTURE_LAYER_CHECK(obj) 0;
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ return sd->line_min_length;
+}
+
+EAPI void
+elm_gesture_layer_zoom_distance_tolerance_set(Evas_Object *obj, Evas_Coord zoom_distance_tolerance)
+{
+ ELM_GESTURE_LAYER_CHECK(obj);
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ sd->zoom_distance_tolerance = zoom_distance_tolerance;
+}
+
+EAPI Evas_Coord
+elm_gesture_layer_zoom_distance_tolerance_get(const Evas_Object *obj)
+{
+ ELM_GESTURE_LAYER_CHECK(obj) 0;
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ return sd->zoom_distance_tolerance;
+}
+
+EAPI void
+elm_gesture_layer_line_distance_tolerance_set(Evas_Object *obj, Evas_Coord line_distance_tolerance)
+{
+ ELM_GESTURE_LAYER_CHECK(obj);
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ sd->line_distance_tolerance = line_distance_tolerance;
+}
+
+EAPI Evas_Coord
+elm_gesture_layer_line_distance_tolerance_get(const Evas_Object *obj)
+{
+ ELM_GESTURE_LAYER_CHECK(obj) 0;
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ return sd->line_distance_tolerance;
+}
+
+EAPI void
+elm_gesture_layer_line_angular_tolerance_set(Evas_Object *obj, double line_angular_tolerance)
+{
+ ELM_GESTURE_LAYER_CHECK(obj);
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ sd->line_angular_tolerance = line_angular_tolerance;
+}
+
+EAPI double
+elm_gesture_layer_line_angular_tolerance_get(const Evas_Object *obj)
+{
+ ELM_GESTURE_LAYER_CHECK(obj) 0.0;
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ return sd->line_angular_tolerance;
+}
+
+EAPI void
+elm_gesture_layer_zoom_wheel_factor_set(Evas_Object *obj, double zoom_wheel_factor)
+{
+ ELM_GESTURE_LAYER_CHECK(obj);
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ sd->zoom_wheel_factor = zoom_wheel_factor;
+}
+
+EAPI double
+elm_gesture_layer_zoom_wheel_factor_get(const Evas_Object *obj)
+{
+ ELM_GESTURE_LAYER_CHECK(obj) 0.0;
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ return sd->zoom_wheel_factor;
+}
+
+EAPI void
+elm_gesture_layer_zoom_finger_factor_set(Evas_Object *obj, double zoom_finger_factor)
+{
+ ELM_GESTURE_LAYER_CHECK(obj);
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ sd->zoom_finger_factor = zoom_finger_factor;
+}
+
+EAPI double
+elm_gesture_layer_zoom_finger_factor_get(const Evas_Object *obj)
+{
+ ELM_GESTURE_LAYER_CHECK(obj) 0.0;
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ return sd->zoom_finger_factor;
+}
+
+EAPI void
+elm_gesture_layer_rotate_angular_tolerance_set(Evas_Object *obj, double rotate_angular_tolerance)
+{
+ ELM_GESTURE_LAYER_CHECK(obj);
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ sd->rotate_angular_tolerance = rotate_angular_tolerance;
+}
+
+EAPI double
+elm_gesture_layer_rotate_angular_tolerance_get(const Evas_Object *obj)
+{
+ ELM_GESTURE_LAYER_CHECK(obj) 0.0;
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ return sd->rotate_angular_tolerance;
+}
+
+EAPI void
+elm_gesture_layer_flick_time_limit_ms_set(Evas_Object *obj, unsigned int flick_time_limit_ms)
+{
+ ELM_GESTURE_LAYER_CHECK(obj);
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ sd->flick_time_limit_ms = flick_time_limit_ms;
+}
+
+EAPI unsigned int
+elm_gesture_layer_flick_time_limit_ms_get(const Evas_Object *obj)
+{
+ ELM_GESTURE_LAYER_CHECK(obj) 0;
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ return sd->flick_time_limit_ms;
+}
+
+EAPI void
+elm_gesture_layer_long_tap_start_timeout_set(Evas_Object *obj, double long_tap_start_timeout)
+{
+ ELM_GESTURE_LAYER_CHECK(obj);
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ sd->long_tap_start_timeout = long_tap_start_timeout;
+}
+
+EAPI double
+elm_gesture_layer_long_tap_start_timeout_get(const Evas_Object *obj)
+{
+ ELM_GESTURE_LAYER_CHECK(obj) 0.0;
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ return sd->long_tap_start_timeout;
+}
+
+EAPI void
+elm_gesture_layer_continues_enable_set(Evas_Object *obj, Eina_Bool continues_enable)
+{
+ ELM_GESTURE_LAYER_CHECK(obj);
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ sd->glayer_continues_enable = continues_enable;
+}
+
+EAPI Eina_Bool
+elm_gesture_layer_continues_enable_get(const Evas_Object *obj)
+{
+ ELM_GESTURE_LAYER_CHECK(obj) 0.0;
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ return sd->glayer_continues_enable;
+}
+
+EAPI void
+elm_gesture_layer_double_tap_timeout_set(Evas_Object *obj, double double_tap_timeout)
+{
+ ELM_GESTURE_LAYER_CHECK(obj);
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ sd->double_tap_timeout = double_tap_timeout;
+}
+
+EAPI double
+elm_gesture_layer_double_tap_timeout_get(const Evas_Object *obj)
+{
+ ELM_GESTURE_LAYER_CHECK(obj) 0.0;
+ ELM_GESTURE_LAYER_DATA_GET(obj, sd);
+ return sd->double_tap_timeout;
+}
EAPI Evas_Object *elm_gesture_layer_add(Evas_Object *parent);
/**
+ * @since 1.8
+ * This function sets the gesture layer line min length of an object
+ *
+ * @param obj gesture-layer.
+ * @param line_min_length the length.
+ *
+ */
+EAPI void elm_gesture_layer_line_min_length_set(Evas_Object *obj, int line_min_length);
+
+/**
+ * @since 1.8
+ * This function returns the gesture layer line min length of an object
+ *
+ * @param obj gesture-layer.
+ * @return the length.
+ *
+ */
+EAPI int elm_gesture_layer_line_min_length_get(const Evas_Object *obj);
+
+/**
+ * @since 1.8
+ * This function sets the gesture layer zoom distance tolerance of an object
+ *
+ * @param obj gesture-layer.
+ * @param zoom_distance_tolerance zoom distance tolerance
+ *
+ */
+EAPI void elm_gesture_layer_zoom_distance_tolerance_set(Evas_Object *obj, Evas_Coord zoom_distance_tolerance);
+
+/**
+ * @since 1.8
+ * This function returns the gesture layer zoom distance tolerance of an object
+ *
+ * @param obj gesture-layer.
+ * @return zoom distance tolerance
+ *
+ */
+EAPI Evas_Coord elm_gesture_layer_zoom_distance_tolerance_get(const Evas_Object *obj);
+
+/**
+ * @since 1.8
+ * This function sets the gesture layer line distance tolerance of an object
+ *
+ * @param obj gesture-layer.
+ * @param line_distance_tolerance line distance tolerance
+ *
+ */
+EAPI void elm_gesture_layer_line_distance_tolerance_set(Evas_Object *obj, Evas_Coord line_distance_tolerance);
+
+/**
+ * @since 1.8
+ * This function returns the gesture layer line distance tolerance of an object
+ *
+ * @param obj gesture-layer.
+ * @return line distance tolerance
+ *
+ */
+EAPI Evas_Coord elm_gesture_layer_line_distance_tolerance_get(const Evas_Object *obj);
+
+/**
+ * @since 1.8
+ * This function sets the gesture layer line angular tolerance of an object
+ *
+ * @param obj gesture-layer.
+ * @param line_angular_tolerance line angular tolerance
+ *
+ */
+EAPI void elm_gesture_layer_line_angular_tolerance_set(Evas_Object *obj, double line_angular_tolerance);
+
+/**
+ * @since 1.8
+ * This function returns the gesture layer line angular tolerance of an object
+ *
+ * @param obj gesture-layer.
+ * @return line angular tolerance
+ *
+ */
+EAPI double elm_gesture_layer_line_angular_tolerance_get(const Evas_Object *obj);
+
+/**
+ * @since 1.8
+ * This function sets the gesture layer zoom wheel factor of an object
+ *
+ * @param obj gesture-layer.
+ * @param zoom_wheel_factor zoom wheel factor
+ *
+ */
+EAPI void elm_gesture_layer_zoom_wheel_factor_set(Evas_Object *obj, double zoom_wheel_factor);
+
+/**
+ * @since 1.8
+ * This function returns the gesture layer zoom wheel factor of an object
+ *
+ * @param obj gesture-layer.
+ * @return zoom wheel factor
+ *
+ */
+EAPI double elm_gesture_layer_zoom_wheel_factor_get(const Evas_Object *obj);
+
+/**
+ * @since 1.8
+ * This function sets the gesture layer zoom finger factor of an object
+ *
+ * @param obj gesture-layer.
+ * @param zoom_finger_factor zoom finger factor
+ *
+ */
+EAPI void elm_gesture_layer_zoom_finger_factor_set(Evas_Object *obj, double zoom_finger_factor);
+
+/**
+ * @since 1.8
+ * This function returns the gesture layer zoom finger factor of an object
+ *
+ * @param obj gesture-layer.
+ * @return zoom finger factor
+ *
+ */
+EAPI double elm_gesture_layer_zoom_finger_factor_get(const Evas_Object *obj);
+
+/**
+ * @since 1.8
+ * This function sets the gesture layer rotate angular tolerance of an object
+ *
+ * @param obj gesture-layer.
+ * @param rotate_angular_tolerance rotate angular tolerance
+ *
+ */
+EAPI void elm_gesture_layer_rotate_angular_tolerance_set(Evas_Object *obj, double rotate_angular_tolerance);
+
+/**
+ * @since 1.8
+ * This function returns the gesture layer rotate angular tolerance of an object
+ *
+ * @param obj gesture-layer.
+ * @return rotate angular tolerance
+ *
+ */
+EAPI double elm_gesture_layer_rotate_angular_tolerance_get(const Evas_Object *obj);
+
+/**
+ * @since 1.8
+ * This function sets the gesture layer flick time limit (in ms) of an object
+ *
+ * @param obj gesture-layer.
+ * @param flick_time_limit_ms flick time limit (in ms)
+ *
+ */
+EAPI void elm_gesture_layer_flick_time_limit_ms_set(Evas_Object *obj, unsigned int flick_time_limit_ms);
+
+/**
+ * @since 1.8
+ * This function returns the gesture layer flick time limit (in ms) of an object
+ *
+ * @param obj gesture-layer.
+ * @return flick time limit (in ms)
+ *
+ */
+EAPI unsigned int elm_gesture_layer_flick_time_limit_ms_get(const Evas_Object *obj);
+
+/**
+ * @since 1.8
+ * This function sets the gesture layer long tap start timeout of an object
+ *
+ * @param obj gesture-layer.
+ * @param long_tap_start_timeout long tap start timeout
+ *
+ */
+EAPI void elm_gesture_layer_long_tap_start_timeout_set(Evas_Object *obj, double long_tap_start_timeout);
+
+/**
+ * @since 1.8
+ * this function returns the gesture layer long tap start timeout of an object
+ *
+ * @param obj gesture-layer.
+ * @return long tap start timeout
+ *
+ */
+EAPI double elm_gesture_layer_long_tap_start_timeout_get(const Evas_Object *obj);
+
+/**
+ * @since 1.8
+ * This function sets the gesture layer continues enable of an object
+ *
+ * @param obj gesture-layer.
+ * @param continues_enable continues enable
+ *
+ */
+EAPI void elm_gesture_layer_continues_enable_set(Evas_Object *obj, Eina_Bool continues_enable);
+
+/**
+ * @since 1.8
+ * This function returns the gesture layer continues enable of an object
+ *
+ * @param obj gesture-layer.
+ * @return continues enable
+ *
+ */
+EAPI Eina_Bool elm_gesture_layer_continues_enable_get(const Evas_Object *obj);
+
+/**
+ * @since 1.8
+ * This function sets the gesture layer double tap timeout of an object
+ *
+ * @param obj gesture-layer.
+ * @param double_tap_timeout double tap timeout
+ *
+ */
+EAPI void elm_gesture_layer_double_tap_timeout_set(Evas_Object *obj, double double_tap_timeout);
+
+/**
+ * @since 1.8
+ * this function returns the gesture layer double tap timeout of an object
+ *
+ * @param obj gesture-layer.
+ * @return double tap timeout
+ *
+ */
+EAPI double elm_gesture_layer_double_tap_timeout_get(const Evas_Object *obj);
+
+/**
* @}
*/