class Screen;
class Console;
+class ScreenFade;
class DrawingContext;
class MainLoop
~MainLoop();
void run();
- void exit_screen();
- void quit();
+ void exit_screen(ScreenFade* fade = NULL);
+ void quit(ScreenFade* fade = NULL);
void set_speed(float speed);
// push new screen on screen_stack
- void push_screen(Screen* screen);
+ void push_screen(Screen* screen, ScreenFade* fade = NULL);
+ void set_screen_fade(ScreenFade* fade);
private:
void draw_fps(DrawingContext& context, float fps);
bool running;
float speed;
- bool nextpush;
+ bool nextpop;
std::auto_ptr<Screen> next_screen;
std::auto_ptr<Screen> current_screen;
std::auto_ptr<Console> console;
+ std::auto_ptr<ScreenFade> screen_fade;
std::vector<Screen*> screen_stack;
};