demos: add lv_demo_..._close() functions for each demo
This commit is contained in:
@@ -89,7 +89,7 @@ LV_FONT_DECLARE(lv_font_benchmark_montserrat_16_compr_az);
|
||||
LV_FONT_DECLARE(lv_font_benchmark_montserrat_28_compr_az);
|
||||
|
||||
static void monitor_cb(lv_disp_drv_t * drv, uint32_t time, uint32_t px);
|
||||
static void scene_next_task_cb(lv_timer_t * timer);
|
||||
static void next_scene_timer_cb(lv_timer_t * timer);
|
||||
static void rect_create(lv_style_t * style);
|
||||
static void img_create(lv_style_t * style, const void * src, bool rotate, bool zoom, bool aa);
|
||||
static void txt_create(lv_style_t * style);
|
||||
@@ -636,7 +636,7 @@ static lv_obj_t * scene_bg;
|
||||
static lv_obj_t * title;
|
||||
static lv_obj_t * subtitle;
|
||||
static uint32_t rnd_act;
|
||||
|
||||
static lv_timer_t * next_scene_timer;
|
||||
|
||||
static const uint32_t rnd_map[] = {
|
||||
0xbd13204f, 0x67d8167f, 0x20211c99, 0xb0a7cc05,
|
||||
@@ -708,9 +708,21 @@ void lv_demo_benchmark(void)
|
||||
benchmark_init();
|
||||
|
||||
/*Manually start scenes*/
|
||||
scene_next_task_cb(NULL);
|
||||
next_scene_timer_cb(NULL);
|
||||
}
|
||||
|
||||
void lv_demo_benchmark_close(void)
|
||||
{
|
||||
if(next_scene_timer) lv_timer_del(next_scene_timer);
|
||||
next_scene_timer = NULL;
|
||||
|
||||
lv_anim_del(NULL, NULL);
|
||||
|
||||
lv_style_reset(&style_common);
|
||||
|
||||
lv_obj_clean(lv_scr_act());
|
||||
|
||||
}
|
||||
|
||||
void lv_demo_benchmark_run_scene(int_fast16_t scene_no)
|
||||
{
|
||||
@@ -973,11 +985,13 @@ static void report_cb(lv_timer_t * timer)
|
||||
}
|
||||
}
|
||||
|
||||
static void scene_next_task_cb(lv_timer_t * timer)
|
||||
static void next_scene_timer_cb(lv_timer_t * timer)
|
||||
{
|
||||
LV_UNUSED(timer);
|
||||
lv_obj_clean(scene_bg);
|
||||
|
||||
next_scene_timer = NULL;
|
||||
|
||||
if(opa_mode) {
|
||||
if(scene_act >= 0) {
|
||||
if(scenes[scene_act].time_sum_opa == 0) scenes[scene_act].time_sum_opa = 1;
|
||||
@@ -1014,8 +1028,8 @@ static void scene_next_task_cb(lv_timer_t * timer)
|
||||
|
||||
rnd_reset();
|
||||
scenes[scene_act].create_cb();
|
||||
lv_timer_t * t = lv_timer_create(scene_next_task_cb, SCENE_TIME, NULL);
|
||||
lv_timer_set_repeat_count(t, 1);
|
||||
next_scene_timer = lv_timer_create(next_scene_timer_cb, SCENE_TIME, NULL);
|
||||
lv_timer_set_repeat_count(next_scene_timer, 1);
|
||||
|
||||
}
|
||||
/*Ready*/
|
||||
|
||||
@@ -30,6 +30,8 @@ typedef void finished_cb_t(void);
|
||||
**********************/
|
||||
void lv_demo_benchmark(void);
|
||||
|
||||
void lv_demo_benchmark_close(void);
|
||||
|
||||
void lv_demo_benchmark_run_scene(int_fast16_t scene_no);
|
||||
|
||||
void lv_demo_benchmark_set_finished_cb(finished_cb_t * finished_cb);
|
||||
|
||||
Reference in New Issue
Block a user