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>
48 compositor_acquire(
void const* user_id) = 0;
49 virtual void compositor_release(std::shared_ptr<graphics::Buffer>
const&) = 0;
50 virtual std::shared_ptr<graphics::Buffer> snapshot_acquire() = 0;
51 virtual void snapshot_release(std::shared_ptr<graphics::Buffer>
const&) = 0;
64 virtual void client_acquire(std::function<
void(
graphics::Buffer* buffer)> complete) = 0;
68 virtual void allow_framedropping(
bool dropping_allowed) = 0;
69 virtual void force_requests_to_complete() = 0;
71 virtual int buffers_ready_for_compositor(
void const* user_id)
const = 0;
79 virtual int buffers_free_for_client()
const = 0;
80 virtual void drop_old_buffers() = 0;
81 virtual void drop_client_requests() = 0;
All things Mir.
Definition: atomic_callback.h:25
Definition: buffer_bundle.h:60
virtual ~BufferBundle() noexcept
Definition: buffer_bundle.h:63
Definition: buffer_bundle.h:33
Buffer creation properties.
Definition: buffer_properties.h:48