MayaFlux 0.4.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 162 of file WindowManager.cpp.

164{
165 switch (m_config.windowing_backend) {
167#if defined(GLFW_BACKEND)
168 return std::make_unique<GlfwWindow>(create_info, m_config.surface_info,
169 m_config.requested_api, m_config.glfw_preinit_config);
170#else
172 "GLFW backend not compiled in");
173 return nullptr;
174#endif
175
177#if defined(MAYAFLUX_PLATFORM_WINDOWS)
178 return std::make_shared<Win32Window>(create_info, m_config);
179#else
181 "Native Win32 backend not implemented on this platform");
182 return nullptr;
183#endif
184
186#if defined(MAYAFLUX_PLATFORM_LINUX)
187 return std::make_shared<WaylandWindow>(create_info, m_config);
188#else
190 "Wayland native backend not compiled in");
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 (GLFW, SDL)
@ Core
Core engine, backend, subsystems.
GraphicsSurfaceInfo surface_info
System-wide configuration for visual stream processing.
WindowingBackend windowing_backend
Selected windowing backend.
GraphicsApi requested_api
Selected graphics API for rendering.

References MayaFlux::Journal::Core, MayaFlux::Core::GlobalGraphicsConfig::GLFW, m_config, MF_ERROR, MayaFlux::Core::GlobalGraphicsConfig::requested_api, MayaFlux::Core::GlobalGraphicsConfig::surface_info, 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: