1 /**
2  * @file lv_draw_vglite_rect.h
3  *
4  */
5 
6 /**
7  * MIT License
8  *
9  * Copyright 2021-2023 NXP
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining a copy
12  * of this software and associated documentation files (the "Software"), to deal
13  * in the Software without restriction, including without limitation the rights to
14  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
15  * the Software, and to permit persons to whom the Software is furnished to do so,
16  * subject to the following conditions:
17  *
18  * The above copyright notice and this permission notice (including the next paragraph)
19  * shall be included in all copies or substantial portions of the Software.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
22  * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
23  * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
24  * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
25  * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
26  * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27  *
28  */
29 
30 #ifndef LV_DRAW_VGLITE_RECT_H
31 #define LV_DRAW_VGLITE_RECT_H
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 /*********************
38  *      INCLUDES
39  *********************/
40 #include "../../../lv_conf_internal.h"
41 
42 #if LV_USE_GPU_NXP_VG_LITE
43 #include "lv_vglite_utils.h"
44 #include "../../lv_draw_rect.h"
45 
46 /*********************
47  *      DEFINES
48  *********************/
49 
50 /**********************
51  *      TYPEDEFS
52  **********************/
53 
54 /**********************
55  * GLOBAL PROTOTYPES
56  **********************/
57 
58 /**
59  * Draw rectangle background with effects (rounded corners, gradient)
60  *
61  * @param[in] coords Coordinates of the rectangle background (relative to dest buff)
62  * @param[in] clip_area Clipping area with relative coordinates to dest buff
63  * @param[in] dsc Description of the rectangle background
64  *
65  * @retval LV_RES_OK Draw completed
66  * @retval LV_RES_INV Error occurred (\see LV_GPU_NXP_VG_LITE_LOG_ERRORS)
67  *
68  */
69 lv_res_t lv_gpu_nxp_vglite_draw_bg(const lv_area_t * coords, const lv_area_t * clip_area,
70                                    const lv_draw_rect_dsc_t * dsc);
71 
72 /**
73  * Draw rectangle border/outline shape with effects (rounded corners, opacity)
74  *
75  * @param[in] coords Coordinates of the rectangle border/outline (relative to dest buff)
76  * @param[in] clip_area Clipping area with relative coordinates to dest buff
77  * @param[in] dsc Description of the rectangle border/outline
78  * @param[in] border True for border, False for outline
79  *
80  * @retval LV_RES_OK Draw completed
81  * @retval LV_RES_INV Error occurred (\see LV_GPU_NXP_VG_LITE_LOG_ERRORS)
82  *
83  */
84 lv_res_t lv_gpu_nxp_vglite_draw_border_generic(const lv_area_t * coords, const lv_area_t * clip_area,
85                                                const lv_draw_rect_dsc_t * dsc, bool border);
86 
87 /**********************
88  *      MACROS
89  **********************/
90 
91 #endif /*LV_USE_GPU_NXP_VG_LITE*/
92 
93 #ifdef __cplusplus
94 } /*extern "C"*/
95 #endif
96 
97 #endif /*LV_DRAW_VGLITE_RECT_H*/
98