lv_obj_scroll.h
Enums
-
enum lv_scrollbar_mode_t
Scrollbar modes: shows when should the scrollbars be visible
Values:
-
enumerator LV_SCROLLBAR_MODE_OFF
Never show scrollbars
-
enumerator LV_SCROLLBAR_MODE_ON
Always show scrollbars
-
enumerator LV_SCROLLBAR_MODE_ACTIVE
Show scroll bars when Widget is being scrolled
-
enumerator LV_SCROLLBAR_MODE_AUTO
Show scroll bars when the content is large enough to be scrolled
-
enumerator LV_SCROLLBAR_MODE_OFF
-
enum lv_scroll_snap_t
Scroll span align options. Tells where to align the snappable children when scroll stops.
Values:
-
enumerator LV_SCROLL_SNAP_NONE
Do not align, leave where it is
-
enumerator LV_SCROLL_SNAP_START
Align to the left/top
-
enumerator LV_SCROLL_SNAP_END
Align to the right/bottom
-
enumerator LV_SCROLL_SNAP_CENTER
Align to the center
-
enumerator LV_SCROLL_SNAP_NONE
Functions
-
void lv_obj_set_scrollbar_mode(lv_obj_t *obj, lv_scrollbar_mode_t mode)
Set how the scrollbars should behave.
- Parameters:
obj – pointer to Widget
mode – LV_SCROLL_MODE_ON/OFF/AUTO/ACTIVE
-
void lv_obj_set_scroll_dir(lv_obj_t *obj, lv_dir_t dir)
Set direction Widget can be scrolled
- Parameters:
obj – pointer to Widget
dir – one or more bit-wise OR-ed values of
lv_dir_t
enumeration
-
void lv_obj_set_scroll_snap_x(lv_obj_t *obj, lv_scroll_snap_t align)
Set where to snap the children when scrolling ends horizontally
- Parameters:
obj – pointer to Widget
align – value from
lv_scroll_snap_t
enumeration
-
void lv_obj_set_scroll_snap_y(lv_obj_t *obj, lv_scroll_snap_t align)
Set where to snap the children when scrolling ends vertically
- Parameters:
obj – pointer to Widget
align – value from
lv_scroll_snap_t
enumeration
-
lv_scrollbar_mode_t lv_obj_get_scrollbar_mode(const lv_obj_t *obj)
Get the current scroll mode (when to hide the scrollbars)
- Parameters:
obj – pointer to Widget
- Returns:
the current scroll mode from
lv_scrollbar_mode_t
-
lv_dir_t lv_obj_get_scroll_dir(const lv_obj_t *obj)
Get directions Widget can be scrolled (set with
lv_obj_set_scroll_dir()
)- Parameters:
obj – pointer to Widget
- Returns:
current scroll direction bit(s)
-
lv_scroll_snap_t lv_obj_get_scroll_snap_x(const lv_obj_t *obj)
Get where to snap child Widgets when horizontal scrolling ends.
- Parameters:
obj – pointer to Widget
- Returns:
current snap value from
lv_scroll_snap_t
-
lv_scroll_snap_t lv_obj_get_scroll_snap_y(const lv_obj_t *obj)
Get where to snap child Widgets when vertical scrolling ends.
- Parameters:
obj – pointer to Widget
- Returns:
current snap value from
lv_scroll_snap_t
-
int32_t lv_obj_get_scroll_x(const lv_obj_t *obj)
Get current X scroll position. Identical to
lv_obj_get_scroll_left()
.- Parameters:
obj – pointer to scrollable container Widget
- Returns:
current scroll position from left edge
If Widget is not scrolled return 0.
If scrolled return > 0.
If scrolled inside (elastic scroll) return < 0.
-
int32_t lv_obj_get_scroll_y(const lv_obj_t *obj)
Get current Y scroll position. Identical to
lv_obj_get_scroll_top()
.- Parameters:
obj – pointer to scrollable container Widget
- Returns:
current scroll position from top edge
If Widget is not scrolled return 0.
If scrolled return > 0.
If scrolled inside (elastic scroll) return < 0.
-
int32_t lv_obj_get_scroll_top(lv_obj_t *obj)
Number of pixels a scrollable container Widget can be scrolled down before its top edge appears. When LV_OBJ_FLAG_SCROLL_ELASTIC flag is set in Widget, this value can go negative while Widget is being dragged below its normal top-edge boundary.
- Parameters:
obj – pointer to scrollable container Widget
- Returns:
pixels Widget can be scrolled down before its top edge appears
-
int32_t lv_obj_get_scroll_bottom(lv_obj_t *obj)
Number of pixels a scrollable container Widget can be scrolled up before its bottom edge appears. When LV_OBJ_FLAG_SCROLL_ELASTIC flag is set in Widget, this value can go negative while Widget is being dragged above its normal bottom-edge boundary.
- Parameters:
obj – pointer to scrollable container Widget
- Returns:
pixels Widget can be scrolled up before its bottom edge appears
-
int32_t lv_obj_get_scroll_left(lv_obj_t *obj)
Number of pixels a scrollable container Widget can be scrolled right before its left edge appears. When LV_OBJ_FLAG_SCROLL_ELASTIC flag is set in Widget, this value can go negative while Widget is being dragged farther right than its normal left-edge boundary.
- Parameters:
obj – pointer to scrollable container Widget
- Returns:
pixels Widget can be scrolled right before its left edge appears
-
int32_t lv_obj_get_scroll_right(lv_obj_t *obj)
Number of pixels a scrollable container Widget can be scrolled left before its right edge appears. When LV_OBJ_FLAG_SCROLL_ELASTIC flag is set in Widget, this value can go negative while Widget is being dragged farther left than its normal right-edge boundary.
- Parameters:
obj – pointer to scrollable container Widget
- Returns:
pixels Widget can be scrolled left before its right edge appears
-
void lv_obj_get_scroll_end(lv_obj_t *obj, lv_point_t *end)
Get the X and Y coordinates where the scrolling will end for Widget if a scrolling animation is in progress. If no scrolling animation, give the current
x
ory
scroll position.- Parameters:
obj – pointer to scrollable Widget
end – pointer to
lv_point_t
object in which to store result
-
void lv_obj_scroll_by(lv_obj_t *obj, int32_t dx, int32_t dy, lv_anim_enable_t anim_en)
Scroll by given amount of pixels.
Note
> 0 value means scroll right/bottom (show the more content on the right/bottom)
Note
e.g. dy = -20 means scroll down 20 px
- Parameters:
obj – pointer to scrollable Widget to scroll
dx – pixels to scroll horizontally
dy – pixels to scroll vertically
anim_en – LV_ANIM_ON: scroll with animation; LV_ANIM_OFF: scroll immediately
-
void lv_obj_scroll_by_bounded(lv_obj_t *obj, int32_t dx, int32_t dy, lv_anim_enable_t anim_en)
Scroll by given amount of pixels.
dx
anddy
will be limited internally to allow scrolling only on the content area.Note
e.g. dy = -20 means scroll down 20 px
- Parameters:
obj – pointer to scrollable Widget to scroll
dx – pixels to scroll horizontally
dy – pixels to scroll vertically
anim_en – LV_ANIM_ON: scroll with animation; LV_ANIM_OFF: scroll immediately
-
void lv_obj_scroll_to(lv_obj_t *obj, int32_t x, int32_t y, lv_anim_enable_t anim_en)
Scroll to given coordinate on Widget.
x
andy
will be limited internally to allow scrolling only on the content area.- Parameters:
obj – pointer to scrollable Widget to scroll
x – pixels to scroll horizontally
y – pixels to scroll vertically
anim_en – LV_ANIM_ON: scroll with animation; LV_ANIM_OFF: scroll immediately
-
void lv_obj_scroll_to_x(lv_obj_t *obj, int32_t x, lv_anim_enable_t anim_en)
Scroll to X coordinate on Widget.
x
will be limited internally to allow scrolling only on the content area.- Parameters:
obj – pointer to scrollable Widget to scroll
x – pixels to scroll horizontally
anim_en – LV_ANIM_ON: scroll with animation; LV_ANIM_OFF: scroll immediately
-
void lv_obj_scroll_to_y(lv_obj_t *obj, int32_t y, lv_anim_enable_t anim_en)
Scroll to Y coordinate on Widget.
y
will be limited internally to allow scrolling only on the content area.- Parameters:
obj – pointer to scrollable Widget to scroll
y – pixels to scroll vertically
anim_en – LV_ANIM_ON: scroll with animation; LV_ANIM_OFF: scroll immediately
-
void lv_obj_scroll_to_view(lv_obj_t *obj, lv_anim_enable_t anim_en)
Scroll
obj
's parent Widget untilobj
becomes visible.- Parameters:
obj – pointer to Widget to scroll into view
anim_en – LV_ANIM_ON: scroll with animation; LV_ANIM_OFF: scroll immediately
-
void lv_obj_scroll_to_view_recursive(lv_obj_t *obj, lv_anim_enable_t anim_en)
Scroll
obj
's parent Widgets recursively untilobj
becomes visible. Widget will be scrolled into view even it has nested scrollable parents.- Parameters:
obj – pointer to Widget to scroll into view
anim_en – LV_ANIM_ON: scroll with animation; LV_ANIM_OFF: scroll immediately
-
bool lv_obj_is_scrolling(const lv_obj_t *obj)
Tell whether Widget is being scrolled or not at this moment
- Parameters:
obj – pointer to Widget
- Returns:
true:
obj
is being scrolled
-
void lv_obj_update_snap(lv_obj_t *obj, lv_anim_enable_t anim_en)
Check children of
obj
and scrollobj
to fulfill scroll_snap settings.- Parameters:
obj – Widget whose children need to be checked and snapped
anim_en – LV_ANIM_ON/OFF
-
void lv_obj_get_scrollbar_area(lv_obj_t *obj, lv_area_t *hor, lv_area_t *ver)
Get the area of the scrollbars
- Parameters:
obj – pointer to Widget
hor – pointer to store the area of the horizontal scrollbar
ver – pointer to store the area of the vertical scrollbar
-
void lv_obj_scrollbar_invalidate(lv_obj_t *obj)
Invalidate the area of the scrollbars
- Parameters:
obj – pointer to Widget
-
void lv_obj_readjust_scroll(lv_obj_t *obj, lv_anim_enable_t anim_en)
Checks if the content is scrolled "in" and adjusts it to a normal position.
- Parameters:
obj – pointer to Widget
anim_en – LV_ANIM_ON/OFF