X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fmainloop.hpp;h=e9fa1a11acde0539e0d5db59e9109deb2253b9ed;hb=5e0bb78e0d7679399eb0f687ecaf93a91cfcb577;hp=a69baafb2dfb2701ce42ce1af7fcc4093380eea7;hpb=a113d3bd1feddd510e3b2852b0d42522735eee40;p=supertux.git diff --git a/src/mainloop.hpp b/src/mainloop.hpp index a69baafb2..e9fa1a11a 100644 --- a/src/mainloop.hpp +++ b/src/mainloop.hpp @@ -38,6 +38,12 @@ public: void exit_screen(ScreenFade* fade = NULL); void quit(ScreenFade* fade = NULL); void set_speed(float speed); + float get_speed() const; + + /** + * requests that a screenshot be taken after the next frame has been rendered + */ + void take_screenshot(); // push new screen on screen_stack void push_screen(Screen* screen, ScreenFade* fade = NULL); @@ -48,16 +54,23 @@ public: private: void draw_fps(DrawingContext& context, float fps); + void draw(DrawingContext& context); + void update_gamelogic(float elapsed_time); + void process_events(); + void handle_screen_switch(); bool running; float speed; bool nextpop; bool nextpush; + /// measured fps + float fps; std::auto_ptr next_screen; std::auto_ptr current_screen; std::auto_ptr console; std::auto_ptr screen_fade; std::vector screen_stack; + bool screenshot_requested; /**< true if a screenshot should be taken after the next frame has been rendered */ }; extern MainLoop* main_loop;