Program Listing for File VulkanImageView.ixx#
↰ Return to documentation for file (Src/GraphicsEngineVulkan/vulkan_base/VulkanImageView.ixx)
module;
#include <vulkan/vulkan.hpp>
export module kataglyphis.vulkan.image_view;
import kataglyphis.vulkan.device;
export namespace Kataglyphis {
class VulkanImageView
{
public:
VulkanImageView();
VulkanImageView(const VulkanImageView &) = delete;
VulkanImageView &operator=(const VulkanImageView &) = delete;
VulkanImageView(VulkanImageView &&other) noexcept;
VulkanImageView &operator=(VulkanImageView &&other) noexcept;
void setImageView(vk::ImageView imageView);
vk::ImageView &getImageView() { return imageView; };
void create(VulkanDevice *in_device,
vk::Image image,
vk::Format format,
vk::ImageAspectFlags aspect_flags,
uint32_t mip_levels);
void cleanUp();
~VulkanImageView();
private:
VulkanDevice *device{ nullptr };
vk::ImageView imageView{};
};
}// namespace Kataglyphis