SDEngine
Game Engine
Loading...
Searching...
No Matches
sd::SDImGuiContext Class Reference

#include <SDImGuiContext.hpp>

+ Collaboration diagram for sd::SDImGuiContext:

Public Member Functions

 SDImGuiContext (const SDImGuiCallbacks &callbacks)
 
 ~SDImGuiContext ()
 
 SDImGuiContext (const SDImGuiContext &other)=delete
 
 SDImGuiContext (SDImGuiContext &&other) noexcept=delete
 
SDImGuiContextoperator= (const SDImGuiContext &other)=delete
 
SDImGuiContextoperator= (SDImGuiContext &&other) noexcept=delete
 
void init (Window &window, VulkanWindow &vw)
 
void shutdown ()
 
void begin_frame ()
 
void end_frame ()
 
void render_draw_data (vk::CommandBuffer cmd)
 
void update_platform_windows ()
 
void begin_dock_space (const std::string &title="SDEngine Editor")
 
void end_dock_space ()
 
ImGuiContextget_context () const
 
vk::DescriptorPool get_descriptor_pool () const
 
VkDescriptorSet create_texture_from_view (VkImageView view, VkImageLayout layout=VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL)
 
void remove_texture (VkDescriptorSet descriptor_set)
 

Private Member Functions

void create_descriptor_pool (VulkanContext &ctx)
 
void create_compatible_render_pass (VulkanContext &ctx, vk::Format format)
 

Private Attributes

ImGuiContextm_context = nullptr
 
SDImGuiCallbacks m_callbacks
 
vk::UniqueDescriptorPool m_descriptor_pool
 
vk::UniqueRenderPass m_render_pass
 
vk::UniqueSampler m_default_sampler
 
bool m_is_vulkan_initialized = false
 

Constructor & Destructor Documentation

◆ SDImGuiContext() [1/3]

sd::SDImGuiContext::SDImGuiContext ( const SDImGuiCallbacks callbacks)
inlineexplicit

◆ ~SDImGuiContext()

sd::SDImGuiContext::~SDImGuiContext ( )

◆ SDImGuiContext() [2/3]

sd::SDImGuiContext::SDImGuiContext ( const SDImGuiContext other)
delete

◆ SDImGuiContext() [3/3]

sd::SDImGuiContext::SDImGuiContext ( SDImGuiContext &&  other)
deletenoexcept

Member Function Documentation

◆ begin_dock_space()

void sd::SDImGuiContext::begin_dock_space ( const std::string &  title = "SDEngine Editor")

◆ begin_frame()

void sd::SDImGuiContext::begin_frame ( )

◆ create_compatible_render_pass()

void sd::SDImGuiContext::create_compatible_render_pass ( VulkanContext ctx,
vk::Format  format 
)
private

◆ create_descriptor_pool()

void sd::SDImGuiContext::create_descriptor_pool ( VulkanContext ctx)
private

◆ create_texture_from_view()

VkDescriptorSet sd::SDImGuiContext::create_texture_from_view ( VkImageView  view,
VkImageLayout  layout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL 
)

◆ end_dock_space()

void sd::SDImGuiContext::end_dock_space ( )

◆ end_frame()

void sd::SDImGuiContext::end_frame ( )

◆ get_context()

ImGuiContext * sd::SDImGuiContext::get_context ( ) const
inline

◆ get_descriptor_pool()

vk::DescriptorPool sd::SDImGuiContext::get_descriptor_pool ( ) const
inline

◆ init()

void sd::SDImGuiContext::init ( Window window,
VulkanWindow vw 
)

◆ operator=() [1/2]

SDImGuiContext & sd::SDImGuiContext::operator= ( const SDImGuiContext other)
delete

◆ operator=() [2/2]

SDImGuiContext & sd::SDImGuiContext::operator= ( SDImGuiContext &&  other)
deletenoexcept

◆ remove_texture()

void sd::SDImGuiContext::remove_texture ( VkDescriptorSet  descriptor_set)

◆ render_draw_data()

void sd::SDImGuiContext::render_draw_data ( vk::CommandBuffer  cmd)

◆ shutdown()

void sd::SDImGuiContext::shutdown ( )

◆ update_platform_windows()

void sd::SDImGuiContext::update_platform_windows ( )

Member Data Documentation

◆ m_callbacks

SDImGuiCallbacks sd::SDImGuiContext::m_callbacks
private

◆ m_context

ImGuiContext* sd::SDImGuiContext::m_context = nullptr
private

◆ m_default_sampler

vk::UniqueSampler sd::SDImGuiContext::m_default_sampler
private

◆ m_descriptor_pool

vk::UniqueDescriptorPool sd::SDImGuiContext::m_descriptor_pool
private

◆ m_is_vulkan_initialized

bool sd::SDImGuiContext::m_is_vulkan_initialized = false
private

◆ m_render_pass

vk::UniqueRenderPass sd::SDImGuiContext::m_render_pass
private

The documentation for this class was generated from the following files: