#ifndef APPLICATION_H #define APPLICATION_H #include #include #include "input.h" class Application { private: sf::Window* window; bool please_quit; bool fullscreen; std::string window_title; protected: void create_window(unsigned int w, unsigned int h, bool fs, const std::string& title); void init_window(unsigned int w, unsigned int h, bool fs, const std::string& title); virtual void event(const sf::Event& e); virtual void event_keypress(Key::Code key); virtual void event_reshape(int width, int height); virtual void init() = 0; virtual void update() = 0; void swap(); public: Application(); virtual ~Application(); void run(); void quit(); }; #endif