/**1* @file lv_arc.h2*3*/456#ifndef LV_ARC_H7#define LV_ARC_H89#ifdef __cplusplus10extern "C" {11#endif1213/*********************14* INCLUDES15*********************/16#ifdef LV_CONF_INCLUDE_SIMPLE17#include "lv_conf.h"18#else19#include "../../lv_conf.h"20#endif2122#if USE_LV_ARC != 02324#include "../lv_core/lv_obj.h"2526/*********************27* DEFINES28*********************/2930/**********************31* TYPEDEFS32**********************/33/*Data of arc*/34typedef struct {35/*New data for this type */36lv_coord_t angle_start;37lv_coord_t angle_end;38} lv_arc_ext_t;394041/*Styles*/42enum {43LV_ARC_STYLE_MAIN,44};45typedef uint8_t lv_arc_style_t;46474849/**********************50* GLOBAL PROTOTYPES51**********************/5253/**54* Create a arc objects55* @param par pointer to an object, it will be the parent of the new arc56* @param copy pointer to a arc object, if not NULL then the new object will be copied from it57* @return pointer to the created arc58*/59lv_obj_t * lv_arc_create(lv_obj_t * par, const lv_obj_t * copy);6061/*======================62* Add/remove functions63*=====================*/646566/*=====================67* Setter functions68*====================*/6970/**71* Set the start and end angles of an arc. 0 deg: bottom, 90 deg: right etc.72* @param arc pointer to an arc object73* @param start the start angle [0..360]74* @param end the end angle [0..360]75*/76void lv_arc_set_angles(lv_obj_t * arc, uint16_t start, uint16_t end);7778/**79* Set a style of a arc.80* @param arc pointer to arc object81* @param type which style should be set82* @param style pointer to a style83* */84void lv_arc_set_style(lv_obj_t * arc, lv_arc_style_t type, lv_style_t *style);8586/*=====================87* Getter functions88*====================*/8990/**91* Get the start angle of an arc.92* @param arc pointer to an arc object93* @return the start angle [0..360]94*/95uint16_t lv_arc_get_angle_start(lv_obj_t * arc);9697/**98* Get the end angle of an arc.99* @param arc pointer to an arc object100* @return the end angle [0..360]101*/102uint16_t lv_arc_get_angle_end(lv_obj_t * arc);103104/**105* Get style of a arc.106* @param arc pointer to arc object107* @param type which style should be get108* @return style pointer to the style109* */110lv_style_t * lv_arc_get_style(const lv_obj_t * arc, lv_arc_style_t type);111112/*=====================113* Other functions114*====================*/115116/**********************117* MACROS118**********************/119120#endif /*USE_LV_ARC*/121122#ifdef __cplusplus123} /* extern "C" */124#endif125126#endif /*LV_ARC_H*/127128129