From b9e0f7494881ad7cdfbcbc16878ecc6ef717753f Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Fri, 20 Sep 2019 19:15:31 +0200 Subject: Create `iced_core` and `iced_native` --- core/src/justify.rs | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 core/src/justify.rs (limited to 'core/src/justify.rs') diff --git a/core/src/justify.rs b/core/src/justify.rs new file mode 100644 index 00000000..878573b0 --- /dev/null +++ b/core/src/justify.rs @@ -0,0 +1,44 @@ +/// Distribution on the main axis of a container. +/// +/// * On a [`Column`], it describes __vertical__ distribution. +/// * On a [`Row`], it describes __horizontal__ distribution. +/// +/// [`Column`]: widget/struct.Column.html +/// [`Row`]: widget/struct.Row.html +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +pub enum Justify { + /// Place items at the start of the main axis. + Start, + + /// Place items at the center of the main axis. + Center, + + /// Place items at the end of the main axis. + End, + + /// Place items with space between. + SpaceBetween, + + /// Place items with space around. + SpaceAround, + + /// Place items with evenly distributed space. + SpaceEvenly, +} + +#[cfg(feature = "stretch")] +#[doc(hidden)] +impl From for stretch::style::JustifyContent { + fn from(justify: Justify) -> Self { + match justify { + Justify::Start => stretch::style::JustifyContent::FlexStart, + Justify::Center => stretch::style::JustifyContent::Center, + Justify::End => stretch::style::JustifyContent::FlexEnd, + Justify::SpaceBetween => { + stretch::style::JustifyContent::SpaceBetween + } + Justify::SpaceAround => stretch::style::JustifyContent::SpaceAround, + Justify::SpaceEvenly => stretch::style::JustifyContent::SpaceEvenly, + } + } +} -- cgit