Struct smithay_client_toolkit::utils::MemPool[][src]

pub struct MemPool { /* fields omitted */ }

A wrapper handling an SHM memory pool backed by a temporary file

On Linux, temporary files like this are never mapped on the disk, and as such stay in RAM, allowing for an efficient memory sharing.

This wrapper handles for you the creation of the tempfile and its synchronisation with the protocol.

Methods

impl MemPool
[src]

Create a new memory pool associated with given shm

Resize the memory pool

This affect the size as it is seen by the wayland server. Even if you extend the temporary file size by writing to it, you need to call this method otherwise the server won't see the new size.

Memory pools can only be extented, as such this method wll do nothing if the requested new size is smaller than the current size.

This method allows you to ensure the underlying pool is large enough to hold what you want to write to it.

Create a new buffer to this pool

The parameters are:

  • offset: the offset (in bytes) from the beggining of the pool at which this buffer starts
  • width: the width of this buffer (in pixels)
  • height: the height of this buffer (in pixels)
  • stride: distance (in bytes) between the beggining of a row and the next one
  • format: the encoding format of the pixels. Using a format that was not advertized to the wl_shm global by the server is a protocol error and will terminate your connexion

Trait Implementations

impl Drop for MemPool
[src]

Executes the destructor for this type. Read more

impl Write for MemPool
[src]

Write a buffer into this object, returning how many bytes were written. Read more

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more

Attempts to write an entire buffer into this write. Read more

Writes a formatted string into this writer, returning any error encountered. Read more

Important traits for &'a mut R

Creates a "by reference" adaptor for this instance of Write. Read more

impl Seek for MemPool
[src]

Seek to an offset, in bytes, in a stream. Read more

Auto Trait Implementations

impl Send for MemPool

impl Sync for MemPool