diff --git a/crates/bevy_ui/src/lib.rs b/crates/bevy_ui/src/lib.rs index 8b9e1b2564b81..2ac32e95005ff 100644 --- a/crates/bevy_ui/src/lib.rs +++ b/crates/bevy_ui/src/lib.rs @@ -104,7 +104,6 @@ impl Plugin for UiPlugin { .register_type::() .register_type::() .register_type::() - .register_type::() .add_system_to_stage( CoreStage::PreUpdate, ui_focus_system.label(UiSystem::Focus).after(InputSystem), @@ -127,7 +126,7 @@ impl Plugin for UiPlugin { ) .add_system_to_stage( CoreStage::PostUpdate, - widget::image_node_system + widget::update_image_calculated_size_system .before(UiSystem::Flex) // Potential conflicts: `Assets` // They run independently since `widget::image_node_system` will only ever observe diff --git a/crates/bevy_ui/src/node_bundles.rs b/crates/bevy_ui/src/node_bundles.rs index 938a740a48e76..b086eb47a3ad2 100644 --- a/crates/bevy_ui/src/node_bundles.rs +++ b/crates/bevy_ui/src/node_bundles.rs @@ -1,8 +1,8 @@ //! This module contains basic node bundles used to build UIs use crate::{ - widget::{Button, ImageMode}, - BackgroundColor, CalculatedSize, FocusPolicy, Interaction, Node, Style, UiImage, ZIndex, + widget::Button, BackgroundColor, CalculatedSize, FocusPolicy, Interaction, Node, Style, + UiImage, ZIndex, }; use bevy_ecs::bundle::Bundle; use bevy_render::{ @@ -67,8 +67,6 @@ pub struct ImageBundle { pub node: Node, /// Describes the style including flexbox settings pub style: Style, - /// Configures how the image should scale - pub image_mode: ImageMode, /// The calculated size based on the given image pub calculated_size: CalculatedSize, /// The background color, which serves as a "fill" for this node diff --git a/crates/bevy_ui/src/widget/image.rs b/crates/bevy_ui/src/widget/image.rs index c6e0e5ad23ed1..2916a6295223a 100644 --- a/crates/bevy_ui/src/widget/image.rs +++ b/crates/bevy_ui/src/widget/image.rs @@ -1,29 +1,16 @@ use crate::{CalculatedSize, Size, UiImage, Val}; use bevy_asset::Assets; use bevy_ecs::{ - component::Component, - query::{With, Without}, - reflect::ReflectComponent, + query::Without, system::{Query, Res}, }; -use bevy_reflect::{Reflect, ReflectDeserialize, ReflectSerialize}; use bevy_render::texture::Image; use bevy_text::Text; -use serde::{Deserialize, Serialize}; - -/// Describes how to resize the Image node -#[derive(Component, Debug, Default, Clone, Reflect, Serialize, Deserialize)] -#[reflect(Component, Serialize, Deserialize)] -pub enum ImageMode { - /// Keep the aspect ratio of the image - #[default] - KeepAspect, -} /// Updates calculated size of the node based on the image provided -pub fn image_node_system( +pub fn update_image_calculated_size_system( textures: Res>, - mut query: Query<(&mut CalculatedSize, &UiImage), (With, Without)>, + mut query: Query<(&mut CalculatedSize, &UiImage), Without>, ) { for (mut calculated_size, image) in &mut query { if let Some(texture) = textures.get(&image.texture) {