1 #if LV_BUILD_TEST
2 #include "../lvgl.h"
3 #include "unity/unity.h"
4 
setUp(void)5 void setUp(void)
6 {
7     /* Function run before every test */
8 }
9 
tearDown(void)10 void tearDown(void)
11 {
12     /* Function run after every test */
13     lv_obj_clean(lv_screen_active());
14 }
15 
test_obj_transform(void)16 void test_obj_transform(void)
17 {
18 #if LV_DRAW_TRANSFORM_USE_MATRIX
19     lv_obj_t * obj = lv_obj_create(lv_screen_active());
20     lv_obj_set_size(obj, 100, 100);
21     lv_obj_center(obj);
22 
23     lv_matrix_t matrix;
24 
25     lv_matrix_identity(&matrix);
26     lv_obj_set_transform(obj, &matrix);
27     TEST_ASSERT_EQUAL_SCREENSHOT("widgets/obj_transform_identity.png");
28 
29     lv_matrix_identity(&matrix);
30     lv_matrix_translate(&matrix, 50, 100);
31     lv_obj_set_transform(obj, &matrix);
32     TEST_ASSERT_EQUAL_SCREENSHOT("widgets/obj_transform_translate.png");
33 
34     lv_matrix_identity(&matrix);
35     lv_matrix_rotate(&matrix, 30);
36     lv_obj_set_transform(obj, &matrix);
37     TEST_ASSERT_EQUAL_SCREENSHOT("widgets/obj_transform_rotate.png");
38 
39     lv_matrix_identity(&matrix);
40     lv_matrix_scale(&matrix, 0.8f, 1.6f);
41     lv_obj_set_transform(obj, &matrix);
42     TEST_ASSERT_EQUAL_SCREENSHOT("widgets/obj_transform_scale.png");
43 
44     lv_matrix_identity(&matrix);
45     lv_matrix_skew(&matrix, 10.0f, 20.0f);
46     lv_obj_set_transform(obj, &matrix);
47     TEST_ASSERT_EQUAL_SCREENSHOT("widgets/obj_transform_skew.png");
48 
49     const lv_matrix_t * obj_transform = lv_obj_get_transform(obj);
50     TEST_ASSERT_NOT_NULL(obj_transform);
51     TEST_ASSERT_EQUAL(lv_memcmp(&matrix, obj_transform, sizeof(lv_matrix_t)), 0);
52 
53     lv_obj_reset_transform(obj);
54     TEST_ASSERT_EQUAL_SCREENSHOT("widgets/obj_transform_identity.png");
55     TEST_ASSERT_NULL(lv_obj_get_transform(obj));
56 
57 #else
58     TEST_PASS();
59 #endif
60 }
61 
62 #endif
63