#[non_exhaustive]#[repr(u32)]pub enum State {
Maximized = 1,
Fullscreen = 2,
Resizing = 3,
Activated = 4,
TiledLeft = 5,
TiledRight = 6,
TiledTop = 7,
TiledBottom = 8,
Suspended = 9,
}
server
only.Expand description
types of state on the surface
The different state values used on the surface. This is designed for state values like maximized, fullscreen. It is paired with the configure event to ensure that both the client and the compositor setting the state can be synchronized.
States set in this way are double-buffered, see wl_surface.commit.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Maximized = 1
the surface is maximized
The surface is maximized. The window geometry specified in the configure event must be obeyed by the client, or the xdg_wm_base.invalid_surface_state error is raised.
The client should draw without shadow or other decoration outside of the window geometry.
Fullscreen = 2
the surface is fullscreen
The surface is fullscreen. The window geometry specified in the configure event is a maximum; the client cannot resize beyond it. For a surface to cover the whole fullscreened area, the geometry dimensions must be obeyed by the client. For more details, see xdg_toplevel.set_fullscreen.
Resizing = 3
the surface is being resized
The surface is being resized. The window geometry specified in the configure event is a maximum; the client cannot resize beyond it. Clients that have aspect ratio or cell sizing configuration can use a smaller size, however.
Activated = 4
the surface is now activated
Client window decorations should be painted as if the window is active. Do not assume this means that the window actually has keyboard or pointer focus.
TiledLeft = 5
the surface’s left edge is tiled
The window is currently in a tiled layout and the left edge is considered to be adjacent to another part of the tiling grid.
The client should draw without shadow or other decoration outside of the window geometry on the left edge.
TiledRight = 6
the surface’s right edge is tiled
The window is currently in a tiled layout and the right edge is considered to be adjacent to another part of the tiling grid.
The client should draw without shadow or other decoration outside of the window geometry on the right edge.
TiledTop = 7
the surface’s top edge is tiled
The window is currently in a tiled layout and the top edge is considered to be adjacent to another part of the tiling grid.
The client should draw without shadow or other decoration outside of the window geometry on the top edge.
TiledBottom = 8
the surface’s bottom edge is tiled
The window is currently in a tiled layout and the bottom edge is considered to be adjacent to another part of the tiling grid.
The client should draw without shadow or other decoration outside of the window geometry on the bottom edge.
Suspended = 9
surface repaint is suspended
The surface is currently not ordinarily being repainted; for example because its content is occluded by another window, or its outputs are switched off due to screen locking.
Trait Implementations§
source§impl Ord for State
impl Ord for State
source§impl PartialOrd for State
impl PartialOrd for State
impl Copy for State
impl Eq for State
impl StructuralPartialEq for State
Auto Trait Implementations§
impl Freeze for State
impl RefUnwindSafe for State
impl Send for State
impl Sync for State
impl Unpin for State
impl UnwindSafe for State
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§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
.source§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
.source§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.source§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.