pub struct WindowHandle { /* private fields */ }Expand description
A thread-safe reference to a generational Incular window. Methods only enqueue data for the UI/event-loop turn; they never touch native state.
Implementations§
Source§impl WindowHandle
impl WindowHandle
pub const fn id(&self) -> WindowId
pub fn capabilities(&self) -> PlatformCapabilities
Sourcepub fn file_dialogs(&self) -> FileDialogService
pub fn file_dialogs(&self) -> FileDialogService
Native file/folder dialog service associated with this window. The service retains only the Incular window identity; native parent handles remain inside the desktop adapter.
pub fn observed_state(&self) -> WindowObservedState
Sourcepub fn transient_presentations(&self) -> Vec<TransientPresentationResolution>
pub fn transient_presentations(&self) -> Vec<TransientPresentationResolution>
Resolved native-vs-overlay presentation for visible retained transients in this window. The native adapter updates this after host negotiation; an empty list means no visible semantic transient is currently present.
Sourcepub fn displays(&self) -> Vec<DisplaySnapshot>
pub fn displays(&self) -> Vec<DisplaySnapshot>
Immutable snapshots for displays currently published by the native backend. Removed displays disappear immediately; a later display using the same registry slot carries a different generation.
pub fn display(&self, id: DisplayId) -> Option<DisplaySnapshot>
pub fn primary_display(&self) -> Option<DisplaySnapshot>
pub fn current_display(&self) -> Option<DisplaySnapshot>
pub fn set_title( &self, title: impl Into<String>, ) -> Result<(), WindowCommandEnqueueError>
pub fn set_visible( &self, visible: bool, ) -> Result<(), WindowCommandEnqueueError>
pub fn request_logical_size( &self, size: Size, ) -> Result<(), WindowCommandEnqueueError>
pub fn set_outer_position( &self, position: PhysicalScreenPosition, ) -> Result<(), WindowCommandEnqueueError>
Sourcepub fn center_on_display(
&self,
display: &DisplaySnapshot,
area: DisplayPlacementArea,
) -> Result<PhysicalScreenPosition, WindowPlacementError>
pub fn center_on_display( &self, display: &DisplaySnapshot, area: DisplayPlacementArea, ) -> Result<PhysicalScreenPosition, WindowPlacementError>
Centers this window using already-observed native outer size and one immutable display snapshot. Work-area centering never falls back to full monitor bounds: callers must choose that policy explicitly.
Sourcepub fn move_relative_to_display(
&self,
display: &DisplaySnapshot,
position: PhysicalDisplayPosition,
) -> Result<PhysicalScreenPosition, WindowPlacementError>
pub fn move_relative_to_display( &self, display: &DisplaySnapshot, position: PhysicalDisplayPosition, ) -> Result<PhysicalScreenPosition, WindowPlacementError>
Moves the window to a physical point relative to one known display. This is intentionally unavailable when the display snapshot has no desktop-global origin (for example a Wayland top-level display).
Sourcepub fn begin_move_drag(
&self,
) -> Result<NativeOperationRequest, WindowCommandEnqueueError>
pub fn begin_move_drag( &self, ) -> Result<NativeOperationRequest, WindowCommandEnqueueError>
Begins a compositor/window-manager-owned interactive move. The native backend may require this call to follow a real primary-button press.
Sourcepub fn begin_resize_drag(
&self,
direction: WindowResizeDirection,
) -> Result<NativeOperationRequest, WindowCommandEnqueueError>
pub fn begin_resize_drag( &self, direction: WindowResizeDirection, ) -> Result<NativeOperationRequest, WindowCommandEnqueueError>
Begins a compositor/window-manager-owned interactive resize from one edge/corner. Incular never emulates this by changing global coordinates.
pub fn set_minimized( &self, minimized: bool, ) -> Result<(), WindowCommandEnqueueError>
pub fn set_maximized( &self, maximized: bool, ) -> Result<(), WindowCommandEnqueueError>
pub fn set_fullscreen( &self, fullscreen: Option<Fullscreen>, ) -> Result<(), WindowCommandEnqueueError>
pub fn set_resizable( &self, resizable: bool, ) -> Result<(), WindowCommandEnqueueError>
pub fn set_decorations( &self, decorations: bool, ) -> Result<(), WindowCommandEnqueueError>
pub fn set_logical_size_limits( &self, limits: LogicalSizeLimits, ) -> Result<(), WindowCommandEnqueueError>
pub fn set_window_level( &self, level: WindowLevel, ) -> Result<(), WindowCommandEnqueueError>
pub fn set_window_icon( &self, icon: Option<WindowIcon>, ) -> Result<(), WindowCommandEnqueueError>
pub fn request_user_attention( &self, attention: UserAttentionType, ) -> Result<(), WindowCommandEnqueueError>
pub fn cancel_user_attention(&self) -> Result<(), WindowCommandEnqueueError>
Sourcepub fn set_cursor_grab(
&self,
mode: CursorGrabMode,
) -> Result<NativeOperationRequest, WindowCommandEnqueueError>
pub fn set_cursor_grab( &self, mode: CursorGrabMode, ) -> Result<NativeOperationRequest, WindowCommandEnqueueError>
Requests native cursor confinement/locking. The returned request completes with a typed platform result; the runtime does not claim a grab succeeded merely because the command was enqueued.
Sourcepub fn set_cursor_visible(
&self,
visible: bool,
) -> Result<NativeOperationRequest, WindowCommandEnqueueError>
pub fn set_cursor_visible( &self, visible: bool, ) -> Result<NativeOperationRequest, WindowCommandEnqueueError>
Shows or hides the native cursor for this window.
Sourcepub fn set_cursor_position(
&self,
position: LogicalWindowPosition,
) -> Result<NativeOperationRequest, WindowCommandEnqueueError>
pub fn set_cursor_position( &self, position: LogicalWindowPosition, ) -> Result<NativeOperationRequest, WindowCommandEnqueueError>
Warps the native cursor to a validated logical client-area position.
Sourcepub fn set_content_sensitivity(
&self,
sensitivity: ContentSensitivity,
) -> Result<NativeOperationRequest, WindowCommandEnqueueError>
pub fn set_content_sensitivity( &self, sensitivity: ContentSensitivity, ) -> Result<NativeOperationRequest, WindowCommandEnqueueError>
Requests the window’s normalized content-capture policy. The command is applied by the native adapter on its event-loop thread. Unsupported adapters resolve the returned request with a typed platform error.
pub fn request_focus(&self) -> Result<(), WindowCommandEnqueueError>
pub fn request_redraw(&self) -> Result<(), WindowCommandEnqueueError>
pub fn close(&self) -> Result<(), WindowCommandEnqueueError>
Trait Implementations§
Source§impl Clone for WindowHandle
impl Clone for WindowHandle
Auto Trait Implementations§
impl Freeze for WindowHandle
impl RefUnwindSafe for WindowHandle
impl Send for WindowHandle
impl Sync for WindowHandle
impl Unpin for WindowHandle
impl UnsafeUnpin for WindowHandle
impl UnwindSafe for WindowHandle
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
replaced by palette::chromatic_adaptation::AdaptIntoUnclamped
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
replaced by palette::chromatic_adaptation::AdaptIntoUnclamped
Source§impl<T, C> AdaptIntoUnclamped<T> for Cwhere
T: AdaptFromUnclamped<C>,
impl<T, C> AdaptIntoUnclamped<T> for Cwhere
T: AdaptFromUnclamped<C>,
Source§type Scalar = <T as AdaptFromUnclamped<C>>::Scalar
type Scalar = <T as AdaptFromUnclamped<C>>::Scalar
Source§fn adapt_into_unclamped_with<M>(self) -> Twhere
M: LmsToXyz<<C as AdaptIntoUnclamped<T>>::Scalar> + XyzToLms<<C as AdaptIntoUnclamped<T>>::Scalar>,
fn adapt_into_unclamped_with<M>(self) -> Twhere
M: LmsToXyz<<C as AdaptIntoUnclamped<T>>::Scalar> + XyzToLms<<C as AdaptIntoUnclamped<T>>::Scalar>,
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
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
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<T, C> ComponentsInto<C> for T
impl<T, C> ComponentsInto<C> for T
Source§fn components_into(self) -> C
fn components_into(self) -> C
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.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, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
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> ⓘ
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> ⓘ
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 moreSource§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more