diff options
author | Jaehwan Kim <jae.hwan.kim@samsung.com> | 2013-04-01 17:13:32 +0900 |
---|---|---|
committer | Jaehwan Kim <jae.hwan.kim@samsung.com> | 2013-04-01 17:13:32 +0900 |
commit | a54fb3d36c34f7e71cc4aca6b6221ce8d329da00 (patch) | |
tree | 4bc4cfd7f25626c3887e095dc8c869522cb30f37 | |
parent | 7cb09c14c8dede701c2332b9e50b9f8c1c16295b (diff) | |
download | elementary-a54fb3d36c34f7e71cc4aca6b6221ce8d329da00.tar.gz |
Add the repeat_events_set/get for blocking the events of content objects.
This feature is useful to the access.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/lib/elm_interface_scrollable.c | 27 | ||||
-rw-r--r-- | src/lib/elm_interface_scrollable.h | 24 |
4 files changed, 57 insertions, 0 deletions
@@ -1194,3 +1194,8 @@ 2013-04-01 Jaehwan Kim * Scroller decides whether the accelerator is on or not, depending on the velocity and the interval time of the flick event. + +2013-04-01 Jaehwan Kim + + * Add the repeat_events_set/get for blocking the events of content objects. + This feature is useful to the access. @@ -55,6 +55,7 @@ Additions: * Add API - elm_object_focused_object_get. * Add APIs - elm_entry_input_panel_layout_variation_set/get * Add elm_map smart callback - "language,changed". + * Add the repeat_events_set/get for blocking the events of content objects. Improvements: diff --git a/src/lib/elm_interface_scrollable.c b/src/lib/elm_interface_scrollable.c index e64bd2bb3..f3dda510b 100644 --- a/src/lib/elm_interface_scrollable.c +++ b/src/lib/elm_interface_scrollable.c @@ -3921,6 +3921,28 @@ _elm_scroll_single_direction_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) } static void +_elm_scroll_repeat_events_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +{ + Elm_Scrollable_Smart_Interface_Data *sid = _pd; + Eina_Bool repeat_events = va_arg(*list, int); + + if (sid->event_rect) + evas_object_repeat_events_set(sid->event_rect, repeat_events); +} + +static void +_elm_scroll_repeat_events_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +{ + Elm_Scrollable_Smart_Interface_Data *sid = _pd; + Eina_Bool *ret = va_arg(*list, Eina_Bool *); + + if (sid->event_rect) + *ret = evas_object_repeat_events_get(sid->event_rect); + else + *ret = EINA_TRUE; +} + +static void _elm_scroll_hold_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) { Elm_Scrollable_Smart_Interface_Data *sid = _pd; @@ -3928,6 +3950,7 @@ _elm_scroll_hold_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) sid->hold = hold; } + static void _elm_scroll_freeze_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) { @@ -4250,6 +4273,8 @@ _elm_scrollable_interface_constructor(Eo_Class *klass) EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_POLICY_GET), _elm_scroll_policy_get), EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_SINGLE_DIRECTION_SET), _elm_scroll_single_direction_set), EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_SINGLE_DIRECTION_GET), _elm_scroll_single_direction_get), + EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_REPEAT_EVENTS_SET), _elm_scroll_repeat_events_set), + EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_REPEAT_EVENTS_GET), _elm_scroll_repeat_events_get), EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_MIRRORED_SET), _elm_scroll_mirrored_set), EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_HOLD_SET), _elm_scroll_hold_set), EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_FREEZE_SET), _elm_scroll_freeze_set), @@ -4316,6 +4341,8 @@ static const Eo_Op_Description op_desc[] = { EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_POLICY_GET, "description here"), EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_SINGLE_DIRECTION_SET, "description here"), EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_SINGLE_DIRECTION_GET, "description here"), + EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_REPEAT_EVENTS_SET, "description here"), + EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_REPEAT_EVENTS_GET, "description here"), EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_MIRRORED_SET, "description here"), EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_HOLD_SET, "description here"), EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_FREEZE_SET, "description here"), diff --git a/src/lib/elm_interface_scrollable.h b/src/lib/elm_interface_scrollable.h index 1a001e7a8..d0a2ab0d1 100644 --- a/src/lib/elm_interface_scrollable.h +++ b/src/lib/elm_interface_scrollable.h @@ -187,6 +187,8 @@ enum ELM_SCROLLABLE_INTERFACE_SUB_ID_POLICY_GET, ELM_SCROLLABLE_INTERFACE_SUB_ID_SINGLE_DIRECTION_SET, ELM_SCROLLABLE_INTERFACE_SUB_ID_SINGLE_DIRECTION_GET, + ELM_SCROLLABLE_INTERFACE_SUB_ID_REPEAT_EVENTS_SET, + ELM_SCROLLABLE_INTERFACE_SUB_ID_REPEAT_EVENTS_GET, ELM_SCROLLABLE_INTERFACE_SUB_ID_MIRRORED_SET, ELM_SCROLLABLE_INTERFACE_SUB_ID_HOLD_SET, ELM_SCROLLABLE_INTERFACE_SUB_ID_FREEZE_SET, @@ -651,6 +653,28 @@ enum #define elm_scrollable_interface_single_direction_get(single_dir) ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_SINGLE_DIRECTION_GET), EO_TYPECHECK(Eina_Bool *, single_dir) /** + * @def elm_scrollable_interface_repeat_events_set + * @since 1.8 + * + * No description supplied by the EAPI. + * + * @param[in] repeat_events + * + */ +#define elm_scrollable_interface_repeat_events_set(repeat_events) ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_REPEAT_EVENTS_SET), EO_TYPECHECK(Eina_Bool, repeat_events) + +/** + * @def elm_scrollable_interface_repeat_events_get + * @since 1.8 + * + * No description supplied by the EAPI. + * + * @param[out] repeat_events + * + */ +#define elm_scrollable_interface_repeat_events_get(repeat_events) ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_REPEAT_EVENTS_GET), EO_TYPECHECK(Eina_Bool *, repeat_events) + +/** * @def elm_scrollable_interface_mirrored_set * @since 1.8 * |