Skip to main content

WindowPositioner

Struct WindowPositioner 

Source
#[non_exhaustive]
pub struct WindowPositioner { pub anchor: WindowAnchor, pub anchor_rect: (Position, Size), pub offset: Position, pub gravity: WindowGravity, pub constraint_adjustment: WindowConstraintAdjustment, }
Expand description

The positioner state backing a window’s anchor-based placement.

Set at window creation via WindowAttributes::with_positioner, and read/mutated at runtime through Window::positioner/Window::set_positioner. See those methods for platform-specific behavior, and WindowPositioner::default for the values used when WindowAttributes::with_positioner is never called.

The structure is based on the wayland structure. For more information see the wayland documentation XDG Positioner

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§anchor: WindowAnchor

The edge or corner of the anchor rect used to position the window relative to it.

Combined with gravity, this controls which corner/edge of the anchor rectangle the window is pinned to. Defaults to WindowAnchor::Center.

§anchor_rect: (Position, Size)

The anchor rectangle the window is positioned relative to.

The Position is the top-left corner of the rectangle relative to the parent window’s content area, and the Size its dimensions. Defaults to a 1x1 rectangle at the content origin. Passing a WindowPositioner to WindowAttributes::with_positioner overrides the position value set with WindowAttributes::with_position.

§offset: Position

The window’s position relative to the anchor rect. Defaults to no offset.

§gravity: WindowGravity

The direction the window surface extends away from the anchor point.

Combined with anchor, this determines the final position of the window relative to its anchor rectangle. Defaults to WindowGravity::Center.

§constraint_adjustment: WindowConstraintAdjustment

How the window should be repositioned when it would be constrained.

The flags in WindowConstraintAdjustment can be combined to allow sliding, flipping, and/or resizing the window independently on each axis. Defaults to no adjustment.

Implementations§

Source§

impl WindowPositioner

Source

pub fn new( anchor: WindowAnchor, anchor_rect: (Position, Size), offset: Position, gravity: WindowGravity, constraint_adjustment: WindowConstraintAdjustment, ) -> Self

Trait Implementations§

Source§

impl Clone for WindowPositioner

Source§

fn clone(&self) -> WindowPositioner

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 WindowPositioner

Source§

impl Debug for WindowPositioner

Source§

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

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

impl Default for WindowPositioner

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for WindowPositioner

Source§

fn eq(&self, other: &WindowPositioner) -> 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 WindowPositioner

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> 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.