diff --git a/include/vkcv/SwapChain.hpp b/include/vkcv/SwapChain.hpp index 147fc6dccece2f89bedcefb6201ef85f03393e20..e56866ff6a1802e3c2df0fb44e1c7ccaef656192 100644 --- a/include/vkcv/SwapChain.hpp +++ b/include/vkcv/SwapChain.hpp @@ -9,10 +9,19 @@ namespace vkcv { private: vk::SurfaceKHR m_surface; - vk::SwapchainKHR m_swapchain; - vk::SurfaceFormatKHR m_format; - - SwapChain(vk::SurfaceKHR surface, vk::SwapchainKHR swapchain, vk::SurfaceFormatKHR format); + vk::SwapchainKHR m_swapchain; + vk::SurfaceFormatKHR m_format; + + /** + * Constructor of a SwapChain object + * glfw is not initialized in this class because ist must be sure that there exists a context first + * glfw is already initialized by the window class + * @param surface used by the swapchain + * @param context of the application + * @param swapchain to show images in the window + * @param format + */ + SwapChain(vk::SurfaceKHR surface, const vkcv::Context &context, vk::SwapchainKHR swapchain, vk::SurfaceFormatKHR format); public: SwapChain(const SwapChain &other) = default; @@ -25,13 +34,30 @@ namespace vkcv { [[nodiscard]] vk::SwapchainKHR getSwapchain(); + /** + * gets the current surface object + * @return current surface + */ [[nodiscard]] vk::SurfaceKHR getSurface(); - + /** + * gets the current surface format + * @return gets the surface format + */ [[nodiscard]] vk::SurfaceFormatKHR getSurfaceFormat(); + /** + * creates a swap chain object out of the given window and the given context + * @param window a wrapper that represents a glfw window + * @param context of the application + * @return returns an object of swapChain + */ static SwapChain create(const Window &window, const Context &context); + + /** + * Destructor of SwapChain + */ virtual ~SwapChain(); };