#ifndef _GAME_GUI_SDL_H #define _GAME_GUI_SDL_H #include "game-gui.hpp" #include #ifdef GAMEGUI_INCLUDE_VULKAN #include #endif class GameGui_SDL : public GameGui { public: GameGui_SDL(); string& getError(); bool init(); void shutdown(); void* createWindow(const string& title, int width, int height, bool fullscreen); void destroyWindow(); void processEvents(); int pollEvent(UIEvent* uiEvent); bool keyPressed(unsigned int key); void refreshWindowSize(); int getWindowWidth(); int getWindowHeight(); #ifdef GAMEGUI_INCLUDE_VULKAN bool createVulkanSurface(VkInstance instance, VkSurfaceKHR* surface); vector getRequiredExtensions(); #endif private: SDL_Window* window; int windowWidth, windowHeight; const Uint8* keyState; string s_errorMessage; }; #endif // _GAME_GUI_SDL_H