13class NodeGraphManager;
19struct WindowCreateInfo;
69 std::shared_ptr<Nodes::NodeGraphManager> node_graph_manager,
70 std::shared_ptr<Buffers::BufferManager> buffer_manager,
71 std::shared_ptr<Vruta::TaskScheduler> scheduler,
72 std::shared_ptr<Vruta::EventManager> event_manager,
73 std::shared_ptr<Core::WindowManager> window_manager);
100 return m_atlas_images[&atlas];
129 [[nodiscard]] std::shared_ptr<Buffers::FormaBuffer>
create_buffer(
137 [[nodiscard]] std::pair<std::shared_ptr<Layer>, std::shared_ptr<Context>>
164 template <
typename T>
170 std::function<
float(T)> project = {})
172 return create_element<T>(
175 std::move(geom), std::move(initial), std::move(project));
182 template <
typename T>
188 std::function<
float(T)> project = {})
190 auto mapped = make_mapped<T>(
191 std::move(initial), std::move(geom), std::move(target));
192 mapped.element.id = surface.
layer().
add(mapped.element);
194 surface.
layer(), mapped, std::move(project));
196 mapped.sync(&surface.
layer());
226 template <
typename T>
237 auto state = mapped.
state;
239 auto* layer_ptr = &layer;
242 if (!
buffer || !geometry_fn || !state)
245 std::vector<uint8_t> bytes;
248 geometry_fn(state->value, bytes, el);
254 layer_ptr->set_contains(
id, el.
contains);
280 void place_adornments(
282 const Plot::SeriesSpec& spec,
284 const std::shared_ptr<Buffers::FormaBuffer>& batch = {});
300 bool m_initialized {};
std::shared_ptr< NetworkGeometryBuffer > buffer
std::weak_ptr< Core::Window > window
PrimitiveTopology topology
The GPU image of a GlyphAtlas, for anything that samples glyph coverage.
Rasterizes and packs glyphs from a FontFace into a TextureContainer.
Contains the node-based computational processing system components.
PrimitiveTopology
Vertex assembly primitive topology.
std::shared_ptr< Core::Window > create_window(const Core::WindowCreateInfo &create_info)
Create a new window with specified parameters.
auto create_buffer(uint32_t channel, uint32_t buffer_size, Args &&... args) -> std::shared_ptr< BufferType >
creates a new buffer of the specified type and registers it
Configuration for creating a single window instance.
Axis-aligned bounding rectangle in a 2D coordinate space.
Unified rendering configuration for graphics buffers.