mirror of
https://github.com/lvgl/lvgl.git
synced 2026-05-22 23:37:43 +08:00
feat(anim): add a pause method (#7583)
This commit is contained in:
@@ -90,5 +90,82 @@ void test_anim_delete_custom(void)
|
||||
lv_test_wait(20);
|
||||
TEST_ASSERT_EQUAL(39, var);
|
||||
}
|
||||
void test_anim_pause(void)
|
||||
{
|
||||
int32_t var;
|
||||
|
||||
/*Start an animation*/
|
||||
lv_anim_t a;
|
||||
lv_anim_init(&a);
|
||||
lv_anim_set_var(&a, &var);
|
||||
lv_anim_set_values(&a, 0, 100);
|
||||
lv_anim_set_exec_cb(&a, exec_cb);
|
||||
lv_anim_set_duration(&a, 100);
|
||||
lv_anim_t * animation = lv_anim_start(&a);
|
||||
|
||||
lv_test_wait(40);
|
||||
TEST_ASSERT_EQUAL(39, var);
|
||||
|
||||
lv_anim_pause(animation);
|
||||
|
||||
lv_test_wait(40);
|
||||
TEST_ASSERT_EQUAL(39, var);
|
||||
|
||||
lv_anim_resume(animation);
|
||||
|
||||
lv_test_wait(20);
|
||||
TEST_ASSERT_EQUAL(59, var);
|
||||
|
||||
lv_test_wait(41);
|
||||
TEST_ASSERT_EQUAL(100, var);
|
||||
}
|
||||
|
||||
void test_anim_pause_for(void)
|
||||
{
|
||||
int32_t var;
|
||||
|
||||
/*Start an animation*/
|
||||
lv_anim_t a;
|
||||
lv_anim_init(&a);
|
||||
lv_anim_set_var(&a, &var);
|
||||
lv_anim_set_values(&a, 0, 100);
|
||||
lv_anim_set_exec_cb(&a, exec_cb);
|
||||
lv_anim_set_duration(&a, 100);
|
||||
lv_anim_t * animation = lv_anim_start(&a);
|
||||
|
||||
lv_anim_pause_for(animation, 20);
|
||||
|
||||
lv_test_wait(40);
|
||||
|
||||
TEST_ASSERT_EQUAL(19, var);
|
||||
|
||||
lv_anim_pause_for(animation, 20);
|
||||
|
||||
lv_test_wait(40);
|
||||
lv_test_wait(40);
|
||||
|
||||
TEST_ASSERT_EQUAL(79, var);
|
||||
}
|
||||
|
||||
void test_anim_pause_for_resume(void)
|
||||
{
|
||||
int32_t var;
|
||||
|
||||
/*Start an animation*/
|
||||
lv_anim_t a;
|
||||
lv_anim_init(&a);
|
||||
lv_anim_set_var(&a, &var);
|
||||
lv_anim_set_values(&a, 0, 100);
|
||||
lv_anim_set_exec_cb(&a, exec_cb);
|
||||
lv_anim_set_duration(&a, 100);
|
||||
lv_anim_t * animation = lv_anim_start(&a);
|
||||
|
||||
lv_anim_pause_for(animation, 40);
|
||||
|
||||
lv_test_wait(20);
|
||||
lv_anim_resume(animation);
|
||||
|
||||
lv_test_wait(20);
|
||||
TEST_ASSERT_EQUAL(19, var);
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user