#ifndef _GTCACA_PIECHART_H_
#define _GTCACA_PIECHART_H_
#include <stdint.h>
#include <gtcaca/main.h>
#include <gtcaca/widget.h>
typedef struct _gtcaca_piechart_widget_t gtcaca_piechart_widget_t;
struct _gtcaca_piechart_widget_t {
gtcaca_widget_type_t type;
unsigned int id;
int has_focus;
int is_visible;
int x;
int y;
int width;
int height;
uint8_t color_focus_fg;
uint8_t color_focus_bg;
uint8_t color_nonfocus_fg;
uint8_t color_nonfocus_bg;
gtcaca_widget_t *parent;
gtcaca_widget_t *children;
struct _gtcaca_piechart_widget_t *prev;
struct _gtcaca_piechart_widget_t *next;
float *data;
char **labels;
uint8_t *colours;
int n;
int cap;
int donut;
int show_legend;
char *title;
};
gtcaca_piechart_widget_t *gtcaca_piechart_new(gtcaca_widget_t *parent, int x, int y, int width, int height);
void gtcaca_piechart_draw(gtcaca_piechart_widget_t *p);
void gtcaca_piechart_set_data(gtcaca_piechart_widget_t *p, const float *values, const char *const *labels, int n);
void gtcaca_piechart_set_colors(gtcaca_piechart_widget_t *p, const uint8_t *colours, int n);
void gtcaca_piechart_set_donut(gtcaca_piechart_widget_t *p, int on);
void gtcaca_piechart_set_show_legend(gtcaca_piechart_widget_t *p, int on);
void gtcaca_piechart_set_title(gtcaca_piechart_widget_t *p, const char *title);
uint8_t gtcaca_piechart_palette(int i);
void gtcaca_piechart_free(gtcaca_piechart_widget_t *p);
#endif