29 lines
565 B
C++
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;
|
|
};
|
|
}
|