It's specific to scroller and can be implemented there. Moved.
Ref T5363
return EINA_FALSE;
}
+static inline void
+_elm_widget_parents_bounce_get(Eo *obj, Eina_Bool *horiz, Eina_Bool *vert)
+{
+ Evas_Object *parent_obj = obj;
+ Eina_Bool h = EINA_FALSE, v = EINA_FALSE;
+
+ *horiz = EINA_FALSE;
+ *vert = EINA_FALSE;
+
+ do
+ {
+ parent_obj = elm_widget_parent_get(parent_obj);
+ if ((!parent_obj) || (!efl_isa(parent_obj, ELM_WIDGET_CLASS))) break;
+
+ if (efl_isa(parent_obj, ELM_INTERFACE_SCROLLABLE_MIXIN))
+ {
+ elm_interface_scrollable_bounce_allow_get(parent_obj, &h, &v);
+ if (h) *horiz = EINA_TRUE;
+ if (v) *vert = EINA_TRUE;
+ }
+ }
+ while (parent_obj);
+}
+
static Eina_Bool
_elm_scroll_post_event_move(void *data,
Evas *e EINA_UNUSED)
if (!sid->down.want_dragged) return EINA_TRUE;
- elm_widget_parents_bounce_get(sid->obj, &horiz, &vert);
+ _elm_widget_parents_bounce_get(sid->obj, &horiz, &vert);
if (sid->down.hold_parent)
{
if ((sid->down.dir_x) && (horiz || !sid->bounce_horiz) &&
}
EOLIAN static void
-_elm_widget_parents_bounce_get(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUSED, Eina_Bool *horiz, Eina_Bool *vert)
-{
- Evas_Object *parent_obj = obj;
- Eina_Bool h = EINA_FALSE, v = EINA_FALSE;
-
- *horiz = EINA_FALSE;
- *vert = EINA_FALSE;
-
- do
- {
- parent_obj = elm_widget_parent_get(parent_obj);
- if ((!parent_obj) || (!_elm_widget_is(parent_obj))) break;
-
- if (_elm_scrollable_is(parent_obj))
- {
- elm_interface_scrollable_bounce_allow_get(parent_obj, &h, &v);
- if (h) *horiz = EINA_TRUE;
- if (v) *vert = EINA_TRUE;
- }
- }
- while (parent_obj);
-}
-
-EOLIAN static void
_elm_widget_scroll_hold_push(Eo *obj, Elm_Widget_Smart_Data *sd)
{
sd->scroll_hold++;
return: Elm.Widget.Item; [[Focused item]]
}
}
- @property parents_bounce {
- [[Parents bounce property]]
- get {
- }
- values {
- horiz: bool; [[$true if parents bounce horizontally, $false otherwise]]
- vert: bool; [[$true if parents bounce vertically, $false otherwise]]
- }
- }
@property highlight {
[[Highlight property]]
get {
EAPI void elm_widget_show_region_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
EAPI Eina_Bool elm_widget_focus_region_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
EAPI void elm_widget_focus_region_show(const Evas_Object *obj);
-EAPI void elm_widget_parents_bounce_get(const Evas_Object *obj, Eina_Bool *horiz, Eina_Bool *vert);
EAPI void elm_widget_scroll_hold_push(Evas_Object *obj);
EAPI void elm_widget_scroll_hold_pop(Evas_Object *obj);
EAPI int elm_widget_scroll_hold_get(const Evas_Object *obj);