/****************************************************************************
	Aplikace Hlavni menu pro logicke rozdeleni funkci zarizeni a jeho
	snazsi ovladani.

*****************************************************************************/
#ifndef MAIN_MENU_H
#define MAIN_MENU_H

#include "OS_types.h"

/****************************************************************************
	Geometricke rozmery menu

*****************************************************************************/
#define MAIN_MENU_BUTTONS_LEFT 115
#define MAIN_MENU_BUTTONS_TOP 40
#define MAIN_MENU_BUTTONS_DISTANCE 50

#define MAIN_MENU_BUTTONS_WIDTH 250
#define MAIN_MENU_BUTTONS_HEIGHT 30

#define MAIN_MENU_DEPTH 4

#define MAIN_MENU_YA 21
#define MAIN_MENU_XA 0
#define MAIN_MENU_XC 480
#define MAIN_MENU_YC 272

/****************************************************************************
	Definice stavu menu

*****************************************************************************/
typedef enum MAIN_MENU_STATE
{
	MAIN_MENU_NOT_INITIALIZED = M_TASK_NOT_INITIALIZED,
	MAIN_MENU_INITIALIZE,
	MAIN_MENU_READY = M_TASK_READY,
	MAIN_MENU_RESTART = M_TASK_RESTART,
	MAIN_MENU_DRAW,
	MAIN_MENU_ACTIVE = M_TASK_RUNNING,
	MAIN_MENU_WAITING = M_TASK_WAITING,
	MAIN_MENU_ERROR = M_TASK_FAILED,
}MAIN_MENU_STATE;

/****************************************************************************
	Zvlastni objekty

*****************************************************************************/
typedef enum MAIN_MENU_SPECIAL_OBJECTS
{
	MAIN_MENU_BACK,
	//MAIN_MENU_CAPTION,
	MAIN_MENU_SPECIAL_OBJECTS_COUNT,
}MAIN_MENU_SPECIAL_OBJECTS;

#define MAIN_MENU_SPECIAL_BUTTONS_TOP 232
#define MAIN_MENU_SPECIAL_BUTTONS_LEFT 20
#define MAIN_MENU_SPECIAL_BUTTONS_WIDTH 80
#define MAIN_MENU_SPECIAL_BUTTONS_DISTANCE 90

/****************************************************************************
	Definice struktury objektu v menu

*****************************************************************************/
typedef enum MAIN_MENU_OBJECTS
{
	MAIN_MENU_REMOTE_DESKTOP = 0,
	MAIN_MENU_SETUP = 1,
	//MAIN_MENU_REMOTE_DESKTOP_BUTTON,
	MAIN_MENU_ABOUT = 2,
	MAIN_MENU_OBJECTS_COUNT = 3,
}MAIN_MENU_OBJECTS;

typedef enum MENU_OPTIONS_OBJECTS
{
	MENU_OPTIONS_NET_SETUP,
	MENU_OPTIONS_TIME_SETUP,
	MENU_OPTIONS_HARDWARE_SETUP,
	//MENU_OPTIONS_ITEM3,
	MENU_OPTIONS_OBJECTS_COUNT
}MENU_OPTIONS_OBJECTS;

typedef enum MENU_HARDWARE_OBJECTS
{
	//MENU_HARDWARE_WIFI_SETUP,
	MENU_HARDWARE_SERIAL_SETUP,
	MENU_HARDWARE_DISPLAY_SETUP,
	MENU_HARDWARE_OBJECTS_COUNT
}MENU_HARDWARE_OBJECTS;




void AppMainMenu(void);
RESULT MMMsgBox(MESSAGE *msg);



#endif