Skip to main content

Placement

Struct Placement 

Source
pub struct Placement {
    pub x: f32,
    pub y: f32,
    pub rect: Rect,
}
Expand description

Where a form goes on a surface, and by how much it is multiplied to get there.

What Form::fit works out and Form::build_fitted then applies. Held as a value rather than done in one call because the application needs the parts separately: Placement::rect is where to put the panel the form is built into, and Placement::uniform is what the theme has to be scaled by at Ui::newwhich is not optional, or the widgets are the old size inside the new rectangles.

Fields§

§x: f32

The horizontal factor.

§y: f32

The vertical factor.

§rect: Rect

Where the form’s own rectangle lands in the surface it was fitted to, already scaled and already centred.

Implementations§

Source§

impl Placement

Source

pub fn uniform(self) -> f32

The one factor that everything which is not a rectangle scales by: text sizes, border widths, row heights, and the theme’s own metrics.

The smaller of the two, so that a stretched layout never grows text taller than the axis that had least room to give. Equal to either of them whenever the fit is uniform, which is every fit except Scaling::Stretch.

let form = Form::parse(
    r#"form "F" version=1 width=100 height=100 scaling=stretch { }"#,
)?;
let fit = form.fit(Size::new(400, 200));
assert_eq!((fit.x, fit.y), (4.0, 2.0));
assert_eq!(fit.uniform(), 2.0, "text follows the tighter axis");

Trait Implementations§

Source§

impl Clone for Placement

Source§

fn clone(&self) -> Placement

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for Placement

Source§

impl Debug for Placement

Source§

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

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

impl PartialEq for Placement

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Placement

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AsAny for T
where T: Any,

Source§

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

Borrows as dyn Any.
Source§

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

Mutably borrows as dyn Any.
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

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.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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 T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.