wayland_server_shm_t - Man Page

shared memory support

Synopsis

#include <wayland-server-protocol.hpp>

Inherits wayland::server::resource_t.

Public Member Functions

std::function< void(shm_pool_t, int, int32_t)> & on_create_pool ()
create a shm pool
void format (shm_format const &format, bool post=true)
pixel format description
void post_invalid_format (std::string const &msg)
Post error: buffer format is not known.
void post_invalid_stride (std::string const &msg)
Post error: invalid size or stride during pool or buffer creation.
void post_invalid_fd (std::string const &msg)
Post error: mmapping the file descriptor failed.
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 format_since_version = 1
Minimum protocol version required for the format function.

Detailed Description

shared memory support

A singleton global object that provides support for shared memory.

Clients can create wl_shm_pool objects using the create_pool request.

On binding the wl_shm object one or more format events are emitted to inform clients about the valid pixel formats that can be used for buffers.

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

Member Function Documentation

void shm_t::format (shm_format const & format, bool post = true)

pixel format description

Parameters

format buffer pixel format

Informs the client about a valid pixel format that can be used for buffers. Known formats include argb8888 and xrgb8888.

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

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(shm_pool_t, int, int32_t)> & shm_t::on_create_pool ()

create a shm pool

Parameters

id pool to create
fd file descriptor for the pool
size pool size, in bytes

Create a new wl_shm_pool object.

The pool can be used to create shared memory based buffer objects. The server will mmap size bytes of the passed file descriptor, to use as backing memory for the pool.

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

void shm_t::post_invalid_fd (std::string const & msg)

Post error: mmapping the file descriptor failed.

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

void shm_t::post_invalid_format (std::string const & msg)

Post error: buffer format is not known.

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

void shm_t::post_invalid_stride (std::string const & msg)

Post error: invalid size or stride during pool or buffer creation.

Definition at line 1763 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

Member Data Documentation

std::uint32_t wayland::server::shm_t::format_since_version = 1 [static], [constexpr]

Minimum protocol version required for the format function.

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

Author

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

Info

Sat Jul 20 2024 00:00:00 Version 1.0.0 Wayland++