#ifndef SPECTRE_PLATFORM_H #define SPECTRE_PLATFORM_H #include namespace sp { class PlatformInput; class PlatformDisplay; class MessageQueue; class PlatformApplication : NonCopyable { public : static PlatformApplication* get(); virtual void init() = 0; virtual void shutdown() = 0; //virtual PlatformDisplay& getDisplay() = 0; virtual PlatformInput& getInput() = 0; virtual MessageQueue& getMessageQueue() = 0; }; } // namespace sp #endif /* SPECTRE_PLATFORM_H */