feat(docs): scrolling doc proofread, edited and clarified... (#7170)
This commit is contained in:
@@ -1,15 +1,54 @@
|
||||
#include "../lv_examples.h"
|
||||
#if LV_BUILD_EXAMPLES
|
||||
|
||||
static lv_obj_t * panel;
|
||||
static lv_obj_t * save_button;
|
||||
static lv_obj_t * restore_button;
|
||||
static int saved_scroll_x;
|
||||
static int saved_scroll_y;
|
||||
|
||||
static void scroll_update_cb(lv_event_t * e);
|
||||
static void button_event_cb(lv_event_t * e);
|
||||
|
||||
static void scroll_update_cb(lv_event_t * e)
|
||||
{
|
||||
LV_UNUSED(e);
|
||||
|
||||
LV_LOG("scroll info: x:%3"LV_PRId32", y:%3"LV_PRId32", top:%3"LV_PRId32", "
|
||||
"bottom:%3"LV_PRId32", left:%3"LV_PRId32", right:%3"LV_PRId32"\n",
|
||||
lv_obj_get_scroll_x(panel),
|
||||
lv_obj_get_scroll_y(panel),
|
||||
lv_obj_get_scroll_top(panel),
|
||||
lv_obj_get_scroll_bottom(panel),
|
||||
lv_obj_get_scroll_left(panel),
|
||||
lv_obj_get_scroll_right(panel)
|
||||
);
|
||||
}
|
||||
|
||||
static void button_event_cb(lv_event_t * e)
|
||||
{
|
||||
lv_obj_t * obj = lv_event_get_target_obj(e);
|
||||
|
||||
if(obj == save_button) {
|
||||
saved_scroll_x = lv_obj_get_scroll_x(panel);
|
||||
saved_scroll_y = lv_obj_get_scroll_y(panel);
|
||||
}
|
||||
else {
|
||||
lv_obj_scroll_to(panel, saved_scroll_x, saved_scroll_y, LV_ANIM_ON);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Demonstrate how scrolling appears automatically
|
||||
*/
|
||||
void lv_example_scroll_1(void)
|
||||
{
|
||||
/*Create an object with the new style*/
|
||||
lv_obj_t * panel = lv_obj_create(lv_screen_active());
|
||||
lv_obj_t * scr;
|
||||
scr = lv_screen_active();
|
||||
panel = lv_obj_create(scr);
|
||||
lv_obj_set_size(panel, 200, 200);
|
||||
lv_obj_center(panel);
|
||||
lv_obj_align(panel, LV_ALIGN_CENTER, 44, 0);
|
||||
|
||||
lv_obj_t * child;
|
||||
lv_obj_t * label;
|
||||
@@ -38,6 +77,25 @@ void lv_example_scroll_1(void)
|
||||
label = lv_label_create(child);
|
||||
lv_label_set_text(label, "Bottom");
|
||||
lv_obj_center(label);
|
||||
|
||||
/* When LV_OBJ_FLAG_SCROLL_ELASTIC is cleared, scrolling does not go past edge bounaries. */
|
||||
/* lv_obj_clear_flag(panel, LV_OBJ_FLAG_SCROLL_ELASTIC); */
|
||||
|
||||
/* Call `scroll_update_cb` while panel is being scrolled. */
|
||||
lv_obj_add_event_cb(panel, scroll_update_cb, LV_EVENT_SCROLL, NULL);
|
||||
|
||||
/* Set up buttons that save and restore scroll position. */
|
||||
save_button = lv_button_create(scr);
|
||||
restore_button = lv_button_create(scr);
|
||||
lv_obj_t * lbl;
|
||||
lbl = lv_label_create(save_button);
|
||||
lv_label_set_text_static(lbl, "Save");
|
||||
lbl = lv_label_create(restore_button);
|
||||
lv_label_set_text_static(lbl, "Restore");
|
||||
lv_obj_align_to(save_button, panel, LV_ALIGN_OUT_LEFT_MID, -10, -20);
|
||||
lv_obj_align_to(restore_button, panel, LV_ALIGN_OUT_LEFT_MID, -10, 20);
|
||||
lv_obj_add_event_cb(save_button, button_event_cb, LV_EVENT_CLICKED, NULL);
|
||||
lv_obj_add_event_cb(restore_button, button_event_cb, LV_EVENT_CLICKED, NULL);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user