20 #ifndef MIR_COMPOSITOR_BUFFER_BUNDLE_H_ 21 #define MIR_COMPOSITOR_BUFFER_BUNDLE_H_ 28 namespace graphics {
class Buffer;
struct BufferProperties; }
53 virtual std::shared_ptr<graphics::Buffer>
54 compositor_acquire(
void const* user_id) = 0;
55 virtual void compositor_release(std::shared_ptr<graphics::Buffer>
const&) = 0;
56 virtual std::shared_ptr<graphics::Buffer> snapshot_acquire() = 0;
57 virtual void snapshot_release(std::shared_ptr<graphics::Buffer>
const&) = 0;
71 virtual void client_acquire(std::function<
void(
graphics::Buffer* buffer)> complete) = 0;
75 virtual void allow_framedropping(
bool dropping_allowed) = 0;
77 virtual void force_requests_to_complete() = 0;
79 virtual int buffers_ready_for_compositor(
void const* user_id)
const = 0;
87 virtual int buffers_free_for_client()
const = 0;
88 virtual void drop_old_buffers() = 0;
89 virtual void drop_client_requests() = 0;
All things Mir.
Definition: atomic_callback.h:25
Definition: buffer_bundle.h:67
MultiMonitorMode
Definition: buffer_bundle.h:33
virtual ~BufferBundle() noexcept
Definition: buffer_bundle.h:70
Definition: buffer_bundle.h:39
Buffer creation properties.
Definition: buffer_properties.h:48