namespace app {
class Application;
+class Input;
class State {
virtual void EnterState(Application &ctrl, SDL_Surface *screen) = 0;
virtual void ExitState() = 0;
- virtual void HandleEvent(const SDL_Event &) = 0;
+ /// adapt the state's graphics to given dimensions
+ virtual void Resize(int width, int height) = 0;
+
+ virtual void HandleInput(const Input &) = 0;
virtual void UpdateWorld(float deltaT) = 0;
virtual void Render(SDL_Surface *) = 0;