/****************************************************************************
	Knihovna obsahuje definici tridy TScreen, ktera slouzi jako zakladni datovy
	typ pro spravu grafickych objektu v obraze a praci s nimi. 

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

#ifndef GR_SCREEN_H
#define GR_SCREEN_H
#include "GLCD_types.h"
#include "GR_object.h"

class TScreen
{
public:
	short object_count;																			//Pocet objektu
	FONT* font;																					//Vychozi pismo
	TScreen(void){};																			//Vychozi konstruktor
	void Init(unsigned char Max_count, FONT* Font);												//Metody pro inicializace
	void Init(unsigned char Max_count, FONT* Font, char FullScreen);
	void Init(unsigned char Max_count, TScreenObject * objects, FONT* Font);
	void Init(unsigned char Max_count, TScreenObject * objects, FONT* Font, char FullScreen);
	void EnableAllObjects(void);																//Povoleni vsech objektu
	void DisableAllObjects(void);																//Zakazani vsech objektu
	void UpdateObject(short object);															//Prekresleni daneho objektu
    void UpdateObject(short object,OBJECT_MESSAGE message);
	TScreenObject *objects;																		//Pole objektu
	TScreenObject internalObjects[2];															//Interni pole objektu pro zjednoduseni inicializace pro male screeny
	char fullScreen;																			//Celoobrazovkovy rezim
	void Draw(void);																			//Vykresleni obrazovky
};


#endif