mirror of
https://github.com/CTCaer/hekate
synced 2024-11-13 23:36:33 +00:00
81 lines
1.7 KiB
C
81 lines
1.7 KiB
C
|
/**
|
||
|
* @file lv_circ.h
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#ifndef LV_CIRC_H
|
||
|
#define LV_CIRC_H
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
|
||
|
/*********************
|
||
|
* INCLUDES
|
||
|
*********************/
|
||
|
#include <stddef.h>
|
||
|
#include "lv_area.h"
|
||
|
#include "../../../utils/types.h"
|
||
|
|
||
|
/*********************
|
||
|
* DEFINES
|
||
|
*********************/
|
||
|
#define LV_CIRC_OCT1_X(p) (p.x)
|
||
|
#define LV_CIRC_OCT1_Y(p) (p.y)
|
||
|
#define LV_CIRC_OCT2_X(p) (p.y)
|
||
|
#define LV_CIRC_OCT2_Y(p) (p.x)
|
||
|
#define LV_CIRC_OCT3_X(p) (-p.y)
|
||
|
#define LV_CIRC_OCT3_Y(p) (p.x)
|
||
|
#define LV_CIRC_OCT4_X(p) (-p.x)
|
||
|
#define LV_CIRC_OCT4_Y(p) (p.y)
|
||
|
#define LV_CIRC_OCT5_X(p) (-p.x)
|
||
|
#define LV_CIRC_OCT5_Y(p) (-p.y)
|
||
|
#define LV_CIRC_OCT6_X(p) (-p.y)
|
||
|
#define LV_CIRC_OCT6_Y(p) (-p.x)
|
||
|
#define LV_CIRC_OCT7_X(p) (p.y)
|
||
|
#define LV_CIRC_OCT7_Y(p) (-p.x)
|
||
|
#define LV_CIRC_OCT8_X(p) (p.x)
|
||
|
#define LV_CIRC_OCT8_Y(p) (-p.y)
|
||
|
|
||
|
/**********************
|
||
|
* TYPEDEFS
|
||
|
**********************/
|
||
|
|
||
|
/**********************
|
||
|
* GLOBAL PROTOTYPES
|
||
|
**********************/
|
||
|
|
||
|
/**
|
||
|
* Initialize the circle drawing
|
||
|
* @param c pointer to a point. The coordinates will be calculated here
|
||
|
* @param tmp point to a variable. It will store temporary data
|
||
|
* @param radius radius of the circle
|
||
|
*/
|
||
|
void lv_circ_init(lv_point_t * c, lv_coord_t * tmp, lv_coord_t radius);
|
||
|
|
||
|
/**
|
||
|
* Test the circle drawing is ready or not
|
||
|
* @param c same as in circ_init
|
||
|
* @return true if the circle is not ready yet
|
||
|
*/
|
||
|
bool lv_circ_cont(lv_point_t * c);
|
||
|
|
||
|
/**
|
||
|
* Get the next point from the circle
|
||
|
* @param c same as in circ_init. The next point stored here.
|
||
|
* @param tmp same as in circ_init.
|
||
|
*/
|
||
|
void lv_circ_next(lv_point_t * c, lv_coord_t * tmp);
|
||
|
|
||
|
/**********************
|
||
|
* MACROS
|
||
|
**********************/
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} /* extern "C" */
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#endif
|