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
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
impl ViewportCommand
Sourcepub fn center_on_screen(ctx: &Context) -> Option<Self>
pub fn center_on_screen(ctx: &Context) -> Option<Self>
Construct a command to center the viewport on the monitor, if possible.
Sourcepub fn requires_parent_repaint(&self) -> bool
pub fn requires_parent_repaint(&self) -> bool
This command requires the parent viewport to repaint.
Trait Implementations§
Source§impl Clone for ViewportCommand
impl Clone for ViewportCommand
Source§fn clone(&self) -> ViewportCommand
fn clone(&self) -> ViewportCommand
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more