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