Skip to content

Commit

Permalink
Revert "changes:"
Browse files Browse the repository at this point in the history
This reverts commit 96903e5.
  • Loading branch information
ickshonpe committed Apr 20, 2023
1 parent 96903e5 commit 6385799
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 24 deletions.
23 changes: 12 additions & 11 deletions crates/bevy_ui/src/layout/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,11 @@ use bevy_transform::components::Transform;
use bevy_utils::HashMap;
use bevy_window::{PrimaryWindow, Window, WindowResolution, WindowScaleFactorChanged};
use std::fmt;
use taffy::{node::Measurable, prelude::Size, style_helpers::TaffyMaxContent, Taffy};
use taffy::{
prelude::Size,
style_helpers::TaffyMaxContent,
Taffy,
};

pub struct LayoutContext {
pub scale_factor: f64,
Expand Down Expand Up @@ -87,14 +91,11 @@ impl UiSurface {
}
}

pub fn update_measure(&mut self, entity: Entity, measure_func: Box<dyn Measurable>) {
let taffy_node = self.entity_to_taffy.get(&entity).unwrap();
self.taffy
.set_measure(
*taffy_node,
Some(taffy::node::MeasureFunc::Boxed(measure_func)),
)
.ok();
pub fn update_measure(&mut self, entity: Entity, content_size: &mut ContentSize) {
if let Some(measure_func) = content_size.measure_func.take() {
let taffy_node = self.entity_to_taffy.get(&entity).unwrap();
self.taffy.set_measure(*taffy_node, Some(taffy::node::MeasureFunc::Boxed(measure_func))).ok();
}
}

pub fn update_children(&mut self, entity: Entity, children: &Children) {
Expand Down Expand Up @@ -266,8 +267,8 @@ pub fn ui_layout_system(
}

for (entity, mut content_size) in measure_query.iter_mut() {
if let Some(measure_func) = content_size.measure_func.take() {
ui_surface.update_measure(entity, measure_func);
if content_size.is_changed() {
ui_surface.update_measure(entity, &mut content_size);
}
}

Expand Down
24 changes: 11 additions & 13 deletions crates/bevy_ui/src/measurement.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ use bevy_ecs::prelude::Component;
use bevy_ecs::reflect::ReflectComponent;
use bevy_math::Vec2;
use bevy_reflect::Reflect;
use std::fmt::Formatter;
use taffy::node::Measurable;
use std::fmt::Formatter;
pub use taffy::style::AvailableSpace;

impl std::fmt::Debug for ContentSize {
Expand Down Expand Up @@ -51,23 +51,20 @@ impl Measure for FixedMeasure {
pub struct ContentSize {
/// The `Measure` used to compute the intrinsic size
#[reflect(ignore)]
pub(crate) measure_func: Option<Box<dyn Measurable>>,
pub (crate) measure_func: Option<Box<dyn Measurable>>,
}

impl ContentSize {
pub fn new(measure: impl Measure) -> Self {
let measure_func =
move |size: taffy::prelude::Size<Option<f32>>,
available: taffy::prelude::Size<AvailableSpace>| {
let size =
measure.measure(size.width, size.height, available.width, available.height);
taffy::prelude::Size {
width: size.x,
height: size.y,
}
};
let measure_func = move |size: taffy::prelude::Size<Option<f32>>, available: taffy::prelude::Size<AvailableSpace>| {
let size = measure.measure(size.width, size.height, available.width, available.height);
taffy::prelude::Size {
width: size.x,
height: size.y,
}
};
Self {
measure_func: Some(Box::new(measure_func)),
measure_func: Some(Box::new(measure_func))
}
}
}
Expand All @@ -78,3 +75,4 @@ impl Default for ContentSize {
Self::new(FixedMeasure::default())
}
}

0 comments on commit 6385799

Please sign in to comment.