Struct wayland_client::wayland::subcompositor::WlSubcompositor [] [src]

pub struct WlSubcompositor {
    // some fields omitted
}

sub-surface compositing

The global interface exposing sub-surface compositing capabilities. A wl_surface, that has sub-surfaces associated, is called the parent surface. Sub-surfaces can be arbitrarily nested and create a tree of sub-surfaces.

The root surface in a tree of sub-surfaces is the main surface. The main surface cannot be a sub-surface, because sub-surfaces must always have a parent.

A main surface with its sub-surfaces forms a (compound) window. For window management purposes, this set of wl_surface objects is to be considered as a single window, and it should also behave as such.

The aim of sub-surfaces is to offload some of the compositing work within a window from clients to the compositor. A prime example is a video player with decorations and video in separate wl_surface objects. This should allow the compositor to pass YUV video buffer processing to dedicated overlay hardware when possible.

Methods

impl WlSubcompositor
[src]

fn destroy(self)

unbind from the subcompositor interface

Informs the server that the client will not be using this protocol object anymore. This does not affect any other objects, wl_subsurface objects included.

fn get_subsurface(&self, surface: &WlSurface, parent: &WlSurface) -> WlSubsurface

give a surface the role sub-surface

Create a sub-surface interface for the given surface, and associate it with the given parent surface. This turns a plain wl_surface into a sub-surface.

The to-be sub-surface must not already have another role, and it must not have an existing wl_subsurface object. Otherwise a protocol error is raised.

Trait Implementations

impl Sync for WlSubcompositor
[src]

impl Send for WlSubcompositor
[src]

impl Proxy for WlSubcompositor
[src]

fn ptr(&self) -> *mut wl_proxy

fn interface() -> *mut wl_interface

fn interface_name() -> &'static str

The internal name of this interface, as advertized by the registry if it is a global.

fn version() -> u32

The maximum version of this interface handled by the library.

fn id(&self) -> ProxyId

Get the id of this proxy

unsafe fn from_ptr(ptr: *mut wl_proxy) -> WlSubcompositor

Creates a proxy from a fresh ptr

unsafe fn from_ptr_no_own(ptr: *mut wl_proxy) -> WlSubcompositor

Creates a proxy from a ptr that is managed elsewhere Read more

fn set_evt_iterator(&mut self, evt: &EventIterator)

Set the event iterator associated to this proxy

impl Debug for WlSubcompositor
[src]

fn fmt(&self, fmt: &mut Formatter) -> Result<()Error>

Formats the value using the given formatter.

impl Drop for WlSubcompositor
[src]

fn drop(&mut self)

A method called when the value goes out of scope. Read more