MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ create_window_internal()

std::shared_ptr< Window > MayaFlux::Core::WindowManager::create_window_internal ( const WindowCreateInfo &  create_info)
private

Factory for creating backend-specific windows.

Definition at line 163 of file WindowManager.cpp.

165{
166 switch (m_config.windowing_backend) {
168#if defined(MAYAFLUX_PLATFORM_WINDOWS)
169 return std::make_shared<Win32Window>(create_info, m_config);
170#else
172 "Native Win32 backend not implemented on this platform");
173 return nullptr;
174#endif
175
177#if defined(MAYAFLUX_PLATFORM_LINUX)
178 return std::make_shared<WaylandWindow>(create_info, m_config);
179#else
181 "Native Wayland backend not implemented on this platform");
182 return nullptr;
183#endif
184
186#if defined(MAYAFLUX_PLATFORM_MACOS)
187 return std::make_shared<CocoaWindow>(create_info, m_config);
188#else
190 "Native Cocoa backend not implemented on this platform");
191 return nullptr;
192#endif
193
194 default:
196 "Unknown windowing backend: {}",
197 static_cast<int>(m_config.windowing_backend));
198 return nullptr;
199 }
200}
#define MF_ERROR(comp, ctx,...)
GlobalGraphicsConfig m_config
@ WindowingSubsystem
Windowing system operations (Win32, Wayland, Cocoa)
@ Core
Core engine, backend, subsystems.
WindowingBackend windowing_backend
Selected windowing backend.

References MayaFlux::Core::GlobalGraphicsConfig::COCOA, MayaFlux::Journal::Core, m_config, MF_ERROR, MayaFlux::Core::GlobalGraphicsConfig::WAYLAND, MayaFlux::Core::GlobalGraphicsConfig::windowing_backend, MayaFlux::Journal::WindowingSubsystem, and MayaFlux::Core::GlobalGraphicsConfig::WINDOWS.

Referenced by create_window().

+ Here is the caller graph for this function: