97 std::shared_ptr<MappedState<Portal::Text::EditableText>>
state;
102 std::shared_ptr<Portal::Text::PressParams>
params;
105 std::shared_ptr<internal::TextSlice>
slice;
139 std::shared_ptr<Portal::Text::PressParams> in_params,
140 std::string initial_text = {});
189 Scrollable& scroller,
190 std::shared_ptr<Portal::Text::PressParams> in_params,
191 std::string initial_text = {},
192 float content_multiplier = 3.F);
Text editing operations: a mutable buffer plus a byte-offset cursor, and the operations that keep it ...
Event wiring between a Layer and a window surface.
Context
Execution contexts for log messages.
Axis-aligned bounding rectangle in a 2D coordinate space.
std::shared_ptr< MappedState< Portal::Text::EditableText > > state
Live editable text and cursor. Valid after place().
uint32_t element_id
Element id of the text field. Valid after place().
MAYAFLUX_API TextField & place(FormaTarget in_buf, Surface &surface, Kinesis::AABB2D bounds, std::shared_ptr< Portal::Text::PressParams > in_params, std::string initial_text={})
Register the text field element and wire text editing onto it.
std::shared_ptr< Portal::Text::PressParams > params
Shared, mutable render params - every re-render reads this fresh, so a caller can change it once and ...
Kinesis::AABB2D bounds() const noexcept
Field region, satisfying Kinesis::HasBounds.
MAYAFLUX_API void reposition(Kinesis::AABB2D new_bounds)
Move the field to a new NDC region, keeping its content.
std::shared_ptr< internal::TextSlice > slice
The text and caret drawn into buf. Valid after place().
FormaTarget buf
Target the text and caret draw into.
std::shared_ptr< Kinesis::AABB2D > m_live_bounds
Same value as field_bounds, behind a shared_ptr so wire()'s already-captured Context closures see a r...
Kinesis::AABB2D field_bounds
NDC region occupied by the field. Valid after place().
MAYAFLUX_API TextField & scrollable(FormaTarget in_buf, Surface &surface, Scrollable &scroller, std::shared_ptr< Portal::Text::PressParams > in_params, std::string initial_text={}, float content_multiplier=3.F)
Fluent creator: place this field inside an already-placed Scrollable, growing itself taller than its ...
An editable text region: keyboard/text-input wiring over an Element the caller already has a buffer f...