19 #ifndef INCLUDED_CSPAINT_IMAGE_H
20 #define INCLUDED_CSPAINT_IMAGE_H
22 #include <cspaint_fwd.h>
24 #include <vulkan/vulkan.hpp>
32 using handle = std::shared_ptr<image>;
34 image(
device_handle, vk::UniqueImage, vk::Format imageFormat, vk::ImageAspectFlags aspectFlags);
54 template <
typename T,
typename Alloc>
55 void store(
const std::vector<T, Alloc> &vec)
57 store(
static_cast<const void *
>(vec.data()), vec.size() *
sizeof(T));
60 void store(
const void *data, uint64_t size);
64 vk::UniqueImage m_image;
65 vk::UniqueDeviceMemory m_memory;
66 vk::UniqueImageView m_view;
void store(const std::vector< T, Alloc > &vec)
Definition: cspaint_image.h:55
vk::ImageView getImageView()
Definition: cspaint_image.h:44
vk::Image getImage()
Definition: cspaint_image.h:39
void operator=(const image &) = delete
std::shared_ptr< device > device_handle
Definition: cspaint_fwd.h:45
image(device_handle, vk::UniqueImage, vk::Format imageFormat, vk::ImageAspectFlags aspectFlags)
std::shared_ptr< image > handle
Definition: cspaint_image.h:32
vk::DeviceMemory getDeviceMemory()
Definition: cspaint_image.h:49
Definition: cspaint_image.h:28
Definition: cspaint_buffer.h:26