Inferno Game Engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

39 lines
676 B

#ifndef APPLICATION_H
#define APPLICATION_H
#include <memory> // unique_ptr
namespace Inferno {
class Event;
class WindowCloseEvent;
class WindowResizeEvent;
class Window;
class Application {
public:
Application();
virtual ~Application();
void run();
void onEvent(Event &e);
bool onWindowClose(WindowCloseEvent &e);
bool onWindowResize(WindowResizeEvent &e);
// -----------------------------------------
static inline Application &get() { return *s_instance; }
private:
std::unique_ptr<Window> m_window;
static Application* s_instance;
};
// To be defined in the game
extern Application* createApplication();
}
#endif // APPLICATION_H