zng_app::view_process

Struct ViewWindow

source
pub struct ViewWindow(/* private fields */);
Expand description

Handle to a window open in the view-process.

The window is closed when all clones of the handle are dropped.

Implementations§

source§

impl ViewWindow

source

pub fn generation(&self) -> ViewProcessGen

Returns the view-process generation on which the window was open.

source

pub fn set_title(&self, title: Txt) -> Result<(), ViewProcessOffline>

Set the window title.

source

pub fn set_visible(&self, visible: bool) -> Result<(), ViewProcessOffline>

Set the window visibility.

source

pub fn set_always_on_top( &self, always_on_top: bool, ) -> Result<(), ViewProcessOffline>

Set if the window is “top-most”.

source

pub fn set_movable(&self, movable: bool) -> Result<(), ViewProcessOffline>

Set if the user can drag-move the window.

source

pub fn set_resizable(&self, resizable: bool) -> Result<(), ViewProcessOffline>

Set if the user can resize the window.

source

pub fn set_icon( &self, icon: Option<&ViewImage>, ) -> Result<(), ViewProcessOffline>

Set the window icon.

source

pub fn set_cursor( &self, cursor: Option<CursorIcon>, ) -> Result<(), ViewProcessOffline>

Set the window cursor icon and visibility.

source

pub fn set_cursor_image( &self, cursor: Option<&ViewImage>, hotspot: PxPoint, ) -> Result<(), ViewProcessOffline>

Set the window cursor to a custom image.

Falls back to cursor icon if set to None.

The hotspot value is an exact point in the image that is the mouse position. This value is only used if the image format does not contain a hotspot.

source

pub fn set_taskbar_visible( &self, visible: bool, ) -> Result<(), ViewProcessOffline>

Set the window icon visibility in the taskbar.

source

pub fn bring_to_top(&self) -> Result<(), ViewProcessOffline>

Bring the window the z top.

source

pub fn set_state(&self, state: WindowStateAll) -> Result<(), ViewProcessOffline>

Set the window state.

source

pub fn set_video_mode(&self, mode: VideoMode) -> Result<(), ViewProcessOffline>

Set video mode used in exclusive fullscreen.

source

pub fn set_enabled_buttons( &self, buttons: WindowButton, ) -> Result<(), ViewProcessOffline>

Set enabled window chrome buttons.

source

pub fn renderer(&self) -> ViewRenderer

Reference the window renderer.

source

pub fn set_capture_mode(&self, enabled: bool) -> Result<(), ViewProcessOffline>

Sets if the headed window is in capture-mode. If true the resources used to capture a screenshot may be kept in memory to be reused in the next screenshot capture.

Note that capture must still be requested in each frame request.

source

pub fn focus(&self) -> Result<FocusResult, ViewProcessOffline>

Brings the window to the front and sets input focus.

This request can steal focus from other apps disrupting the user, be careful with it.

source

pub fn set_focus_indicator( &self, indicator: Option<FocusIndicator>, ) -> Result<(), ViewProcessOffline>

Sets the user attention request indicator, the indicator is cleared when the window is focused or if canceled by setting to None.

source

pub fn drag_move(&self) -> Result<(), ViewProcessOffline>

Moves the window with the left mouse button until the button is released.

There’s no guarantee that this will work unless the left mouse button was pressed immediately before this function is called.

source

pub fn drag_resize( &self, direction: ResizeDirection, ) -> Result<(), ViewProcessOffline>

Resizes the window with the left mouse button until the button is released.

There’s no guarantee that this will work unless the left mouse button was pressed immediately before this function is called.

source

pub fn start_drag_drop( &self, data: Vec<DragDropData>, allowed_effects: DragDropEffect, ) -> Result<Result<DragDropId, DragDropError>, ViewProcessOffline>

Start a drag and drop operation, if the window is pressed.

A RAW_APP_DRAG_ENDED_EVENT will be received when the operation finishes.

source

