/**1* @file lv_circ.h2*3*/45#ifndef LV_CIRC_H6#define LV_CIRC_H78#ifdef __cplusplus9extern "C" {10#endif111213/*********************14* INCLUDES15*********************/16#include <stddef.h>17#include "lv_area.h"18#include <utils/types.h>1920/*********************21* DEFINES22*********************/23#define LV_CIRC_OCT1_X(p) (p.x)24#define LV_CIRC_OCT1_Y(p) (p.y)25#define LV_CIRC_OCT2_X(p) (p.y)26#define LV_CIRC_OCT2_Y(p) (p.x)27#define LV_CIRC_OCT3_X(p) (-p.y)28#define LV_CIRC_OCT3_Y(p) (p.x)29#define LV_CIRC_OCT4_X(p) (-p.x)30#define LV_CIRC_OCT4_Y(p) (p.y)31#define LV_CIRC_OCT5_X(p) (-p.x)32#define LV_CIRC_OCT5_Y(p) (-p.y)33#define LV_CIRC_OCT6_X(p) (-p.y)34#define LV_CIRC_OCT6_Y(p) (-p.x)35#define LV_CIRC_OCT7_X(p) (p.y)36#define LV_CIRC_OCT7_Y(p) (-p.x)37#define LV_CIRC_OCT8_X(p) (p.x)38#define LV_CIRC_OCT8_Y(p) (-p.y)3940/**********************41* TYPEDEFS42**********************/4344/**********************45* GLOBAL PROTOTYPES46**********************/4748/**49* Initialize the circle drawing50* @param c pointer to a point. The coordinates will be calculated here51* @param tmp point to a variable. It will store temporary data52* @param radius radius of the circle53*/54void lv_circ_init(lv_point_t * c, lv_coord_t * tmp, lv_coord_t radius);5556/**57* Test the circle drawing is ready or not58* @param c same as in circ_init59* @return true if the circle is not ready yet60*/61bool lv_circ_cont(lv_point_t * c);6263/**64* Get the next point from the circle65* @param c same as in circ_init. The next point stored here.66* @param tmp same as in circ_init.67*/68void lv_circ_next(lv_point_t * c, lv_coord_t * tmp);6970/**********************71* MACROS72**********************/7374#ifdef __cplusplus75} /* extern "C" */76#endif777879#endif808182