#ifndef SCREEN_H
#define SCREEN_H

namespace Salamander
{

class ScreenManager;

class Screen
{
public:
	friend class ScreenManager;

	virtual ~Screen();

	virtual void load();

	void setActive(bool active);
	bool getActive();

    void setVisible(bool visible);
	bool getVisible();

	void setModal(bool modal);
	bool getModal();

protected:
	Screen(); // abstract class

	virtual void onActive(bool active);
	virtual void update(double elapsedTime);

	// todo : Node

private:
	bool visible_;
	bool active_;
	bool modal_;
};

}


#endif // SCREEN_H