pub fn drag_dropped( &self, drop_id: DragDropId, applied: DragDropEffect, ) -> Result<(), ViewProcessOffline>

Notify the drag source of what effect was applied for a received drag&drop.

source

pub fn open_title_bar_context_menu( &self, position: DipPoint, ) -> Result<(), ViewProcessOffline>

Open system title bar context menu.

source

pub fn message_dialog( &self, dlg: MsgDialog, responder: ResponderVar<MsgDialogResponse>, ) -> Result<(), ViewProcessOffline>

Shows a native message dialog for the window.

The window is not interactive while the dialog is visible and the dialog may be modal in the view-process. In the app-process this is always async, and the response var will update once when the user responds.

source

pub fn file_dialog( &self, dlg: FileDialog, responder: ResponderVar<FileDialogResponse>, ) -> Result<(), ViewProcessOffline>

Shows a native file/folder dialog for the window.

The window is not interactive while the dialog is visible and the dialog may be modal in the view-process. In the app-process this is always async, and the response var will update once when the user responds.

source

pub fn access_update( &self, update: AccessTreeUpdate, ) -> Result<(), ViewProcessOffline>

Update the window’s accessibility info tree.

source

pub fn set_ime_area( &self, area: Option<DipRect>, ) -> Result<(), ViewProcessOffline>

Enable or disable IME by setting a cursor area.

In mobile platforms also shows the software keyboard for Some(_) and hides it for None.

source

pub fn set_system_shutdown_warn( &self, reason: Txt, ) -> Result<(), ViewProcessOffline>

Attempt to set a system wide shutdown warning associated with the window.

Operating systems that support this show the reason in a warning for the user, it must be a short text that identifies the critical operation that cannot be cancelled.

Note that there is no guarantee that the view-process or operating system will actually set a block, there is no error result because operating systems can silently ignore block requests at any moment, even after an initial successful block.

Set to an empty text to remove the warning.

source

pub fn close(self)

Drop self.

source

pub fn window_extension_raw( &self, extension_id: ApiExtensionId, request: ApiExtensionPayload, ) -> Result<ApiExtensionPayload, ViewProcessOffline>

Call a window extension with custom encoded payload.

source

pub fn window_extension<I, O>( &self, extension_id: ApiExtensionId, request: &I, ) -> Result<Result<O, ApiExtensionRecvError>, ViewProcessOffline>

Call a window extension with serialized payload.

Trait Implementations§

source§

impl Clone for ViewWindow

source§

fn clone(&self) -> ViewWindow

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ViewWindow

source§

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

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

impl From<ViewWindow> for ViewWindowOrHeadless

source§

fn from(w: ViewWindow) -> Self

Converts to this type from the input type.
source§

impl PartialEq for ViewWindow

source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for ViewWindow

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> AnyVarValue for T
where T: VarValue,

source§

fn as_any(&self) -> &(dyn Any + 'static)

Access to dyn Any methods.
source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Access to mut dyn Any methods.
source§

fn clone_boxed(&self) -> Box<dyn AnyVarValue>

Clone the value.
source§

fn clone_boxed_var(&self) -> Box<dyn AnyVar>

Clone the value into a new boxed LocalVar<Self>.
source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Access to Box<dyn Any> methods.
source§

fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool

Gets if self equals other.
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, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
source§

impl<T> IntoVar<T> for T
where T: VarValue,

source§

type Var = LocalVar<T>

Variable type that will wrap the T value. Read more
source§

fn into_var(self) -> <T as IntoVar<T>>::Var

Converts the source value into a var.
source§

fn into_boxed_var(self) -> Box<dyn VarBoxed<T>>
where Self: Sized,

Converts into BoxedVar<T>. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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 = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
source§

impl<T> IntoValue<T> for T
where T: VarValue,

source§

impl<T> StateValue for T
where T: Any + Send + Sync,

source§

impl<T> VarValue for T
where T: Debug + Clone + PartialEq + Any + Send + Sync,