bevy/crates/bevy_ui/src
Al M bd68ba1c3c make TextLayoutInfo a Component (#4460)
# Objective

Make `TextLayoutInfo` more accessible as a component, rather than internal to `TextPipeline`. I am working on a plugin that manipulates these and there is no (mutable) access to them right now.

## Solution

This changes `TextPipeline::queue_text` to return `TextLayoutInfo`'s rather than storing them in a map internally. `text2d_system` and `text_system` now take the returned `TextLayoutInfo` and store it as a component of the entity. I considered adding an accessor to `TextPipeline` (e.g. `get_glyphs_mut`) but this seems like it might be a little faster, and also has the added benefit of cleaning itself up when entities are removed. Right now nothing is ever removed from the glyphs map.

## Changelog

Removed `DefaultTextPipeline`. `TextPipeline` no longer has a generic key type. `TextPipeline::queue_text` returns `TextLayoutInfo` directly.

## Migration Guide

This might break a third-party crate? I could restore the orginal TextPipeline API as a wrapper around what's in this PR.
2022-09-06 20:03:40 +00:00
..
flex Clean up taffy nodes when UI node entities are removed (#5886) 2022-09-05 21:50:31 +00:00
render make TextLayoutInfo a Component (#4460) 2022-09-06 20:03:40 +00:00
widget make TextLayoutInfo a Component (#4460) 2022-09-06 20:03:40 +00:00
entity.rs Improve ergonomics and reduce boilerplate around creating text elements. (#5343) 2022-07-20 14:14:29 +00:00
focus.rs bevy_reflect: Update enum derives (#5473) 2022-08-02 22:40:29 +00:00
geometry.rs Add AUTO and UNDEFINED const constructors for Size (#5761) 2022-08-22 23:08:08 +00:00
lib.rs Add UI scaling (#5814) 2022-08-29 23:35:53 +00:00
ui_node.rs Move sprite::Rect into bevy_math (#5686) 2022-09-02 12:35:23 +00:00
update.rs Remove last uses of string-labels (#5420) 2022-09-03 18:06:41 +00:00