bevy/examples/ui
ickshonpe 6f7d0e5725
split up TextStyle (#15857)
# Objective

Currently text is recomputed unnecessarily on any changes to its color,
which is extremely expensive.

## Solution
Split up `TextStyle` into two separate components `TextFont` and
`TextColor`.

## Testing

I added this system to `many_buttons`:
```rust
fn set_text_colors_changed(mut colors: Query<&mut TextColor>) {
    for mut text_color in colors.iter_mut() {
        text_color.set_changed();
    }
}
```

reports ~4fps on main, ~50fps with this PR.

## Migration Guide
`TextStyle` has been renamed to `TextFont` and its `color` field has
been moved to a separate component named `TextColor` which newtypes
`Color`.
2024-10-13 17:06:22 +00:00
..
borders.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
box_shadow.rs box shadow (#15204) 2024-10-08 16:26:17 +00:00
button.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
display_and_visibility.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
flex_layout.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
font_atlas_debug.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
ghost_nodes.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
grid.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
overflow.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
overflow_debug.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
relative_cursor_position.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
render_ui_to_texture.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
scroll.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
size_constraints.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
text.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
text_debug.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
text_wrap_debug.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
transparency_ui.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
ui.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
ui_material.rs Replace Handle<M: UiMaterial> component with UiMaterialHandle wrapper (#15740) 2024-10-08 19:07:58 +00:00
ui_scaling.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
ui_texture_atlas.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
ui_texture_atlas_slice.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
ui_texture_slice.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
ui_texture_slice_flip_and_tile.rs Migrate cameras to required components (#15641) 2024-10-05 01:59:52 +00:00
viewport_debug.rs Migrate cameras to required components (#15641) 2024-10-05 01:59:52 +00:00
window_fallthrough.rs split up TextStyle (#15857) 2024-10-13 17:06:22 +00:00
z_index.rs Migrate cameras to required components (#15641) 2024-10-05 01:59:52 +00:00