pub struct DisplayAwareSelector;Expand description
Selects the best ResolutionVariant for a given display window size.
The algorithm picks the smallest variant whose resolution is at least as
large as the display window in both dimensions, falling back to full if
no variant meets the threshold.
Implementations§
Source§impl DisplayAwareSelector
impl DisplayAwareSelector
Sourcepub fn select<'a>(
proxy: &'a MultiResolutionProxy,
display: (u32, u32),
) -> &'a ResolutionVariant
pub fn select<'a>( proxy: &'a MultiResolutionProxy, display: (u32, u32), ) -> &'a ResolutionVariant
Choose the appropriate variant for a display of (display_w, display_h) pixels.
Selection rules (applied in order, first match wins):
- If display area ≤ quarter area → use
quarter - If display area ≤ half area → use
half - Otherwise → use
full
Sourcepub fn select_label(proxy: &MultiResolutionProxy, display: (u32, u32)) -> &str
pub fn select_label(proxy: &MultiResolutionProxy, display: (u32, u32)) -> &str
Select and return the label string for the chosen variant.
Auto Trait Implementations§
impl Freeze for DisplayAwareSelector
impl RefUnwindSafe for DisplayAwareSelector
impl Send for DisplayAwareSelector
impl Sync for DisplayAwareSelector
impl Unpin for DisplayAwareSelector
impl UnsafeUnpin for DisplayAwareSelector
impl UnwindSafe for DisplayAwareSelector
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more