2 * @defgroup Scrollhints Scrollhints
4 * Objects when inside a scroller can scroll, but this may not always be
5 * desirable in certain situations. This allows an object to hint to itself
6 * and parents to "not scroll" in one of 2 ways. If any child object of a
7 * scroller has pushed a scroll freeze or hold then it affects all parent
8 * scrollers until all children have released them.
10 * 1. To hold on scrolling. This means just flicking and dragging may no
11 * longer scroll, but pressing/dragging near an edge of the scroller will
12 * still scroll. This is automatically used by the entry object when
15 * 2. To totally freeze scrolling. This means it stops. until
22 * Push the scroll hold by 1
24 * This increments the scroll hold count by one. If it is more than 0 it will
25 * take effect on the parents of the indicated object.
27 * @param obj The object
28 * @ingroup Scrollhints
31 elm_object_scroll_hold_push(Evas_Object *obj)
35 * Pop the scroll hold by 1
37 * This decrements the scroll hold count by one. If it is more than 0 it will
38 * take effect on the parents of the indicated object.
40 * @param obj The object
41 * @ingroup Scrollhints
43 EAPI void elm_object_scroll_hold_pop(Evas_Object *obj) EINA_ARG_NONNULL(1);
46 * Push the scroll freeze by 1
48 * This increments the scroll freeze count by one. If it is more
49 * than 0 it will take effect on the parents of the indicated
52 * @param obj The object
53 * @ingroup Scrollhints
55 EAPI void elm_object_scroll_freeze_push(Evas_Object *obj) EINA_ARG_NONNULL(1);
58 * Pop the scroll freeze by 1
60 * This decrements the scroll freeze count by one. If it is more
61 * than 0 it will take effect on the parents of the indicated
64 * @param obj The object
65 * @ingroup Scrollhints
67 EAPI void elm_object_scroll_freeze_pop(Evas_Object *obj) EINA_ARG_NONNULL(1);
70 * Lock the scrolling of the given widget (and thus all parents)
72 * This locks the given object from scrolling in the X axis (and implicitly
73 * also locks all parent scrollers too from doing the same).
75 * @param obj The object
76 * @param lock The lock state (1 == locked, 0 == unlocked)
77 * @ingroup Scrollhints
79 EAPI void elm_object_scroll_lock_x_set(Evas_Object *obj, Eina_Bool lock) EINA_ARG_NONNULL(1);
82 * Lock the scrolling of the given widget (and thus all parents)
84 * This locks the given object from scrolling in the Y axis (and implicitly
85 * also locks all parent scrollers too from doing the same).
87 * @param obj The object
88 * @param lock The lock state (1 == locked, 0 == unlocked)
89 * @ingroup Scrollhints
91 EAPI void elm_object_scroll_lock_y_set(Evas_Object *obj, Eina_Bool lock) EINA_ARG_NONNULL(1);
94 * Get the scrolling lock of the given widget
96 * This gets the lock for X axis scrolling.
98 * @param obj The object
99 * @ingroup Scrollhints
101 EAPI Eina_Bool elm_object_scroll_lock_x_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
104 * Get the scrolling lock of the given widget
106 * This gets the lock for X axis scrolling.
108 * @param obj The object
109 * @ingroup Scrollhints
111 EAPI Eina_Bool elm_object_scroll_lock_y_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);