2 * @defgroup Scrollhints Scrollhints
5 * Objects when inside a scroller can scroll, but this may not always be
6 * desirable in certain situations. This allows an object to hint to itself
7 * and parents to "not scroll" in one of 2 ways. If any child object of a
8 * scroller has pushed a scroll freeze or hold then it affects all parent
9 * scrollers until all children have released them.
11 * 1. To hold on scrolling. This means just flicking and dragging may no
12 * longer scroll, but pressing/dragging near an edge of the scroller will
13 * still scroll. This is automatically used by the entry object when
16 * 2. To totally freeze scrolling. This means it stops. until
23 * Push the scroll hold by 1
25 * This increments the scroll hold count by one. If it is more than 0 it will
26 * take effect on the parents of the indicated object.
28 * @param obj The object
29 * @ingroup Scrollhints
31 EAPI void elm_object_scroll_hold_push(Evas_Object *obj);
34 * Pop the scroll hold by 1
36 * This decrements the scroll hold count by one. If it is more than 0 it will
37 * take effect on the parents of the indicated object.
39 * @param obj The object
40 * @ingroup Scrollhints
42 EAPI void elm_object_scroll_hold_pop(Evas_Object *obj);
45 * Get the scroll hold by 1
47 * This gets the scroll hold count by one.
49 * @param obj The object
50 * @return The scroll hold count
52 * @ingroup Scrollhints
54 EAPI int elm_object_scroll_hold_get(const Evas_Object *obj);
57 * Push the scroll freeze by 1
59 * This increments the scroll freeze count by one. If it is more
60 * than 0 it will take effect on the parents of the indicated
63 * @param obj The object
64 * @ingroup Scrollhints
66 EAPI void elm_object_scroll_freeze_push(Evas_Object *obj);
69 * Pop the scroll freeze by 1
71 * This decrements the scroll freeze count by one. If it is more
72 * than 0 it will take effect on the parents of the indicated
75 * @param obj The object
76 * @ingroup Scrollhints
78 EAPI void elm_object_scroll_freeze_pop(Evas_Object *obj);
81 * Get the scroll freeze by 1
83 * This gets the scroll freeze count by one.
85 * @param obj The object
86 * @return The scroll freeze count
88 * @ingroup Scrollhints
90 EAPI int elm_object_scroll_freeze_get(const Evas_Object *obj);
93 * Lock the scrolling of the given widget (and thus all parents)
95 * This locks the given object from scrolling in the X axis (and implicitly
96 * also locks all parent scrollers too from doing the same).
98 * @param obj The object
99 * @param lock The lock state (1 == locked, 0 == unlocked)
100 * @ingroup Scrollhints
102 EAPI void elm_object_scroll_lock_x_set(Evas_Object *obj, Eina_Bool lock);
105 * Lock the scrolling of the given widget (and thus all parents)
107 * This locks the given object from scrolling in the Y axis (and implicitly
108 * also locks all parent scrollers too from doing the same).
110 * @param obj The object
111 * @param lock The lock state (1 == locked, 0 == unlocked)
112 * @ingroup Scrollhints
114 EAPI void elm_object_scroll_lock_y_set(Evas_Object *obj, Eina_Bool lock);
117 * Get the scrolling lock of the given widget
119 * This gets the lock for X axis scrolling.
121 * @param obj The object
122 * @ingroup Scrollhints
124 EAPI Eina_Bool elm_object_scroll_lock_x_get(const Evas_Object *obj);
127 * Get the scrolling lock of the given widget
129 * This gets the lock for Y axis scrolling.
131 * @param obj The object
132 * @ingroup Scrollhints
134 EAPI Eina_Bool elm_object_scroll_lock_y_get(const Evas_Object *obj);