Struct LayerSurface

Source
pub struct LayerSurface { /* private fields */ }
Available on crate feature wayland_frontend only.
Expand description

A handle to a layer surface

Implementations§

Source§

impl LayerSurface

Source

pub fn alive(&self) -> bool

Checks if the surface is still alive

Source

pub fn send_pending_configure(&self) -> Option<Serial>

Send a pending configure event to this layer surface to suggest it a new configuration

If changes have occurred a configure event will be send to the clients and the serial will be returned (for tracking the configure in WlrLayerShellHandler::ack_configure if desired). If no changes occurred no event will be send and None will be returned.

See send_configure and has_pending_changes for more information.

Source

pub fn send_configure(&self) -> Serial

Send a configure event to this layer surface to suggest it a new configuration

The serial of this configure will be tracked waiting for the client to ACK it.

You can manipulate the state that will be sent to the client with the with_pending_state method.

Note: This will always send a configure event, if you intend to only send a configure event on changes take a look at send_pending_configure

Source

pub fn ensure_configured(&self) -> bool

Make sure this surface was configured

Returns true if it was, if not, returns false and raise a protocol error to the associated layer surface. Also returns false if the surface is already destroyed.

Source

pub fn send_close(&self)

Send a “close” event to the client

Source

pub fn wl_surface(&self) -> &WlSurface

Access the underlying wl_surface of this layer surface

Returns None if the layer surface actually no longer exists.

Source

pub fn with_pending_state<F, T>(&self, f: F) -> T
where F: FnOnce(&mut LayerSurfaceState) -> T,

Allows the pending state of this layer to be manipulated.

This should be used to inform the client about size and state changes, for example after a resize request from the client.

The state will be sent to the client when calling send_configure.

Source

pub fn has_pending_changes(&self) -> bool

Tests this LayerSurface for pending changes

Returns true if with_pending_state was used to manipulate the state and resulted in a different state or if the initial configure is still pending.

Source

pub fn current_state(&self) -> LayerSurfaceState

Gets a copy of the current state of this layer

Returns None if the underlying surface has been destroyed

Source

pub fn shell_surface(&self) -> &ZwlrLayerSurfaceV1

Access the underlying zwlr_layer_surface_v1 of this layer surface

Trait Implementations§

Source§

impl Clone for LayerSurface

Source§

fn clone(&self) -> LayerSurface

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for LayerSurface

Source§

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

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

impl PartialEq for LayerSurface

Source§

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

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

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

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

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, dest: *mut u8)

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

impl<T> Downcast for T
where T: Any,

Source§

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

Convert 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>

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

Convert &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)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

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

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

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> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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