mirror of
https://github.com/bevyengine/bevy
synced 2024-11-22 20:53:53 +00:00
Remove ImageMode (#6674)
# Objective Delete `ImageMode`. It doesn't do anything except mislead people into thinking it controls the aspect ratio of images somehow. Fixes #3933 and #6637 ## Solution Delete `ImageMode` ## Changelog Removes the `ImageMode` enum. Removes the `image_mode` field from `ImageBundle` Removes the `With<ImageMode>` query filter from `image_node_system` Renames `image_node_system` to` update_image_calculated_size_system`
This commit is contained in:
parent
4209fcaeda
commit
5972879dec
3 changed files with 6 additions and 22 deletions
|
@ -104,7 +104,6 @@ impl Plugin for UiPlugin {
|
|||
.register_type::<UiImage>()
|
||||
.register_type::<Val>()
|
||||
.register_type::<widget::Button>()
|
||||
.register_type::<widget::ImageMode>()
|
||||
.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<Image>`
|
||||
// They run independently since `widget::image_node_system` will only ever observe
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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<Assets<Image>>,
|
||||
mut query: Query<(&mut CalculatedSize, &UiImage), (With<ImageMode>, Without<Text>)>,
|
||||
mut query: Query<(&mut CalculatedSize, &UiImage), Without<Text>>,
|
||||
) {
|
||||
for (mut calculated_size, image) in &mut query {
|
||||
if let Some(texture) = textures.get(&image.texture) {
|
||||
|
|
Loading…
Reference in a new issue