1 /**
2  * @file lv_draw_vglite_arc.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_ARC_H
31 #define LV_DRAW_VGLITE_ARC_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 
45 /*********************
46  *      DEFINES
47  *********************/
48 
49 /**********************
50  *      TYPEDEFS
51  **********************/
52 
53 /**********************
54  * GLOBAL PROTOTYPES
55  **********************/
56 
57 /**
58  * Draw arc shape with effects
59  *
60  * @param[in] center Arc center with relative coordinates
61  * @param[in] radius Radius of external arc
62  * @param[in] start_angle Starting angle in degrees
63  * @param[in] end_angle Ending angle in degrees
64  * @param[in] clip_area Clipping area with relative coordinates to dest buff
65  * @param[in] dsc Arc description structure (width, rounded ending, opacity)
66  *
67  * @retval LV_RES_OK Draw completed
68  * @retval LV_RES_INV Error occurred (\see LV_GPU_NXP_VG_LITE_LOG_ERRORS)
69  */
70 lv_res_t lv_gpu_nxp_vglite_draw_arc(const lv_point_t * center, int32_t radius, int32_t start_angle, int32_t end_angle,
71                                     const lv_area_t * clip_area, const lv_draw_arc_dsc_t * dsc);
72 
73 /**********************
74  *      MACROS
75  **********************/
76 
77 #endif /*LV_USE_GPU_NXP_VG_LITE*/
78 
79 #ifdef __cplusplus
80 } /*extern "C"*/
81 #endif
82 
83 #endif /*LV_DRAW_VGLITE_ARC_H*/
84