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§
§impl ViewportCommand
impl ViewportCommand
pub fn center_on_screen(ctx: &Context) -> Option<ViewportCommand>
pub fn center_on_screen(ctx: &Context) -> Option<ViewportCommand>
Construct a command to center the viewport on the monitor, if possible.
pub fn requires_parent_repaint(&self) -> bool
pub fn requires_parent_repaint(&self) -> bool
This command requires the parent viewport to repaint.
Trait Implementations§
§impl Clone for ViewportCommand
impl Clone for ViewportCommand
§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§impl Debug for ViewportCommand
impl Debug for ViewportCommand
§impl<'de> Deserialize<'de> for ViewportCommand
impl<'de> Deserialize<'de> for ViewportCommand
§fn deserialize<__D>(
__deserializer: __D
) -> Result<ViewportCommand, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<ViewportCommand, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl PartialEq for ViewportCommand
impl PartialEq for ViewportCommand
§fn eq(&self, other: &ViewportCommand) -> bool
fn eq(&self, other: &ViewportCommand) -> bool
self
and other
values to be equal, and is used
by ==
.§impl Serialize for ViewportCommand
impl Serialize for ViewportCommand
§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for ViewportCommand
impl StructuralPartialEq for ViewportCommand
Auto Trait Implementations§
impl Freeze for ViewportCommand
impl RefUnwindSafe for ViewportCommand
impl Send for ViewportCommand
impl Sync for ViewportCommand
impl Unpin for ViewportCommand
impl UnwindSafe for ViewportCommand
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
source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§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
§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
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request