19 #ifndef MIR_CLIENT_CLIENT_BUFFER_STREAM_H_ 20 #define MIR_CLIENT_CLIENT_BUFFER_STREAM_H_ 32 #include <EGL/eglplatform.h> 49 #include <type_traits> 52 std::is_pod<EGLNativeWindowType>::value,
53 "The ClientBufferStream requires that EGLNativeWindowType be no-op convertible to void*");
55 #undef EGLNativeWindowType 56 #define EGLNativeWindowType void* 75 virtual std::shared_ptr<ClientBuffer> get_current_buffer() = 0;
76 virtual uint32_t get_current_buffer_id() = 0;
78 virtual MirWaitHandle* next_buffer(std::function<
void()>
const& done) = 0;
80 virtual std::shared_ptr<MemoryRegion> secure_for_cpu_write() = 0;
82 virtual int swap_interval()
const = 0;
90 virtual bool valid()
const = 0;
93 virtual char const* get_error_message()
const = 0;
All things Mir.
Definition: atomic_callback.h:25
Definition: mir_wait_handle.h:31
Definition: buffer_receiver.h:31
Definition: mir_native_buffer.h:30
Definition: client_buffer_stream.h:69
Definition: mir_connection.h:96
#define EGLNativeWindowType
Definition: client_buffer_stream.h:56
MirSurfaceParameters is the structure of minimum required information that you must provide to Mir in...
Definition: client_types.h:166