|
MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
|
| MAYAFLUX_API std::shared_ptr< Core::VKImage > MayaFlux::Portal::Text::press | ( | std::string_view | text, |
| glm::uvec2 | render_bounds, | ||
| const PressParams & | params = {}, |
||
| const std::shared_ptr< Buffers::VKBuffer > & | staging = nullptr |
||
| ) |
Composite a UTF-8 string directly into a new GPU texture.
No TextBuffer, no quad geometry, no registration required. The returned VKImage is RGBA8, shader-read layout, ready for binding into a FormaBuffer or any other descriptor slot.
| text | UTF-8 string to composite. |
| render_bounds | Texture dimensions and wrap boundary in pixels. |
| params | atlas, color, budget_h. render_bounds field ignored. |
| staging | Persistent host-visible staging buffer to upload through. Sized by the caller beforehand (e.g. via Buffers::ensure_image_staging_capacity()) and passed again on every call for the same label/texture to avoid allocating a fresh one each time; nullptr falls back to an internal one-shot staging allocation (the prior behaviour). |
Definition at line 370 of file InkPress.cpp.
References MayaFlux::Journal::API, MayaFlux::Portal::Text::GlyphAtlas::ascender(), MayaFlux::Portal::Text::PressParams::atlas, MayaFlux::Portal::Text::PressParams::background, MayaFlux::Portal::Text::PressParams::color, MayaFlux::Portal::Graphics::get_texture_manager(), image, MayaFlux::Portal::Text::GlyphAtlas::line_height(), MF_DEBUG, MF_WARN, pixels, MayaFlux::Journal::Portal, and MayaFlux::Portal::Text::PressParams::spans.
Here is the call graph for this function: