diff --git a/crates/bevy_ui/src/entity.rs b/crates/bevy_ui/src/entity.rs index fe30a6fd807f20..a6e789da8af225 100644 --- a/crates/bevy_ui/src/entity.rs +++ b/crates/bevy_ui/src/entity.rs @@ -2,8 +2,8 @@ use crate::{ layout_components::{ - flex::FlexboxLayout, LayoutStrategy, Offset, Overflow, PositionType, SizeConstraints, - Spacing, TextDirection, Wrap, + flex::FlexLayout, LayoutStrategy, Offset, Overflow, PositionType, SizeConstraints, Spacing, + TextDirection, Wrap, }, widget::{Button, ImageMode}, CalculatedSize, FocusPolicy, Interaction, Node, UiColor, UiImage, @@ -36,7 +36,7 @@ pub struct NodeBundle { /// The margin, padding and border of the UI node pub spacing: Spacing, /// The flexbox layout parameters - pub flexbox_layout: FlexboxLayout, + pub flex_layout: FlexLayout, /// The direction of the text pub text_direction: TextDirection, /// Controls how the content wraps @@ -75,7 +75,7 @@ pub struct ImageBundle { /// The margin, padding and border of the UI node pub spacing: Spacing, /// The flexbox layout parameters - pub flexbox_layout: FlexboxLayout, + pub flex_layout: FlexLayout, /// The direction of the text pub text_direction: TextDirection, /// Controls how the content wraps @@ -118,7 +118,7 @@ pub struct TextBundle { /// The margin, padding and border of the UI node pub spacing: Spacing, /// The flexbox layout parameters - pub flexbox_layout: FlexboxLayout, + pub flex_layout: FlexLayout, /// The direction of the text pub text_direction: TextDirection, /// Controls how the content wraps @@ -168,9 +168,9 @@ impl TextBundle { self } - /// Returns this [`TextBundle`] with a new [`FlexboxLayout`]. - pub const fn with_flex_layout(mut self, layout: FlexboxLayout) -> Self { - self.flexbox_layout = layout; + /// Returns this [`TextBundle`] with a new [`FlexLayout`]. + pub const fn with_flex_layout(mut self, layout: FlexLayout) -> Self { + self.flex_layout = layout; self } } @@ -185,7 +185,7 @@ impl Default for TextBundle { layout_strategy: Default::default(), position_type: Default::default(), size_constraints: Default::default(), - flexbox_layout: Default::default(), + flex_layout: Default::default(), text_direction: Default::default(), wrap: Default::default(), overflow: Default::default(), @@ -217,7 +217,7 @@ pub struct ButtonBundle { /// The margin, padding and border of the UI node pub spacing: Spacing, /// The flexbox layout parameters - pub flexbox_layout: FlexboxLayout, + pub flex_layout: FlexLayout, /// The direction of the text pub text_direction: TextDirection, /// Controls how the content wraps diff --git a/crates/bevy_ui/src/flex/convert.rs b/crates/bevy_ui/src/flex/convert.rs index 30780a3f35adb3..c311ec75e3c36e 100644 --- a/crates/bevy_ui/src/flex/convert.rs +++ b/crates/bevy_ui/src/flex/convert.rs @@ -1,6 +1,6 @@ use crate::layout_components::{ flex::{ - AlignContent, AlignItems, AlignSelf, FlexDirection, FlexboxLayoutQueryItem, JustifyContent, + AlignContent, AlignItems, AlignSelf, FlexDirection, FlexLayoutQueryItem, JustifyContent, }, LayoutStrategy, PositionType, Wrap, }; @@ -36,26 +36,23 @@ pub fn from_val_size( } } -pub fn from_flexbox_layout( - scale_factor: f64, - value: FlexboxLayoutQueryItem<'_>, -) -> taffy::style::Style { +pub fn from_flex_layout(scale_factor: f64, value: FlexLayoutQueryItem<'_>) -> taffy::style::Style { taffy::style::Style { display: (*value.layout_strategy).into(), position_type: (*value.position_type).into(), - flex_direction: value.flexbox_layout.flex_direction.into(), + flex_direction: value.flex_layout.flex_direction.into(), flex_wrap: (*value.wrap).into(), - align_items: value.flexbox_layout.align_items.into(), - align_self: value.flexbox_layout.align_self.into(), - align_content: value.flexbox_layout.align_content.into(), - justify_content: value.flexbox_layout.justify_content.into(), + align_items: value.flex_layout.align_items.into(), + align_self: value.flex_layout.align_self.into(), + align_content: value.flex_layout.align_content.into(), + justify_content: value.flex_layout.justify_content.into(), position: from_rect(scale_factor, value.offset.0), margin: from_rect(scale_factor, value.spacing.margin), padding: from_rect(scale_factor, value.spacing.padding), border: from_rect(scale_factor, value.spacing.border), - flex_grow: value.flexbox_layout.grow, - flex_shrink: value.flexbox_layout.shrink, - flex_basis: from_val(scale_factor, value.flexbox_layout.basis), + flex_grow: value.flex_layout.grow, + flex_shrink: value.flex_layout.shrink, + flex_basis: from_val(scale_factor, value.flex_layout.basis), size: from_val_size(scale_factor, value.size_constraints.suggested), min_size: from_val_size(scale_factor, value.size_constraints.min), max_size: from_val_size(scale_factor, value.size_constraints.max), @@ -116,7 +113,7 @@ impl From for taffy::style::AlignContent { impl From for taffy::style::Display { fn from(value: LayoutStrategy) -> Self { match value { - LayoutStrategy::Flexbox => taffy::style::Display::Flex, + LayoutStrategy::Flex => taffy::style::Display::Flex, LayoutStrategy::None => taffy::style::Display::None, } } diff --git a/crates/bevy_ui/src/flex/mod.rs b/crates/bevy_ui/src/flex/mod.rs index a2997d172a656c..8da8abac014f74 100644 --- a/crates/bevy_ui/src/flex/mod.rs +++ b/crates/bevy_ui/src/flex/mod.rs @@ -1,7 +1,7 @@ mod convert; use crate::{ - layout_components::flex::{FlexboxLayoutChanged, FlexboxLayoutQuery, FlexboxLayoutQueryItem}, + layout_components::flex::{FlexLayoutChanged, FlexLayoutQuery, FlexLayoutQueryItem}, CalculatedSize, Node, }; use bevy_ecs::{ @@ -62,12 +62,12 @@ impl FlexSurface { pub fn upsert_node( &mut self, entity: Entity, - layout: FlexboxLayoutQueryItem<'_>, + layout: FlexLayoutQueryItem<'_>, scale_factor: f64, ) { let mut added = false; let taffy = &mut self.taffy; - let taffy_style = convert::from_flexbox_layout(scale_factor, layout); + let taffy_style = convert::from_flex_layout(scale_factor, layout); let taffy_node = self.entity_to_taffy.entry(entity).or_insert_with(|| { added = true; taffy.new_node(taffy_style, &Vec::new()).unwrap() @@ -81,12 +81,12 @@ impl FlexSurface { pub fn upsert_leaf( &mut self, entity: Entity, - layout: FlexboxLayoutQueryItem<'_>, + layout: FlexLayoutQueryItem<'_>, calculated_size: CalculatedSize, scale_factor: f64, ) { let taffy = &mut self.taffy; - let taffy_style = convert::from_flexbox_layout(scale_factor, layout); + let taffy_style = convert::from_flex_layout(scale_factor, layout); let measure = taffy::node::MeasureFunc::Boxed(Box::new( move |constraints: taffy::geometry::Size| { let mut size = convert::from_f32_size(scale_factor, calculated_size.size); @@ -207,12 +207,12 @@ pub fn flex_node_system( mut flex_surface: ResMut, root_node_query: Query, Without)>, node_query: Query< - (Entity, FlexboxLayoutQuery, Option<&CalculatedSize>), - (With, FlexboxLayoutChanged), + (Entity, FlexLayoutQuery, Option<&CalculatedSize>), + (With, FlexLayoutChanged), >, - full_node_query: Query<(Entity, FlexboxLayoutQuery, Option<&CalculatedSize>), With>, + full_node_query: Query<(Entity, FlexLayoutQuery, Option<&CalculatedSize>), With>, changed_size_query: Query< - (Entity, FlexboxLayoutQuery, &CalculatedSize), + (Entity, FlexLayoutQuery, &CalculatedSize), (With, Changed), >, children_query: Query<(Entity, &Children), (With, Changed)>, @@ -239,7 +239,7 @@ pub fn flex_node_system( fn update_changed( flex_surface: &mut FlexSurface, scaling_factor: f64, - query: Query<(Entity, FlexboxLayoutQuery, Option<&CalculatedSize>), F>, + query: Query<(Entity, FlexLayoutQuery, Option<&CalculatedSize>), F>, ) { // update changed nodes for (entity, layout, calculated_size) in &query { diff --git a/crates/bevy_ui/src/layout_components.rs b/crates/bevy_ui/src/layout_components.rs index cc4e796905e6d3..d4b6ffb57bdf85 100644 --- a/crates/bevy_ui/src/layout_components.rs +++ b/crates/bevy_ui/src/layout_components.rs @@ -17,7 +17,7 @@ pub enum LayoutStrategy { /// /// As implemented by [`taffy`]: some bugs or limitations may exist; please file an issue!\ #[default] - Flexbox, + Flex, } /// The strategy used to position this node @@ -142,11 +142,11 @@ pub mod flex { use bevy_reflect::prelude::*; use serde::{Deserialize, Serialize}; - /// A query for all of the components in a [`FlexboxLayoutBundle`]. + /// A query for all of the components need for flexbox layout. /// - /// See [`FlexboxLayoutChanged`] when attempting to use this as a query filter. + /// See [`FlexLayoutChanged`] when attempting to use this as a query filter. #[derive(WorldQuery)] - pub struct FlexboxLayoutQuery { + pub struct FlexLayoutQuery { /// The layout algorithm used pub layout_strategy: &'static LayoutStrategy, /// The position of this UI node @@ -158,7 +158,7 @@ pub mod flex { /// The margin, padding and border of the UI node pub spacing: &'static Spacing, /// The flexbox layout parameters - pub flexbox_layout: &'static FlexboxLayout, + pub flex_layout: &'static FlexLayout, /// The direction of the text pub text_direction: &'static TextDirection, /// Controls how the content wraps @@ -167,15 +167,13 @@ pub mod flex { pub overflow: &'static Overflow, } - /// A type alias for when any of the components in the [`FlexboxLayoutBundle`] has been changed - /// - /// See [`FlexboxLayoutQuery`] for the data-fetching equivalent. - pub type FlexboxLayoutChanged = Or<( + /// A type alias for when any of the components in a [`FlexLayoutQuery`] have changed. + pub type FlexLayoutChanged = Or<( Changed, Changed, Changed, Changed, - Changed, + Changed, Changed, Changed, )>; @@ -186,7 +184,7 @@ pub mod flex { /// you can use [guides](https://css-tricks.com/snippets/css/a-guide-to-flexbox/) for additional documentation. #[derive(Component, Serialize, Deserialize, Reflect, Debug, PartialEq, Clone, Copy)] #[reflect_value(PartialEq, Serialize, Deserialize)] - pub struct FlexboxLayout { + pub struct FlexLayout { /// How items are ordered inside a flexbox /// /// Sets the main and cross-axis: if this is a "row" variant, the main axis will be rows. @@ -207,9 +205,9 @@ pub mod flex { pub basis: Val, } - impl Default for FlexboxLayout { - fn default() -> FlexboxLayout { - FlexboxLayout { + impl Default for FlexLayout { + fn default() -> FlexLayout { + FlexLayout { flex_direction: Default::default(), align_items: Default::default(), align_self: Default::default(), diff --git a/crates/bevy_ui/src/lib.rs b/crates/bevy_ui/src/lib.rs index 48f39e7b08d46e..baa092a33926be 100644 --- a/crates/bevy_ui/src/lib.rs +++ b/crates/bevy_ui/src/lib.rs @@ -76,7 +76,7 @@ impl Plugin for UiPlugin { .register_type::>() .register_type::>() .register_type::>() - .register_type::() + .register_type::() .register_type::() .register_type::() .register_type::() diff --git a/crates/bevy_ui/src/update.rs b/crates/bevy_ui/src/update.rs index 60bd7d53ccb85f..cee5f274451646 100644 --- a/crates/bevy_ui/src/update.rs +++ b/crates/bevy_ui/src/update.rs @@ -1,6 +1,6 @@ //! This module contains systems that update the UI when something changes -use crate::{layout_components::Overflow, prelude::flex::FlexboxLayoutQuery, CalculatedClip}; +use crate::{layout_components::Overflow, prelude::flex::FlexLayoutQuery, CalculatedClip}; use super::Node; use bevy_ecs::{ @@ -71,7 +71,7 @@ pub fn update_clipping_system( mut node_query: Query<( &Node, &GlobalTransform, - FlexboxLayoutQuery, + FlexLayoutQuery, Option<&mut CalculatedClip>, )>, children_query: Query<&Children>, @@ -93,7 +93,7 @@ fn update_clipping( node_query: &mut Query<( &Node, &GlobalTransform, - FlexboxLayoutQuery, + FlexLayoutQuery, Option<&mut CalculatedClip>, )>, entity: Entity, diff --git a/crates/bevy_ui/src/widget/text.rs b/crates/bevy_ui/src/widget/text.rs index 7f1caaeb00128c..94b7f741c1d2f7 100644 --- a/crates/bevy_ui/src/widget/text.rs +++ b/crates/bevy_ui/src/widget/text.rs @@ -1,5 +1,5 @@ use crate::{ - layout_components::flex::{FlexboxLayout, FlexboxLayoutChanged, FlexboxLayoutQuery}, + layout_components::flex::{FlexLayout, FlexLayoutChanged, FlexLayoutQuery}, CalculatedSize, Size, Val, }; use bevy_asset::Assets; @@ -50,9 +50,9 @@ pub fn text_system( mut font_atlas_set_storage: ResMut>, mut text_pipeline: ResMut, mut text_queries: ParamSet<( - Query, FlexboxLayoutChanged)>>, - Query, With)>, - Query<(&Text, FlexboxLayoutQuery, &mut CalculatedSize)>, + Query, FlexLayoutChanged)>>, + Query, With)>, + Query<(&Text, FlexLayoutQuery, &mut CalculatedSize)>, )>, ) { let scale_factor = windows.scale_factor(WindowId::primary());