Files
funnygame/public/igamewindow.h
2025-09-20 12:39:42 +03:00

30 lines
616 B
C++

#ifndef GAME_WINDOW_H
#define GAME_WINDOW_H
#include "tier2/iappsystem.h"
#include "tier0/platform.h"
enum EGraphicsAPI
{
GRAPHICS_API_METAL,
GRAPHICS_API_VULKAN,
};
abstract_class IGameWindow: public IAppSystem
{
public:
virtual void UpdateWindow() = 0;
virtual EGraphicsAPI GetGraphicsAPI() = 0;
virtual int GetVulkanInstanceExtensionCount() = 0;
virtual const char **GetVulkanInstanceExtensions() = 0;
virtual void CreateVulkanSurface( void *pInstance ) = 0;
virtual void DestroyVulkanSurface( void *pInstance ) = 0;
virtual void *GetVulkanSurface() = 0;
};
extern IGameWindow *gamewindow;
#endif