Struct floating_ui_core::middleware::AutoPlacement
source · pub struct AutoPlacement<'a, Element: Clone + 'static, Window: Clone> { /* private fields */ }
Expand description
Auto placement middleware.
Optimizes the visibility of the floating element by choosing the placement that has the most space available automatically, without needing to specify a preferred placement.
Alternative to Flip
.
See the Rust Floating UI book for more documentation.
Implementations§
source§impl<'a, Element: Clone + 'static, Window: Clone> AutoPlacement<'a, Element, Window>
impl<'a, Element: Clone + 'static, Window: Clone> AutoPlacement<'a, Element, Window>
sourcepub fn new(options: AutoPlacementOptions<Element>) -> Self
pub fn new(options: AutoPlacementOptions<Element>) -> Self
Constructs a new instance of this middleware.
sourcepub fn new_derivable(
options: Derivable<'a, Element, Window, AutoPlacementOptions<Element>>,
) -> Self
pub fn new_derivable( options: Derivable<'a, Element, Window, AutoPlacementOptions<Element>>, ) -> Self
Constructs a new instance of this middleware with derivable options.
sourcepub fn new_derivable_fn(
options: DerivableFn<'a, Element, Window, AutoPlacementOptions<Element>>,
) -> Self
pub fn new_derivable_fn( options: DerivableFn<'a, Element, Window, AutoPlacementOptions<Element>>, ) -> Self
Constructs a new instance of this middleware with derivable options function.
Trait Implementations§
source§impl<'a, Element: Clone + 'static, Window: Clone> Clone for AutoPlacement<'a, Element, Window>
impl<'a, Element: Clone + 'static, Window: Clone> Clone for AutoPlacement<'a, Element, Window>
source§impl<Element: Clone + PartialEq, Window: Clone + PartialEq> Middleware<Element, Window> for AutoPlacement<'static, Element, Window>
impl<Element: Clone + PartialEq, Window: Clone + PartialEq> Middleware<Element, Window> for AutoPlacement<'static, Element, Window>
source§fn compute(
&self,
state: MiddlewareState<'_, Element, Window>,
) -> MiddlewareReturn
fn compute( &self, state: MiddlewareState<'_, Element, Window>, ) -> MiddlewareReturn
Executes this middleware.
source§impl<'a, Element: Clone, Window: Clone> MiddlewareWithOptions<Element, Window, AutoPlacementOptions<Element>> for AutoPlacement<'a, Element, Window>
impl<'a, Element: Clone, Window: Clone> MiddlewareWithOptions<Element, Window, AutoPlacementOptions<Element>> for AutoPlacement<'a, Element, Window>
source§fn options(
&self,
) -> &Derivable<'_, Element, Window, AutoPlacementOptions<Element>>
fn options( &self, ) -> &Derivable<'_, Element, Window, AutoPlacementOptions<Element>>
The options passed to this middleware.
source§impl<'a, Element: PartialEq + Clone + 'static, Window: PartialEq + Clone> PartialEq for AutoPlacement<'a, Element, Window>
impl<'a, Element: PartialEq + Clone + 'static, Window: PartialEq + Clone> PartialEq for AutoPlacement<'a, Element, Window>
source§fn eq(&self, other: &AutoPlacement<'a, Element, Window>) -> bool
fn eq(&self, other: &AutoPlacement<'a, Element, Window>) -> bool
Tests for
self
and other
values to be equal, and is used by ==
.impl<'a, Element: Clone + 'static, Window: Clone> StructuralPartialEq for AutoPlacement<'a, Element, Window>
Auto Trait Implementations§
impl<'a, Element, Window> Freeze for AutoPlacement<'a, Element, Window>where
Element: Freeze,
impl<'a, Element, Window> !RefUnwindSafe for AutoPlacement<'a, Element, Window>
impl<'a, Element, Window> !Send for AutoPlacement<'a, Element, Window>
impl<'a, Element, Window> !Sync for AutoPlacement<'a, Element, Window>
impl<'a, Element, Window> Unpin for AutoPlacement<'a, Element, Window>where
Element: Unpin,
impl<'a, Element, Window> !UnwindSafe for AutoPlacement<'a, Element, Window>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)