18 #ifndef MIR_CLIENT_MIR_SURFACE_H_ 19 #define MIR_CLIENT_MIR_SURFACE_H_ 39 #include <unordered_set> 45 class ThreadedDispatcher;
57 class PersistentSurfaceId;
59 class SurfaceParameters;
68 class DisplayServerDebug;
72 class ClientBufferStream;
73 class ClientBufferStreamFactory;
157 std::shared_ptr<MirWaitHandle>
const& handle);
163 std::shared_ptr<mir::client::ClientBufferStream>
const& buffer_stream,
164 std::shared_ptr<mir::input::receiver::InputPlatform>
const& input_platform,
165 MirSurfaceSpec const& spec, mir::protobuf::Surface
const& surface_proto,
166 std::shared_ptr<MirWaitHandle>
const& handle);
171 char const * get_error_message();
178 bool translate_to_screen_coordinates(
int x,
int y,
179 int* screen_x,
int* screen_y);
187 void raise_surface(
MirCookie const* cookie);
193 void handle_event(
MirEvent const& e);
206 std::mutex
mutable mutex;
208 void on_configured();
209 void on_cursor_configured();
211 MirPixelFormat convert_ipc_pf_to_geometry(google::protobuf::int32 pf)
const;
215 std::unique_ptr<mir::protobuf::Surface>
const surface;
216 std::unique_ptr<mir::protobuf::PersistentSurfaceId>
const persistent_id;
219 std::unique_ptr<mir::protobuf::Void>
const void_response;
223 std::unique_ptr<mir::protobuf::Void>
const modify_result;
232 std::shared_ptr<mir::client::ClientBufferStream> default_stream;
233 std::shared_ptr<mir::input::receiver::InputPlatform>
const input_platform;
234 std::shared_ptr<mir::input::receiver::XKBMapper>
const keymapper;
236 std::unique_ptr<mir::protobuf::SurfaceSetting>
const configure_result;
242 std::function<void(MirEvent const*)> handle_event_callback;
243 std::shared_ptr<mir::dispatch::ThreadedDispatcher> input_thread;
247 std::shared_ptr<MirWaitHandle>
const creation_handle;
All things Mir.
Definition: atomic_callback.h:25
mir::geometry::Displacement displacement
Definition: mir_surface.h:81
mir::optional_value< AspectRatio > min_aspect
Definition: mir_surface.h:121
Definition: mir_surface.h:79
Definition: mir_surface.h:86
mir_surface_event_callback callback
Definition: mir_surface.h:129
Definition: mir_surface.h:147
void * context
Definition: mir_surface.h:130
Definition: mir_surface.h:92
Definition: mir_wait_handle.h:31
mir::optional_value< int > max_height
Definition: mir_surface.h:118
mir::optional_value< MirBufferUsage > buffer_usage
Definition: mir_surface.h:101
std::shared_ptr< MirPersistentId > parent_id
Definition: mir_surface.h:111
mir::optional_value< int > width
Definition: mir_surface.h:98
mir::optional_value< EventHandler > event_handler
Definition: mir_surface.h:132
mir::optional_value< mir::geometry::Size > size
Definition: mir_surface.h:83
Definition: mir_cookie.h:25
mir::optional_value< uint32_t > output_id
Definition: mir_surface.h:104
mir::optional_value< bool > confine_pointer
Definition: mir_surface.h:125
mir::optional_value< MirSurfaceType > type
Definition: mir_surface.h:106
mir::optional_value< MirEdgeAttachment > edge_attachment
Definition: mir_surface.h:113
mir::optional_value< int > width_inc
Definition: mir_surface.h:119
Definition: mir_surface.h:136
Definition: mir_display_server_debug.h:32
unsigned width
Definition: mir_surface.h:92
mir::optional_value< int > height_inc
Definition: mir_surface.h:120
mir::optional_value< int > min_width
Definition: mir_surface.h:115
mir::optional_value< MirRectangle > aux_rect
Definition: mir_surface.h:112
unsigned int width
Definition: touchspot_image.c:4
Definition: displacement.h:32
Definition: cursor_configuration.h:34
mir::optional_value< AspectRatio > max_aspect
Definition: mir_surface.h:122
mir::optional_value< std::vector< MirRectangle > > input_shape
Definition: mir_surface.h:124
mir::optional_value< MirOrientationMode > pref_orientation
Definition: mir_surface.h:108
mir::optional_value< std::string > surface_name
Definition: mir_surface.h:103
mir::optional_value< MirPixelFormat > pixel_format
Definition: mir_surface.h:100
Definition: client_buffer_stream.h:68
Definition: mir_surface.h:127
void configure_cursor(MirSurface *surface, unsigned int cursor_index)
Definition: cursors_demo_client.c:29
mir::optional_value< int > height
Definition: mir_surface.h:99
unsigned int height
Definition: touchspot_image.c:5
Definition: mir_connection.h:96
mir::optional_value< std::vector< ContentInfo > > streams
Definition: mir_surface.h:123
Definition: dispatchable.h:33
int stream_id
Definition: mir_surface.h:82
mir::optional_value< MirShellChrome > shell_chrome
Definition: mir_surface.h:133
int const size
Definition: make_socket_rpc_channel.cpp:51
mir::optional_value< int > max_width
Definition: mir_surface.h:117
mir::optional_value< MirSurfaceState > state
Definition: mir_surface.h:107
Definition: mir_display_server.h:33
MirSurfaceParameters is the structure of minimum required information that you must provide to Mir in...
Definition: client_types.h:169
mir::optional_value< MirSurface * > parent
Definition: mir_surface.h:110
mir::optional_value< int > min_height
Definition: mir_surface.h:116