#pragma once
#include "render/window.h"
#include "wrapper/swapchain.h"
#include "vulkan.h"
namespace vulkanapi {
	class Image;
	class VulkanWindow : public engineapi::Window {
	protected:
		VkSurfaceKHR mSurfaceKHR;
		Swapchain* mSwapchain;
	public:
		VulkanWindow(int frames, uint32_t width, uint32_t height, const char* title);

		vector<Image*>& GetSurface() {
			return mSwapchain->GetSurface();
		}
		Swapchain* GetSwapchain() {
			return mSwapchain;
		}
	public:
	static VulkanWindow* GetSingletonPtr() {
			return (VulkanWindow*)engineapi::Window::GetSingletonPtr();
		}
	};
};