Orange/include/Orange/Render/Window.h

29 lines
565 B
C++

#pragma once
#include <Orange/Core/Result.h>
#include <vulkan/vulkan_core.h>
struct SDL_Window;
namespace orange
{
class Window
{
public:
~Window();
static bool GetInstanceExtensions(Window& window, uint32_t *count, const char **extensions);
Result<VkSurfaceKHR> CreateSurface(VkInstance instance);
static const char* GetError();
static Result<Window> Create();
protected:
friend Result<Window>;
Window(SDL_Window* window);
private:
SDL_Window* m_window = nullptr;
};
}