/****************************************************************************
	Aplikace pro indikaci zakladnich stavu zarizeni

*****************************************************************************/

#ifndef STATUSBAR_H
#define STATUSBAR_H
#include "OS_types.h"

/****************************************************************************
	Definice rozmeru aplikace

*****************************************************************************/
#define STATUS_BAR_MAIN_SHAPE_LEFT 0
#define STATUS_BAR_MAIN_SHAPE_TOP 0
#define STATUS_BAR_MAIN_SHAPE_WIDTH 478
#define STATUS_BAR_MAIN_SHAPE_HEIGHT 20

#define STATUS_BAR_CLOCK_WIDTH 205
#define STATUS_BAR_ICONS_OFFSET 40

/****************************************************************************
	Stavy aplikace

*****************************************************************************/
typedef enum STATUS_BAR_STATE
{
	STATUS_BAR_NOT_INITIALIZED = M_TASK_NOT_INITIALIZED,
	STATUS_BAR_INITIALIZE,
	STATUS_BAR_RESET,
	STATUS_BAR_DRAW,
	STATUS_BAR_ACTIVE = M_TASK_RUNNING,
	STATUS_BAR_CLICK,
	STATUS_BAR_SWITCH,
	STATUS_BAR_REFRESH_FORCED,
	STATUS_BAR_READY = M_TASK_READY,
	STATUS_BAR_STOP,
	STATUS_BAR_ERROR = M_TASK_FAILED,
}STATUS_BAR_STATE;

/****************************************************************************
	Definice ID objektu

*****************************************************************************/
typedef enum STATUS_BAR_OBJECTS
{
	STATUS_BAR_MAIN_SHAPE,
	STATUS_BAR_CLOCK,
	STATUS_BAR_WIFI,
	STATUS_BAR_BATTERY,
	STATUS_BAR_CONNECTION_TYPE,
	STATUS_BAR_CIPHER_STATE,
	STATUS_BAR_CONNECTION_STATE,
	STATUS_BAR_CAPTION,
	STATUS_BAR_OBJECTS_COUNT,
}STATUS_BAR_OBJECTS;

void StatusBarTextUpdate(unsigned char* text);

RESULT SBMsgBox(MESSAGE *msg);
void AppStatusBar(void);
#endif