pub struct PopupBackendCapabilities { /* private fields */ }Expand description
Popup presentation capabilities reported by a host adapter.
The safe default is overlay-only. In particular, the winit 0.30 adapter does not advertise native popup support.
§Examples
use ailloli_ui_runtime::popup::{PopupBackend, PopupBackendCapabilities};
assert!(!PopupBackendCapabilities::default().supports(PopupBackend::Native));Implementations§
Source§impl PopupBackendCapabilities
Backend support tests and deterministic fallback resolution.
impl PopupBackendCapabilities
Backend support tests and deterministic fallback resolution.
Sourcepub const fn overlay_only() -> Self
pub const fn overlay_only() -> Self
Capabilities for headless hosts and the universal fallback path.
§Examples
use ailloli_ui_runtime::popup::{PopupBackend, PopupBackendCapabilities};
let capabilities = PopupBackendCapabilities::overlay_only();
assert!(capabilities.supports(PopupBackend::Overlay));
assert!(!capabilities.supports(PopupBackend::Native));Sourcepub const fn native_and_overlay() -> Self
pub const fn native_and_overlay() -> Self
Capabilities for a host that has independently validated native popup presentation while retaining overlay fallback support.
§Examples
use ailloli_ui_runtime::popup::{PopupBackend, PopupBackendCapabilities};
let capabilities = PopupBackendCapabilities::native_and_overlay();
assert!(capabilities.supports(PopupBackend::Native));Sourcepub const fn supports(self, backend: PopupBackend) -> bool
pub const fn supports(self, backend: PopupBackend) -> bool
Reports direct support for a backend before fallback.
Overlay is always supported; native support equals the advertised flag.
§Examples
use ailloli_ui_runtime::popup::{PopupBackend, PopupBackendCapabilities};
assert!(PopupBackendCapabilities::overlay_only().supports(PopupBackend::Overlay));Sourcepub const fn resolve(self, requested: PopupBackend) -> PopupBackendResolution
pub const fn resolve(self, requested: PopupBackend) -> PopupBackendResolution
Selects the request when supported, otherwise the overlay fallback.
§Examples
use ailloli_ui_runtime::popup::{PopupBackend, PopupBackendCapabilities};
let resolution = PopupBackendCapabilities::overlay_only().resolve(PopupBackend::Native);
assert_eq!(resolution.selected(), PopupBackend::Overlay);
assert!(resolution.fell_back());Trait Implementations§
Source§impl Clone for PopupBackendCapabilities
impl Clone for PopupBackendCapabilities
Source§fn clone(&self) -> PopupBackendCapabilities
fn clone(&self) -> PopupBackendCapabilities
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PopupBackendCapabilities
impl Debug for PopupBackendCapabilities
Source§impl Default for PopupBackendCapabilities
impl Default for PopupBackendCapabilities
Source§fn default() -> PopupBackendCapabilities
fn default() -> PopupBackendCapabilities
Returns the “default value” for a type. Read more
Source§impl PartialEq for PopupBackendCapabilities
impl PartialEq for PopupBackendCapabilities
impl Copy for PopupBackendCapabilities
impl Eq for PopupBackendCapabilities
impl StructuralPartialEq for PopupBackendCapabilities
Auto Trait Implementations§
impl Freeze for PopupBackendCapabilities
impl RefUnwindSafe for PopupBackendCapabilities
impl Send for PopupBackendCapabilities
impl Sync for PopupBackendCapabilities
impl Unpin for PopupBackendCapabilities
impl UnwindSafe for PopupBackendCapabilities
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<A> IntoClickAction<A> for Awhere
A: Clone + 'static,
impl<A> IntoClickAction<A> for Awhere
A: Clone + 'static,
Source§fn into_click_action(self) -> ClickAction<A>
fn into_click_action(self) -> ClickAction<A>
Implements the into_click_action helper used by this module.