Struct druid::widget::FlexParams

source ·
pub struct FlexParams { /* private fields */ }
Expand description

Optional parameters for an item in a Flex container (row or column).

Generally, when you would like to add a flexible child to a container, you can simply call with_flex_child or add_flex_child, passing the child and the desired flex factor as a f64, which has an impl of Into<FlexParams>.

If you need to set additional parameters, such as a custom CrossAxisAlignment, you can construct FlexParams directly. By default, the child has the same CrossAxisAlignment as the container.

For an overview of the flex layout algorithm, see the Flex docs.

Examples

use druid::widget::{FlexParams, Label, CrossAxisAlignment};

let mut row = druid::widget::Flex::<()>::row();
let child_1 = Label::new("I'm hungry");
let child_2 = Label::new("I'm scared");
// normally you just use a float:
row.add_flex_child(child_1, 1.0);
// you can construct FlexParams if needed:
let params = FlexParams::new(2.0, CrossAxisAlignment::End);
row.add_flex_child(child_2, params);

Implementations§

source§

impl FlexParams

source

pub fn new(flex: f64, alignment: impl Into<Option<CrossAxisAlignment>>) -> Self

Create custom FlexParams with a specific flex_factor and an optional CrossAxisAlignment.

You likely only need to create these manually if you need to specify a custom alignment; if you only need to use a custom flex_factor you can pass an f64 to any of the functions that take FlexParams.

By default, the widget uses the alignment of its parent Flex container.

Trait Implementations§

source§

impl Clone for FlexParams

source§

fn clone(&self) -> FlexParams

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for FlexParams

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<f64> for FlexParams

source§

fn from(flex: f64) -> FlexParams

Converts to this type from the input type.
source§

impl PartialEq<FlexParams> for FlexParams

source§

fn eq(&self, other: &FlexParams) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for FlexParams

source§

impl StructuralPartialEq for FlexParams

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> AnyEq for Twhere T: Any + PartialEq<T>,

source§

fn equals(&self, other: &(dyn Any + 'static)) -> bool

source§

fn as_any(&self) -> &(dyn Any + 'static)

source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> RoundFrom<T> for T

§

fn round_from(x: T) -> T

Performs the conversion.
§

impl<T, U> RoundInto<U> for Twhere U: RoundFrom<T>,

§

fn round_into(self) -> U

Performs the conversion.
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more