#ifndef UI_PROGRESS_MULTI_H
#define UI_PROGRESS_MULTI_H


#include "ui/control.h"
#include "ui/ui_core.h"


#define MULTIPROGRESS_CHILD_NUM     (CTRL_MULTIPROGRESS_CHILD_END - CTRL_MULTIPROGRESS_CHILD_BEGIN)

struct multiprogress_highlight_info {
	struct ui_ctrl_info_head head;
	u16 number;
	u16 center_x;
	u16 center_y;
	u16 radius0_big;
	u16 radius0_small;
	u16 radius1_big;
	u16 radius1_small;
	u16 radius2_big;
	u16 radius2_small;
	u16 angle_begin;
	u16 angle_end;
	struct ui_image_list *img;
};

struct ui_multiprogress {
	struct element elm;
	struct element child_elm[MULTIPROGRESS_CHILD_NUM];
	u16 center_x;
	u16 center_y;
	u16 radius;
	u16 angle_begin;
	u16 angle_end;
	u8 ctrl_num;
	char percent[3];
	u8 circle_num;
	u8 index;
	u8 *mask;
	u16 mask_len;
	void *timer;
	const struct layout_info *info;
	const struct multiprogress_highlight_info *pic_info[MULTIPROGRESS_CHILD_NUM];
	const struct element_event_handler *handler;
};

void ui_multiprogress_enable();
int ui_multiprogress_set_persent_by_id(int id, int persent);
int ui_multiprogress_set_second_persent_by_id(int id, int percent);
int ui_multiprogress_set_third_persent_by_id(int id, int percent);

#endif


