sdlterm/demo.cc
author Radek Brich <radek.brich@devl.cz>
Sat, 05 Jan 2013 16:47:30 +0100
changeset 49 1611c462c3e3
parent 48 1f00e90fd72a
child 50 c5b8b9d2da95
permissions -rw-r--r--
Update sdlterm: Optimize commit() - use two cell buffers, redraw only dirty cells, not everything. Fix keypress event, filter mousemove.

#include "sdlterm.h"


class Application
{
public:
	Terminal term;
	bool done;

	Application() : term(), done(false) {};

	void init();
	void wait_and_process_event();
};


void Application::init()
{
	term.resize(800, 600);
	term.select_font("font/DejaVuSansMono.ttf", "font/DejaVuSansMono-Bold.ttf", 12);
	term.erase();
	term.putch(5, 5, 'W');
	term.commit();
}


void Application::wait_and_process_event()
{
	Event event;
	term.get_next_event(event);

	switch (event.type)
	{
		case Event::QUIT:
			done = true;
			break;

		default:
			break;
	}
}


int main(int argc, char *argv[])
{
	Application app;
	app.init();

    while (!app.done)
    {
    	app.wait_and_process_event();
    }

    return 0;
}