Add SDL driver prototype. Update sdlterm: Handle keyboard, mouse events. Add glyph cache.
#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;
}