egui::viewport

Enum ViewportCommand

Source
pub enum ViewportCommand {
Show 35 variants Close, CancelClose, Title(String), Transparent(bool), Visible(bool), StartDrag, OuterPosition(Pos2), InnerSize(Vec2), MinInnerSize(Vec2), MaxInnerSize(Vec2), ResizeIncrements(Option<Vec2>), BeginResize(ResizeDirection), Resizable(bool), EnableButtons { close: bool, minimized: bool, maximize: bool, }, Minimized(bool), Maximized(bool), Fullscreen(bool), Decorations(bool), WindowLevel(WindowLevel), Icon(Option<Arc<IconData>>), IMERect(Rect), IMEAllowed(bool), IMEPurpose(IMEPurpose), Focus, RequestUserAttention(UserAttentionType), SetTheme(SystemTheme), ContentProtected(bool), CursorPosition(Pos2), CursorGrab(CursorGrab), CursorVisible(bool), MousePassthrough(bool), Screenshot, RequestCut, RequestCopy, RequestPaste,
}
Expand description

An output viewport-command from egui to the backend, e.g. to change the window title or size.

You can send a ViewportCommand to the viewport with Context::send_viewport_cmd.

See crate::viewport for how to build new viewports (native windows).

All coordinates are in logical points.

This is essentially a way to diff ViewportBuilder.

Variants§

§

Close

Request this viewport to be closed.

For the root viewport, this usually results in the application shutting down. For other viewports, the crate::ViewportInfo::close_requested flag will be set.

§

CancelClose

Cancel the closing that was signaled by crate::ViewportInfo::close_requested.

§

Title(String)

Set the window title.

§

Transparent(bool)

Turn the window transparent or not.

§

Visible(bool)

Set the visibility of the window.

§

StartDrag

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.

§

OuterPosition(Pos2)

Set the outer position of the viewport, i.e. moves the window.

§

InnerSize(Vec2)

Should be bigger than 0

§

MinInnerSize(Vec2)

Should be bigger than 0

§

MaxInnerSize(Vec2)

Should be bigger than 0

§

ResizeIncrements(Option<Vec2>)

Should be bigger than 0

§

BeginResize(ResizeDirection)

Begin resizing the viewport 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.

§

Resizable(bool)

Can the window be resized?

§

EnableButtons

Set which window buttons are enabled

Fields

§close: bool
§minimized: bool
§maximize: bool
§

Minimized(bool)

§

Maximized(bool)

Maximize or unmaximize window.

§

Fullscreen(bool)

Turn borderless fullscreen on/off.

§

Decorations(bool)

Show window decorations, i.e. the chrome around the content with the title bar, close buttons, resize handles, etc.

§

WindowLevel(WindowLevel)

Set window to be always-on-top, always-on-bottom, or neither.

§

Icon(Option<Arc<IconData>>)

The window icon.

§

IMERect(Rect)

Set the IME cursor editing area.

§

IMEAllowed(bool)

§

IMEPurpose(IMEPurpose)

§

Focus

Bring the window into focus (native only).

This command puts the window on top of other applications and takes input focus away from them, which, if unexpected, will disturb the user.

Has no effect on Wayland, or if the window is minimized or invisible.

§

RequestUserAttention(UserAttentionType)

If the window is unfocused, attract the user’s attention (native only).

Typically, this means that the window will flash on the taskbar, or bounce, until it is interacted with.

When the window comes into focus, or if None is passed, the attention request will be automatically reset.

See winit’s documentation for platform-specific effect details.

§

SetTheme(SystemTheme)

§

ContentProtected(bool)

§

CursorPosition(Pos2)

Will probably not work as expected!

§

CursorGrab(CursorGrab)

§

CursorVisible(bool)

§

MousePassthrough(bool)

Enable mouse pass-through: mouse clicks pass through the window, used for non-interactable overlays.

§

Screenshot

Take a screenshot.

The results are returned in crate::Event::Screenshot.

§

RequestCut

Request cut of the current selection

This is equivalent to the system keyboard shortcut for cut (e.g. CTRL + X).

§

RequestCopy

Request a copy of the current selection.

This is equivalent to the system keyboard shortcut for copy (e.g. CTRL + C).

§

RequestPaste

Request a paste from the clipboard to the current focused TextEdit if any.

This is equivalent to the system keyboard shortcut for paste (e.g. CTRL + V).

Implementations§

Source§

impl ViewportCommand

Source

pub fn center_on_screen(ctx: &Context) -> Option<Self>

Construct a command to center the viewport on the monitor, if possible.

Source

pub fn requires_parent_repaint(&self) -> bool

This command requires the parent viewport to repaint.

Trait Implementations§

Source§

impl Clone for ViewportCommand

Source§

fn clone(&self) -> ViewportCommand

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 ViewportCommand

Source§

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

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

impl<'de> Deserialize<'de> for ViewportCommand

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for ViewportCommand

Source§

fn eq(&self, other: &ViewportCommand) -> 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 Serialize for ViewportCommand

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for ViewportCommand

Source§

impl StructuralPartialEq for ViewportCommand

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> 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 u8)

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> SerializableAny for T
where T: 'static + Any + Clone + for<'a> Send + Sync,