#pragma once #include "type.h" #include "render/window.h" namespace vkn { class VulkanWindow : public api::Window { private: VkSurfaceKHR mSurfaceKHR; public: void* operator new(size_t size) { return ::operator new(size, GlobalPool()); } void operator delete(void* p) {} public: using api::Window::Window; void CreateRender(); static VulkanWindow* Ptr() { //return dynamic_cast(api::Window::Ptr()); return (VulkanWindow*)api::Window::Ptr(); } }; }