19 #ifndef INCLUDED_CSPAINT_SURFACE_H
20 #define INCLUDED_CSPAINT_SURFACE_H
22 #include <cspaint_context.h>
23 #include <cspaint_fwd.h>
27 class surface :
public std::enable_shared_from_this<surface>
41 using handle = std::shared_ptr<surface>;
48 std::vector<CsPaint::image_handle> images = std::vector<CsPaint::image_handle>());
51 const std::vector<vk::PipelineShaderStageCreateInfo> &shaderStages,
52 const vk::PipelineLayout &pipelineLayout);
68 vk::SurfaceKHR m_surface;
71 vk::ColorSpaceKHR m_colorSpace;
72 vk::PresentModeKHR m_mode;
uint32_t height() const
Definition: cspaint_surface.h:61
pipeline_handle createPipeline(renderpass_handle renderpass, const vk::PipelineVertexInputStateCreateInfo &vertexInputInfo, const std::vector< vk::PipelineShaderStageCreateInfo > &shaderStages, const vk::PipelineLayout &pipelineLayout)
Definition: cspaint_renderpass.h:33
std::shared_ptr< swapchain > swapchain_handle
Definition: cspaint_fwd.h:69
uint32_t width() const
Definition: cspaint_surface.h:56
device_handle graphicsDevice() const
std::shared_ptr< device > device_handle
Definition: cspaint_fwd.h:45
std::shared_ptr< pipeline > pipeline_handle
Definition: cspaint_fwd.h:54
static handle create(context_handle context_handle, vk::SurfaceKHR vk_surface)
std::shared_ptr< surface > handle
Definition: cspaint_surface.h:41
swapchain_handle createSwapchain(renderpass_handle renderpass, std::vector< CsPaint::image_handle > images=std::vector< CsPaint::image_handle >())
void operator=(const surface &) = delete
std::shared_ptr< context > context_handle
Definition: cspaint_fwd.h:36
surface(context_handle context_handle, vk::SurfaceKHR surface, private_tag=private_tag{})
Definition: cspaint_surface.h:27
std::shared_ptr< renderpass > renderpass_handle
Definition: cspaint_fwd.h:60
Definition: cspaint_buffer.h:26