Scrollhints
Elementary

Objects when inside a scroller can scroll, but this may not always be desirable in certain situations. More...

## Functions

void | elm_object_scroll_hold_push (Evas_Object *obj)
| Push the scroll hold by 1.
void | elm_object_scroll_hold_pop (Evas_Object *obj)
| Pop the scroll hold by 1.
int | elm_object_scroll_hold_get (const Evas_Object *obj)
| Get the scroll hold by 1.
void | elm_object_scroll_freeze_push (Evas_Object *obj)
| Push the scroll freeze by 1.
void | elm_object_scroll_freeze_pop (Evas_Object *obj)
| Pop the scroll freeze by 1.
int | elm_object_scroll_freeze_get (const Evas_Object *obj)
| Get the scroll freeze by 1.
void | elm_object_scroll_lock_x_set (Evas_Object *obj, Eina_Bool lock)
| Lock the scrolling of the given widget (and thus all parents).
void | elm_object_scroll_lock_y_set (Evas_Object *obj, Eina_Bool lock)
| Lock the scrolling of the given widget (and thus all parents).
Eina_Bool | elm_object_scroll_lock_x_get (const Evas_Object *obj)
| Get the scrolling lock of the given widget.
Eina_Bool | elm_object_scroll_lock_y_get (const Evas_Object *obj)
| Get the scrolling lock of the given widget.
void | elm_object_scroll_item_loop_enabled_set (Evas_Object *obj, Eina_Bool enable)
| Enable item loop feature of the given widget.
Eina_Bool | elm_object_scroll_item_loop_enabled_get (const Evas_Object *obj)
| Get the item loop enable status of the given widget.

## Detailed Description

Objects when inside a scroller can scroll, but this may not always be desirable in certain situations.

This allows an object to hint to itself and parents to "not scroll" in one of 2 ways. If any child object of a scroller has pushed a scroll freeze or hold then it affects all parent scrollers until all children have released them.

1. To hold on scrolling. This means just flicking and dragging may no longer scroll, but pressing/dragging near an edge of the scroller will still scroll. This is automatically used by the entry object when selecting text.
2. To totally freeze scrolling. This means it stops. until popped/released.

## Function Documentation

## elm_object_scroll_hold_push()

void elm_object_scroll_hold_push | ( | Evas_Object * | obj | ) |

Push the scroll hold by 1.

This increments the scroll hold count by one. If it is more than 0 it will take effect on the parents of the indicated object.

Parameters

  obj | The object

References EINA_SAFETY_ON_NULL_RETURN.

## elm_object_scroll_hold_pop()

void elm_object_scroll_hold_pop | ( | Evas_Object * | obj | ) |

Pop the scroll hold by 1.

This decrements the scroll hold count by one. If it is more than 0 it will take effect on the parents of the indicated object.

Parameters

  obj | The object

References EINA_SAFETY_ON_NULL_RETURN.

## elm_object_scroll_hold_get()

int elm_object_scroll_hold_get | ( | const Evas_Object * | obj | ) |

Get the scroll hold by 1.

This gets the scroll hold count by one.

Parameters

  obj | The object

Returns
  The scroll hold count

Since
  1.7

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## elm_object_scroll_freeze_push()

void elm_object_scroll_freeze_push | ( | Evas_Object * | obj | ) |

Push the scroll freeze by 1.

This increments the scroll freeze count by one. If it is more than 0 it will take effect on the parents of the indicated object.

Parameters

  obj | The object

References EINA_SAFETY_ON_NULL_RETURN.

## elm_object_scroll_freeze_pop()

void elm_object_scroll_freeze_pop | ( | Evas_Object * | obj | ) |

Pop the scroll freeze by 1.

This decrements the scroll freeze count by one. If it is more than 0 it will take effect on the parents of the indicated object.

Parameters

  obj | The object

References EINA_SAFETY_ON_NULL_RETURN.

## elm_object_scroll_freeze_get()

int elm_object_scroll_freeze_get | ( | const Evas_Object * | obj | ) |

Get the scroll freeze by 1.

This gets the scroll freeze count by one.

Parameters

  obj | The object

Returns
  The scroll freeze count

Since
  1.7

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## elm_object_scroll_lock_x_set()

void elm_object_scroll_lock_x_set | ( | Evas_Object * | obj,
|  | Eina_Bool | lock )

Lock the scrolling of the given widget (and thus all parents).

This locks the given object from scrolling in the X axis (and implicitly also locks all parent scrollers too from doing the same).

Parameters

  obj | The object
  lock | The lock state (1 == locked, 0 == unlocked)

References EINA_SAFETY_ON_NULL_RETURN.

## elm_object_scroll_lock_y_set()

void elm_object_scroll_lock_y_set | ( | Evas_Object * | obj,
|  | Eina_Bool | lock )

Lock the scrolling of the given widget (and thus all parents).

This locks the given object from scrolling in the Y axis (and implicitly also locks all parent scrollers too from doing the same).

Parameters

  obj | The object
  lock | The lock state (1 == locked, 0 == unlocked)

References EINA_SAFETY_ON_NULL_RETURN.

## elm_object_scroll_lock_x_get()

Eina_Bool elm_object_scroll_lock_x_get | ( | const Evas_Object * | obj | ) |

Get the scrolling lock of the given widget.

This gets the lock for X axis scrolling.

Parameters

  obj | The object

References EINA_FALSE, and EINA_SAFETY_ON_NULL_RETURN_VAL.

## elm_object_scroll_lock_y_get()

Eina_Bool elm_object_scroll_lock_y_get | ( | const Evas_Object * | obj | ) |

Get the scrolling lock of the given widget.

This gets the lock for Y axis scrolling.

Parameters

  obj | The object

References EINA_FALSE, and EINA_SAFETY_ON_NULL_RETURN_VAL.

## elm_object_scroll_item_loop_enabled_set()

void elm_object_scroll_item_loop_enabled_set | ( | Evas_Object * | obj,
|  | Eina_Bool | enable )

Enable item loop feature of the given widget.

If `enable` is `EINA_TRUE`, item selection/focus will loop internally. This means if arrow keys are pressed at end of scroller's item, screen is moved to opposite side.

Parameters

  obj | The object
  enable | item loop feature (`EINA_TRUE` == enable, `EINA_FALSE` == disable)

See also
  elm_object_scroll_item_loop_enabled_get()

Since
  1.10

References EINA_SAFETY_ON_NULL_RETURN.

## elm_object_scroll_item_loop_enabled_get()

Eina_Bool elm_object_scroll_item_loop_enabled_get | ( | const Evas_Object * | obj | ) |

Get the item loop enable status of the given widget.

This gets the item loop enabled status.

Parameters

  obj | The object

See also
  elm_objecdt_scroll_item_enabled_set()

Since
  1.10

References EINA_FALSE, and EINA_SAFETY_ON_NULL_RETURN_VAL.