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

◆ create_surface() [2/2]

Surface MayaFlux::Portal::Forma::internal::Atelier::create_surface ( SurfaceConfig  config)

Build a Surface from a SurfaceConfig, creating Layer and Context when config.layer/config.ctx are unset.

Definition at line 160 of file Atelier.cpp.

161{
162 if (!config.layer && config.ctx) {
163 config.layer = config.ctx->layer();
164 } else if (config.layer && !config.ctx) {
165 config.ctx = std::make_shared<Context>(config.layer, config.window, *m_event_manager, config.name);
166 MayaFlux::store(config.ctx);
167 } else if (!config.layer) {
168 auto [layer, ctx] = create_layer(config.window, config.name);
169 config.layer = std::move(layer);
170 config.ctx = std::move(ctx);
171 }
172 return Surface(std::move(config));
173}
std::shared_ptr< Vruta::EventManager > m_event_manager
Definition Atelier.hpp:293
std::pair< std::shared_ptr< Layer >, std::shared_ptr< Context > > create_layer(const std::shared_ptr< Core::Window > &window, std::string name)
Construct a Layer and a Context wired to window.
Definition Atelier.cpp:150
std::shared_ptr< T > store(std::shared_ptr< T > obj)
Transfer ownership of an existing object to the persistent store for process lifetime.
Definition Persist.hpp:28

References create_layer(), MayaFlux::Portal::Forma::SurfaceConfig::ctx, MayaFlux::Portal::Forma::SurfaceConfig::layer, m_event_manager, MayaFlux::Portal::Forma::SurfaceConfig::name, MayaFlux::store(), and MayaFlux::Portal::Forma::SurfaceConfig::window.

Referenced by create_surface(), MayaFlux::Portal::Forma::create_surface(), MayaFlux::Portal::Forma::pick(), and MayaFlux::Portal::Forma::plot().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: