#ifndef SCREEN_H
#define SCREEN_H

class Screen
{
  protected:
    Screen() {}

  public:
    virtual ~Screen() {}

    /* Called when this screen is no longer the current screen for a Game. */
    virtual void hide() = 0;
    virtual void pause() = 0;
    virtual void render(unsigned int delta) = 0;
    virtual void update(unsigned int delta) = 0;
    virtual void resize() = 0;
    virtual void resume() = 0;
    virtual void show() = 0;
};

#endif