MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Core::BackendWindowHandler Class Reference

#include <BackendWindowHandler.hpp>

+ Collaboration diagram for MayaFlux::Core::BackendWindowHandler:

Public Member Functions

 BackendWindowHandler (VKContext &context, VKCommandManager &command_manager)
 
 ~BackendWindowHandler ()=default
 
void setup_backend_service (const std::shared_ptr< Registry::Service::DisplayService > &display_service)
 
 BackendWindowHandler (const BackendWindowHandler &)=delete
 
BackendWindowHandleroperator= (const BackendWindowHandler &)=delete
 
 BackendWindowHandler (BackendWindowHandler &&) noexcept=default
 
BackendWindowHandleroperator= (BackendWindowHandler &&) noexcept=default
 
bool register_window (const std::shared_ptr< Window > &window)
 
void unregister_window (const std::shared_ptr< Window > &window)
 
bool is_window_registered (const std::shared_ptr< Window > &window) const
 
bool attach_render_pass (const std::shared_ptr< Window > &window, const std::shared_ptr< Core::VKRenderPass > &render_pass)
 Attach a user render pass and recreate sync objects with it Used by Portal when registering a window for rendering.
 
void render_window (const std::shared_ptr< Window > &window)
 
void render_all_windows ()
 
void handle_window_resize ()
 
WindowRenderContextfind_window_context (const std::shared_ptr< Window > &window)
 
const WindowRenderContextfind_window_context (const std::shared_ptr< Window > &window) const
 
uint32_t get_swapchain_image_count (const std::shared_ptr< Window > &window) const
 
void cleanup ()
 

Private Member Functions

bool create_sync_objects (WindowRenderContext &config)
 Create synchronization objects for a window's swapchain.
 
void render_window_internal (WindowRenderContext &context)
 Internal rendering logic for a window.
 
void recreate_swapchain_for_context (WindowRenderContext &context)
 Recreate the swapchain and related resources for a window.
 
bool recreate_swapchain_internal (WindowRenderContext &context)
 Internal logic to recreate swapchain and related resources.
 

Private Attributes

VKContextm_context
 
VKCommandManagerm_command_manager
 
std::vector< WindowRenderContextm_window_contexts
 

Detailed Description

Definition at line 46 of file BackendWindowHandler.hpp.


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