
#ifndef __MENU_H
#define __MENU_H

#include <stdint.h>

#define	MENU_LEVEL	10		//максимальный уровень вложенности меню
#define	SUB_MENU	7		//максимальное количество подменю в одном меню

typedef struct
{
	uint8_t* MenuName;					//Заголовок меню
	uint32_t MenuLevel;					//Уровень меню (0 - самый верхний и т. д.)
	uint32_t NumberOfSubMenu;			//Количество подменю
	uint32_t CurrentAssignSubMenu;		//Текущее выделенное подменю (0 - не выделено ни одно подменю, 1 - выделено первое подменю и т.д.)
	uint32_t BottomMenu;				//Признак последнего меню (следующего уровня подменю нет), 1 - последнее подменю, 0 - не последнее.
	uint32_t ParentMenu;				//Родительское меню, из которого попали в текущее меню
	uint8_t* SubMenuName[SUB_MENU];		//Заголовок подменю 1
} _Menu;

uint32_t strlen(uint8_t*);

void DrawMenu(_Menu*);
void DrawFunction(_Menu*);

#endif	//__MENU_H
