20 #ifndef MIR_COMPOSITOR_BUFFER_BUNDLE_H_
21 #define MIR_COMPOSITOR_BUFFER_BUNDLE_H_
28 namespace graphics {
class Buffer;
struct BufferProperties; }
47 virtual std::shared_ptr<graphics::Buffer>
All things Mir.
Definition: atomic_callback.h:25
virtual void client_acquire(std::function< void(graphics::Buffer *buffer)> complete)=0
Definition: buffer_bundle.h:60
virtual void resize(const geometry::Size &newsize)=0
virtual int buffers_free_for_client() const =0
Return the number of client acquisitions that can be completed synchronously without blocking...
virtual void force_requests_to_complete()=0
virtual void allow_framedropping(bool dropping_allowed)=0
virtual void drop_client_requests()=0
virtual void client_release(graphics::Buffer *)=0
virtual void snapshot_release(std::shared_ptr< graphics::Buffer > const &)=0
BufferAcquisition & operator=(BufferAcquisition const &)=delete
virtual int buffers_ready_for_compositor(void const *user_id) const =0
BufferBundle & operator=(BufferBundle const &)=delete
virtual graphics::BufferProperties properties() const =0
virtual ~BufferBundle() noexcept
Definition: buffer_bundle.h:63
virtual void drop_old_buffers()=0
virtual std::shared_ptr< graphics::Buffer > compositor_acquire(void const *user_id)=0
Acquire the next buffer that's ready to display/composite.
virtual void compositor_release(std::shared_ptr< graphics::Buffer > const &)=0
BufferAcquisition()=default
Definition: buffer_bundle.h:33
Buffer creation properties.
Definition: buffer_properties.h:48
virtual std::shared_ptr< graphics::Buffer > snapshot_acquire()=0
virtual ~BufferAcquisition()=default