#include <vector>

class MDFNConsole
{
	public:
	MDFNConsole(bool shellstyle = 0);
	~MDFNConsole();
	void Draw(SDL_Surface *surface, const SDL_Rect *src_rect);
	int Event(const SDL_Event *event);
	void WriteLine(UTF8 *text);
	void AppendLastLine(UTF8 *text);
        virtual bool TextHook(UTF8 *text);

	void SetShellStyle(bool newsetting) { shellstyle = newsetting; }

	private:
	std::vector<std::string> TextLog;
	std::vector<std::string> kb_buffer;
	int kb_cursor_pos;
	bool shellstyle;
};
