#ifndef GAME_WINDOW_H #define GAME_WINDOW_H #include "gamesystem.h" #include "tier0/platform.h" #include "materialsystem/imaterialsystem.h" abstract_class IGameWindow: public IGameSystem { public: virtual uint32_t GetRenderWidth() = 0; virtual uint32_t GetRenderHeight() = 0; virtual void *CreateVulkanSurface( void *pInstance ) = 0; virtual void DestroyVulkanSurface( void *pInstance ) = 0; }; abstract_class IGameWindowManager: public IGameSystem { public: virtual IGameWindow *CreateWindow() = 0; virtual void DestroyWindow( IGameWindow* pWindow ) = 0; virtual int GetVulkanInstanceExtensionCount() = 0; virtual const char **GetVulkanInstanceExtensions() = 0; }; #endif