frodo-wii/main.cpp

63 lines
1006 B
C++
Raw Normal View History

2009-11-19 18:59:43 +01:00
#include "menu.hh"
2009-11-23 19:52:30 +01:00
#include "utils.hh"
class PrintMenu : public Menu
{
public:
PrintMenu(TTF_Font *font) : Menu(font)
{
}
virtual void selectCallback(int which)
{
printf("entry %d selected: %s\n", which, this->pp_msgs[which]);
}
virtual void escapeCallback(int which)
{
printf("entry %d escaped: %s\n", which, this->pp_msgs[which]);
}
};
SDL_Surface *screen;
PrintMenu *g_menu;
static void run(void)
{
while(1)
{
SDL_Event ev;
while (SDL_PollEvent(&ev)) {
if (ev.type == SDL_QUIT)
exit(1); break;
g_menu->pushEvent(&ev); break;
}
g_menu->draw(screen, 0, 80, 400, 400);
SDL_Delay(50);
}
}
static void init(void)
{
TTF_Font *fnt;
screen = SDL_SetVideoMode(640, 480, 16,
SDL_DOUBLEBUF);
panic_if(!screen, "Cannot initialize video: %s\n", SDL_GetError());
TTF_Init();
fnt = read_and_alloc_font("font.ttf");
g_menu = new PrintMenu(fnt);
}
2009-11-19 18:59:43 +01:00
int main(int argc, char *argv[])
{
2009-11-23 19:52:30 +01:00
init();
run();
2009-11-19 18:59:43 +01:00
return 0;
}