1 /**
2  * @file lv_vglite_matrix.h
3  *
4  */
5 
6 /**
7  * Copyright 2023 NXP
8  *
9  * SPDX-License-Identifier: MIT
10  */
11 
12 #ifndef LV_VGLITE_MATRIX_H
13 #define LV_VGLITE_MATRIX_H
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 /*********************
20  *      INCLUDES
21  *********************/
22 #include "../../../lv_conf_internal.h"
23 
24 #if LV_USE_DRAW_VGLITE
25 
26 #include "../../lv_draw_image.h"
27 #include "../../lv_draw.h"
28 
29 #include "vg_lite.h"
30 
31 /*********************
32  *      DEFINES
33  *********************/
34 
35 /**********************
36  *      TYPEDEFS
37  **********************/
38 
39 /**********************
40  *  STATIC PROTOTYPES
41  **********************/
42 
43 /**********************
44  * GLOBAL PROTOTYPES
45  **********************/
46 
47 vg_lite_matrix_t * vglite_get_matrix(void);
48 
49 /**
50  * Creates matrix that translates to origin of given destination area.
51  *
52  * @param[in] dest_area Area with relative coordinates of destination buffer
53  *
54  */
55 void vglite_set_translation_matrix(const lv_area_t * dest_area);
56 
57 /**
58  * Creates matrix that translates to origin of given destination area with transformation (scale or rotate).
59  *
60  * @param[in] dest_area Area with relative coordinates of destination buffer
61  * @param[in] dsc Image descriptor
62  *
63  */
64 void vglite_set_transformation_matrix(const lv_area_t * dest_area, const lv_draw_image_dsc_t * dsc);
65 
66 /**********************
67  *      MACROS
68  **********************/
69 
70 /**********************
71  *   STATIC FUNCTIONS
72  **********************/
73 
74 #endif /*LV_USE_DRAW_VGLITE*/
75 
76 #ifdef __cplusplus
77 } /*extern "C"*/
78 #endif
79 
80 #endif /*LV_VGLITE_MATRIX_H*/
81