oracular (3) wayland_server_buffer_t.3.gz

Provided by: waylandpp-dev_1.0.0-6_amd64 bug

NAME

       wayland::server::buffer_t - content for a wl_surface

SYNOPSIS

       #include <wayland-server-protocol.hpp>

       Inherits wayland::server::resource_t.

   Public Member Functions
       std::function< void()> & on_destroy ()
           destroy a buffer
       void release (bool post=true)
           compositor releases buffer
       bool proxy_has_object () const
           Check whether this wrapper actually wraps an object.
       void post_no_memory () const
       uint32_t get_id () const
       client_t get_client () const
       unsigned int get_version () const
       std::string get_class ()

   Static Public Attributes
       static constexpr std::uint32_t release_since_version = 1
           Minimum protocol version required for the release function.

Detailed Description

       content for a wl_surface

       A buffer provides the content for a wl_surface. Buffers are created through factory interfaces such as
       wl_shm, wp_linux_buffer_params (from the linux-dmabuf protocol extension) or similar. It has a width and
       a height and can be attached to a wl_surface, but the mechanism by which a client provides and updates
       the contents is defined by the buffer factory interface.

       If the buffer uses a format that has an alpha channel, the alpha channel is assumed to be premultiplied
       in the color channels unless otherwise specified.

       Definition at line 748 of file wayland-server-protocol.hpp.

Member Function Documentation

   std::string wayland::server::resource_t::get_class () [inherited]
       Retrieve the interface name (class) of a resource object.

       Returns
           Interface name of the resource object.

   client_t wayland::server::resource_t::get_client () const [inherited]
       Get the associated client

       Returns
           the client that owns the resource.

   uint32_t wayland::server::resource_t::get_id () const [inherited]
       Get the internal ID of the resource

       Returns
           the internal ID of the resource

   unsigned int wayland::server::resource_t::get_version () const [inherited]
       Get interface version

       Returns
           Interface version this resource has been constructed with.

   std::function< void()> & buffer_t::on_destroy ()
       destroy a buffer Destroy a buffer. If and how you need to release the backing storage is defined by the
       buffer factory interface.

       For possible side-effects to a surface, see wl_surface.attach.

       Definition at line 1806 of file wayland-server-protocol.cpp.

   void wayland::server::resource_t::post_no_memory () const [inherited]
       Post 'not enough memory' error to the client

       If the compositor has not enough memory to fulfill a certail request of the client, this function can be
       called to notify the client of this circumstance.

   bool wayland::server::resource_t::proxy_has_object () const [inherited]
       Check whether this wrapper actually wraps an object.

       Returns
           true if there is an underlying object, false if this wrapper is empty

   void buffer_t::release (bool post = true)
       compositor releases buffer Sent when this wl_buffer is no longer used by the compositor. The client is
       now free to reuse or destroy this buffer and its backing storage.

       If a client receives a release event before the frame callback requested in the same wl_surface.commit
       that attaches this wl_buffer to a surface, then the client is immediately free to reuse the buffer and
       its backing storage, and does not need a second buffer for the next surface content update. Typically
       this is possible, when the compositor maintains a copy of the wl_surface contents, e.g. as a GL texture.
       This is an important optimization for GL(ES) compositors with wl_shm clients.

       Definition at line 1812 of file wayland-server-protocol.cpp.

Member Data Documentation

   constexpr std::uint32_t wayland::server::buffer_t::release_since_version = 1 [static],  [constexpr]
       Minimum protocol version required for the release function.

       Definition at line 804 of file wayland-server-protocol.hpp.

Author

       Generated automatically by Doxygen for Wayland++ from the source code.