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

◆ inspect() [1/4]

MAYAFLUX_API void MayaFlux::Portal::Forma::inspect ( const std::shared_ptr< Buffers::Buffer > &  buf)

Open a dedicated window inspecting a single Buffer and its processing chain.

Definition at line 242 of file Forma.cpp.

243{
244 auto& atelier = internal::atelier();
245 const std::string title = Reflect::short_dynamic_type_name(buf);
246
247 auto window = atelier.create_window(
248 Core::WindowCreateInfo { .title = title, .width = k_inspect_w, .height = k_inspect_h });
249
250 auto surface = atelier.create_surface(window, title);
251 LayoutCursor cursor;
252 auto result = std::make_shared<InspectResult>(atelier.inspector().buffer(buf, surface, cursor));
253 atelier.bridge().spawn_sync(result->group.header.header_id, [result] { result->tap_all(); });
254}
void spawn_sync(uint32_t id, std::function< void()> sync_fn)
Spawn a per-frame GraphicsRoutine that calls sync_fn each tick.
Definition Bridge.cpp:368
InspectResult buffer(const std::shared_ptr< Buffers::Buffer > &buf, Surface &surface, LayoutCursor &cursor, float x_min=-0.95F, float x_max=0.95F, float row_h=0.05F, int depth=0)
Inspect a single Buffer: default processor and full processing chain.
std::shared_ptr< Core::Window > create_window(const Core::WindowCreateInfo &info)
Create a window through the stored WindowManager and show it.
Definition Atelier.cpp:101
Inspector & inspector()
Inspector instance constructed during initialize.
Definition Atelier.cpp:87
Surface create_surface(std::shared_ptr< Core::Window > window, std::string name)
create_layer plus ownership of the window, as a Surface.
Definition Atelier.cpp:146
Bridge & bridge()
Bridge instance constructed during initialize.
Definition Atelier.cpp:77
std::string title
Window title/identifier.
Configuration for creating a single window instance.

References MayaFlux::Portal::Forma::internal::atelier(), MayaFlux::Portal::Forma::internal::Atelier::bridge(), MayaFlux::Portal::Forma::Inspector::buffer(), MayaFlux::Portal::Forma::internal::Atelier::create_surface(), MayaFlux::Portal::Forma::internal::Atelier::create_window(), MayaFlux::Portal::Forma::internal::Atelier::inspector(), MayaFlux::Reflect::short_dynamic_type_name(), MayaFlux::Portal::Forma::Bridge::spawn_sync(), and MayaFlux::Core::WindowCreateInfo::title.

+ Here is the call graph for this function: