19 #ifndef MIR_CLIENT_MIR_SCREENCAST_H_
20 #define MIR_CLIENT_MIR_SCREENCAST_H_
26 #include "mir_protobuf.pb.h"
30 #include <EGL/eglplatform.h>
37 class ClientBufferFactory;
38 class EGLNativeWindowFactory;
49 mir::protobuf::DisplayServer& server,
50 std::shared_ptr<mir::client::EGLNativeWindowFactory>
const& egl_native_window_factory,
51 std::shared_ptr<mir::client::ClientBufferFactory>
const& factory,
72 void process_buffer(mir::protobuf::Buffer
const& buffer);
73 void screencast_created(
77 void next_buffer_received(
80 mir::protobuf::DisplayServer& server;
83 std::shared_ptr<mir::client::EGLNativeWindowFactory>
const egl_native_window_factory;
85 std::shared_ptr<EGLNativeWindowType> egl_native_window_;
87 mir::protobuf::Screencast protobuf_screencast;
88 mir::protobuf::Buffer protobuf_buffer;
89 mir::protobuf::Void protobuf_void;
Definition: mir_wait_handle.h:31
MirWaitHandle * release(mir_screencast_callback callback, void *context)
Definition: mir_screencast.cpp:140
void request_and_wait_for_next_buffer()
Definition: mir_screencast.cpp:178
bool valid()
Definition: mir_screencast.cpp:119
std::shared_ptr< mir::client::ClientBuffer > get_current_buffer()
Definition: mir_screencast.cpp:135
Definition: mir_screencast.h:42
Responsible for taking the buffer data sent from the server and wrapping it in a ClientBuffer.
Definition: client_buffer_depository.h:46
MirScreencast(mir::geometry::Rectangle const ®ion, mir::geometry::Size const &size, MirPixelFormat pixel_format, mir::protobuf::DisplayServer &server, std::shared_ptr< mir::client::EGLNativeWindowFactory > const &egl_native_window_factory, std::shared_ptr< mir::client::ClientBufferFactory > const &factory, mir_screencast_callback callback, void *context)
Definition: mir_screencast.cpp:71
void request_and_wait_for_configure(MirSurfaceAttrib a, int value)
Definition: mir_screencast.cpp:183
EGLNativeWindowType egl_native_window()
Definition: mir_screencast.cpp:173
Definition: mir_client_surface.h:31
MirWaitHandle * creation_wait_handle()
Definition: mir_screencast.cpp:114
Definition: rectangle.h:33
MirWaitHandle * next_buffer(mir_screencast_callback callback, void *context)
Definition: mir_screencast.cpp:156
Definition: display_server.h:31
MirSurfaceParameters get_parameters() const
Definition: mir_screencast.cpp:124
int const size
Definition: make_socket_rpc_channel.cpp:50
MirSurfaceParameters is the structure of minimum required information that you must provide to Mir in...
Definition: client_types.h:121