18 #ifndef MIR_CLIENT_MIR_SURFACE_H_
19 #define MIR_CLIENT_MIR_SURFACE_H_
21 #include "mir_protobuf.pb.h"
44 class InputReceiverThread;
63 mir::protobuf::DisplayServer::Stub & server,
64 std::shared_ptr<mir::client::ClientBufferFactory>
const& buffer_factory,
65 std::shared_ptr<mir::input::receiver::InputPlatform>
const& input_platform,
97 mutable std::recursive_mutex mutex;
100 void process_incoming_buffer();
108 mir::protobuf::DisplayServer::Stub & server;
109 mir::protobuf::Surface surface;
110 std::string error_message;
117 std::shared_ptr<mir::client::MemoryRegion> secured_region;
118 std::shared_ptr<mir::client::ClientBufferDepository> buffer_depository;
119 std::shared_ptr<mir::input::receiver::InputPlatform>
const input_platform;
121 std::shared_ptr<EGLNativeWindowType> accelerated_window;
123 mir::protobuf::SurfaceSetting configure_result;
128 std::function<void(MirEvent const*)> handle_event_callback;
129 std::shared_ptr<mir::input::receiver::InputReceiverThread> input_thread;