#ifndef _GAME_GUI_H #define _GAME_GUI_H #ifdef GAMEGUI_INCLUDE_VULKAN #include #endif #include #include using namespace std; #define RTWO_SUCCESS true #define RTWO_ERROR false class GameGui { public: virtual ~GameGui() {}; virtual string& GetError() = 0; virtual bool Init() = 0; virtual void Shutdown() = 0; virtual void* CreateWindow(const string& title, unsigned int width, unsigned int height) = 0; virtual void DestroyWindow() = 0; #ifdef GAMEGUI_INCLUDE_VULKAN virtual bool CreateVulkanSurface(VkInstance instance, VkSurfaceKHR* surface) = 0; #endif virtual vector GetRequiredExtensions() = 0; virtual void GetWindowSize(int* width, int* height) = 0; }; #endif // _GAME_GUI_H