1 #ifndef BLANK_APP_APPLICATION_HPP_
2 #define BLANK_APP_APPLICATION_HPP_
17 explicit Application(Environment &);
20 Application(const Application &) = delete;
21 Application &operator =(const Application &) = delete;
23 /// run until user quits
25 /// evaluate a single frame of dt milliseconds
30 /// run for t milliseconds
32 /// run for n frames, assuming t milliseconds for each
33 void RunS(size_t n, size_t t);
35 /// process all events in SDL's queue
37 void Handle(const SDL_Event &);
38 void Handle(const SDL_WindowEvent &);
39 /// integrate to the next step with dt milliseconds passed
41 /// push the current state to display
44 void PushState(State *);
46 State *SwitchState(State *);
48 bool HasState() const noexcept;
52 std::stack<State *> states;