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

#include <WindowManager.hpp>

+ Collaboration diagram for sd::WindowManager:

Classes

struct  WindowData
 

Public Member Functions

 WindowManager (const EngineServices &services, const WindowManagerCallbacks &callbacks)
 
 ~WindowManager ()
 
WindowId create (const WindowProps &props)
 
void destroy (WindowId id)
 
void process_pending_closes ()
 
Windowget_window (WindowId id)
 
VulkanWindowget_render_window (WindowId id)
 
autoget_windows ()
 
const autoget_windows () const
 
void update_windows (float dt)
 
void draw_windows (ViewManager &viewManager)
 

Private Member Functions

void update_window (WindowId id, WindowData &data, float dt)
 
void draw_window (WindowId id, WindowData &data, ViewManager &viewManager)
 

Private Attributes

VulkanContextm_vulkan_ctx
 
SDImGuiContextm_imgui_ctx
 
VulkanRendererm_renderer
 
WindowManagerCallbacks m_callbacks
 
std::unordered_map< WindowId, WindowDatam_windows
 
WindowId m_next_window_id
 
std::vector< WindowIdm_pending_close
 

Constructor & Destructor Documentation

◆ WindowManager()

sd::WindowManager::WindowManager ( const EngineServices services,
const WindowManagerCallbacks callbacks 
)

◆ ~WindowManager()

sd::WindowManager::~WindowManager ( )
default

Member Function Documentation

◆ create()

WindowId sd::WindowManager::create ( const WindowProps props)

◆ destroy()

void sd::WindowManager::destroy ( WindowId  id)

◆ draw_window()

void sd::WindowManager::draw_window ( WindowId  id,
WindowData data,
ViewManager viewManager 
)
private

◆ draw_windows()

void sd::WindowManager::draw_windows ( ViewManager viewManager)

◆ get_render_window()

VulkanWindow & sd::WindowManager::get_render_window ( WindowId  id)

◆ get_window()

Window & sd::WindowManager::get_window ( WindowId  id)

◆ get_windows() [1/2]

auto & sd::WindowManager::get_windows ( )
inline

◆ get_windows() [2/2]

const auto & sd::WindowManager::get_windows ( ) const
inline

◆ process_pending_closes()

void sd::WindowManager::process_pending_closes ( )

◆ update_window()

void sd::WindowManager::update_window ( WindowId  id,
WindowData data,
float  dt 
)
private

◆ update_windows()

void sd::WindowManager::update_windows ( float  dt)

Member Data Documentation

◆ m_callbacks

WindowManagerCallbacks sd::WindowManager::m_callbacks
private

◆ m_imgui_ctx

SDImGuiContext& sd::WindowManager::m_imgui_ctx
private

◆ m_next_window_id

WindowId sd::WindowManager::m_next_window_id
private

◆ m_pending_close

std::vector<WindowId> sd::WindowManager::m_pending_close
private

◆ m_renderer

VulkanRenderer& sd::WindowManager::m_renderer
private

◆ m_vulkan_ctx

VulkanContext& sd::WindowManager::m_vulkan_ctx
private

◆ m_windows

std::unordered_map<WindowId, WindowData> sd::WindowManager::m_windows
private

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