From ceb02f4a36769c488c2525db2fb73f092a6c2706 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Mon, 11 Nov 2019 05:26:08 +0100 Subject: Implement `Container` widget Remove `align_self` and `justify_content` methods --- native/src/layout/limits.rs | 50 ++++++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 21 deletions(-) (limited to 'native/src/layout/limits.rs') diff --git a/native/src/layout/limits.rs b/native/src/layout/limits.rs index e5cee5df..af269acd 100644 --- a/native/src/layout/limits.rs +++ b/native/src/layout/limits.rs @@ -22,6 +22,14 @@ impl Limits { } } + pub fn min(&self) -> Size { + self.min + } + + pub fn max(&self) -> Size { + self.max + } + pub fn width(mut self, width: Length) -> Limits { match width { Length::Shrink => { @@ -85,27 +93,6 @@ impl Limits { self } - pub fn resolve(&self, intrinsic_size: Size) -> Size { - Size::new( - intrinsic_size - .width - .min(self.max.width) - .max(self.fill.width), - intrinsic_size - .height - .min(self.max.height) - .max(self.fill.height), - ) - } - - pub fn min(&self) -> Size { - self.min - } - - pub fn max(&self) -> Size { - self.max - } - pub fn pad(&self, padding: f32) -> Limits { self.shrink(Size::new(padding * 2.0, padding * 2.0)) } @@ -128,4 +115,25 @@ impl Limits { Limits { min, max, fill } } + + pub fn loose(&self) -> Limits { + Limits { + min: Size::ZERO, + max: self.max, + fill: self.fill, + } + } + + pub fn resolve(&self, intrinsic_size: Size) -> Size { + Size::new( + intrinsic_size + .width + .min(self.max.width) + .max(self.fill.width), + intrinsic_size + .height + .min(self.max.height) + .max(self.fill.height), + ) + } } -- cgit