feat(anim): add a pause method (#7583)

This commit is contained in:
André Costa
2025-01-15 08:57:30 +01:00
committed by GitHub
parent 124b2e268d
commit e028ee985c
7 changed files with 234 additions and 2 deletions
+77
View File
@@ -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