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
30 EAPI void elm_object_scroll_hold_push(Evas_Object *obj);
33 * Pop the scroll hold by 1
35 * This decrements the scroll hold count by one. If it is more than 0 it will
36 * take effect on the parents of the indicated object.
38 * @param obj The object
39 * @ingroup Scrollhints
41 EAPI void elm_object_scroll_hold_pop(Evas_Object *obj);
44 * Push the scroll freeze by 1
46 * This increments the scroll freeze count by one. If it is more
47 * than 0 it will take effect on the parents of the indicated
50 * @param obj The object
51 * @ingroup Scrollhints
53 EAPI void elm_object_scroll_freeze_push(Evas_Object *obj);
56 * Pop the scroll freeze by 1
58 * This decrements the scroll freeze count by one. If it is more
59 * than 0 it will take effect on the parents of the indicated
62 * @param obj The object
63 * @ingroup Scrollhints
65 EAPI void elm_object_scroll_freeze_pop(Evas_Object *obj);
68 * Lock the scrolling of the given widget (and thus all parents)
70 * This locks the given object from scrolling in the X axis (and implicitly
71 * also locks all parent scrollers too from doing the same).
73 * @param obj The object
74 * @param lock The lock state (1 == locked, 0 == unlocked)
75 * @ingroup Scrollhints
77 EAPI void elm_object_scroll_lock_x_set(Evas_Object *obj, Eina_Bool lock);
80 * Lock the scrolling of the given widget (and thus all parents)
82 * This locks the given object from scrolling in the Y axis (and implicitly
83 * also locks all parent scrollers too from doing the same).
85 * @param obj The object
86 * @param lock The lock state (1 == locked, 0 == unlocked)
87 * @ingroup Scrollhints
89 EAPI void elm_object_scroll_lock_y_set(Evas_Object *obj, Eina_Bool lock);
92 * Get the scrolling lock of the given widget
94 * This gets the lock for X axis scrolling.
96 * @param obj The object
97 * @ingroup Scrollhints
99 EAPI Eina_Bool elm_object_scroll_lock_x_get(const Evas_Object *obj);
102 * Get the scrolling lock of the given widget
104 * This gets the lock for Y axis scrolling.
106 * @param obj The object
107 * @ingroup Scrollhints
109 EAPI Eina_Bool elm_object_scroll_lock_y_get(const Evas_Object *obj);