Loading...
Searching...
No Matches
wayland::server::shm_t Class Reference

shared memory support More...

`#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 424 of file wayland-server-protocol.hpp.

## Member Function Documentation

## format()

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.

## get_class()

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.

## get_client()

client_t wayland::server::resource_t::get_client | ( |  | ) | const

inherited

Get the associated client

Returns
  the client that owns the resource.

## get_id()

uint32_t wayland::server::resource_t::get_id | ( |  | ) | const

inherited

Get the internal ID of the resource

Returns
  the internal ID of the resource

## get_version()

unsigned int wayland::server::resource_t::get_version | ( |  | ) | const

inherited

Get interface version

Returns
  Interface version this resource has been constructed with.

## on_create_pool()

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.

## post_invalid_fd()

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.

## post_invalid_format()

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.

## post_invalid_stride()

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.

## post_no_memory()

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.

## proxy_has_object()

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

## format_since_version

constexpr std::uint32_t wayland::server::shm_t::format_since_version = 1

static constexpr

Minimum protocol version required for the format function.

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

The documentation for this class was generated from the following files:

- obj-x86_64-linux-gnu/wayland-server-protocol.hpp
- obj-x86_64-linux-gnu/wayland-server-protocol.cpp