Mir
client_types.h
Go to the documentation of this file.
1 /*
2  * client_types.h: Type definitions used in client apps and libmirclient.
3  *
4  * Copyright © 2013 Canonical Ltd.
5  *
6  * This program is free software: you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License version 3,
8  * as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  *
18  * Authored by: Robert Carr <robert.carr@canonical.com>
19  */
20 
21 #ifndef MIR_TOOLKIT_CLIENT_TYPES_H_
22 #define MIR_TOOLKIT_CLIENT_TYPES_H_
23 
25 #include <mir_toolkit/common.h>
26 
27 #include <stddef.h>
28 
29 #ifdef __cplusplus
30 
34 extern "C" {
35 #endif
36 
37 typedef enum MirBool
38 {
39  mir_false = 0,
41 } MirBool;
42 
43 /* Display server connection API */
44 typedef void* MirEGLNativeWindowType;
47 typedef struct MirSurface MirSurface;
51 
58 
60 
67 typedef void (*mir_connected_callback)(MirConnection *connection, void *client_context);
68 
78 typedef void (*mir_surface_callback)(MirSurface *surface, void *client_context);
79 
88  MirSurface* surface, MirEvent const* event, void* context);
89 
99  MirConnection* connection, MirLifecycleState state, void* context);
100 
108  MirConnection* connection, void* context);
109 
120 typedef void (*mir_client_fd_callback)(
121  MirPromptSession *prompt_session, size_t count, int const* fds, void* context);
122 
128 typedef enum MirBufferUsage
129 {
133 
138 typedef struct MirSurfaceParameters
139 {
140  char const *name;
141  int width;
142  int height;
153  uint32_t output_id;
155 
157 
161 typedef enum MirPlatformType
162 {
166 
167 typedef struct MirPlatformPackage
168 {
170  int fd_items;
171 
175 
176 
181 typedef struct MirGraphicsRegion
182 {
183  int width;
184  int height;
185  int stride;
187  char *vaddr;
188 
190 
195 typedef struct MirDisplayInfo
196 {
197  uint32_t width;
198  uint32_t height;
199 
203 
208 typedef struct MirDisplayCard
209 {
210  uint32_t card_id;
213 
215 {
232 
233 typedef struct MirDisplayMode
234 {
237  double refresh_rate;
239 
241 
242 typedef struct MirDisplayOutput
243 {
244  uint32_t num_modes;
246  uint32_t preferred_mode;
248  uint32_t current_mode;
249 
253 
254  uint32_t card_id;
255  uint32_t output_id;
257 
258  int32_t position_x;
259  int32_t position_y;
260  uint32_t connected;
261  uint32_t used;
262 
265 
269 
271 {
272  uint32_t num_outputs;
274  uint32_t num_cards;
277 
282 typedef struct MirEventDelegate
283 {
285  void *context;
287 
288 typedef struct MirRectangle
289 {
290  int left;
291  int top;
292  unsigned int width;
293  unsigned int height;
294 } MirRectangle;
295 
303 {
310  unsigned int width;
312  unsigned int height;
319 
325 typedef void (*mir_screencast_callback)(MirScreencast *screencast, void *client_context);
326 
332 typedef void (*mir_prompt_session_callback)(MirPromptSession* prompt_provider, void* context);
333 
341  MirPromptSession* prompt_provider, MirPromptSessionState state, void* context);
342 
354  MirConnection* connection, MirPlatformMessage* reply, void* context);
355 
356 #ifdef __cplusplus
357 }
359 #endif
360 
361 #endif /* MIR_TOOLKIT_CLIENT_TYPES_H_ */
uint32_t physical_height_mm
Definition: client_types.h:264
MirPowerMode power_mode
Definition: client_types.h:266
Definition: client_types.h:167
Definition: client_types.h:270
Definition: mir_surface.h:58
int data[mir_platform_package_max]
Definition: client_types.h:172
struct MirScreencastParameters MirScreencastParameters
MirScreencastParameters is the structure of required information that you must provide to Mir in orde...
int left
Definition: client_types.h:290
Definition: mir_surface.h:86
void(* mir_lifecycle_event_callback)(MirConnection *connection, MirLifecycleState state, void *context)
Callback called when a lifecycle event/callback is requested from the running server.
Definition: client_types.h:98
MirBool
Definition: client_types.h:37
MirScreencastParameters is the structure of required information that you must provide to Mir in orde...
Definition: client_types.h:302
struct MirSurfaceParameters MirSurfaceParameters
MirSurfaceParameters is the structure of minimum required information that you must provide to Mir in...
Definition: client_types.h:217
Definition: client_types.h:229
MirOrientation orientation
Definition: client_types.h:267
Definition: mir_wait_handle.h:31
int height
Definition: client_types.h:142
int top
Definition: client_types.h:291
MirPromptSessionState
Definition: common.h:111
MirPixelFormat pixel_format
Definition: client_types.h:143
uint32_t output_id
The id of the output to place the surface in.
Definition: client_types.h:153
Definition: client_types.h:216
Definition: client_types.h:228
MirDisplayMode * modes
Definition: client_types.h:245
int32_t position_y
Definition: client_types.h:259
Definition: client_types.h:163
struct MirEventDelegate MirEventDelegate
MirEventDelegate may be used to specify (at surface creation time) callbacks for handling of events...
MirDisplayCard * cards
Definition: client_types.h:275
Definition: client_types.h:130
unsigned int height
The height of the screencast which can be different than the screen region capture height...
Definition: client_types.h:312
uint32_t output_id
Definition: client_types.h:255
uint32_t used
Definition: client_types.h:261
int32_t position_x
Definition: client_types.h:258
uint32_t width
Definition: client_types.h:197
Definition: mir_screencast.h:41
struct MirDisplayMode MirDisplayMode
uint32_t height
Definition: client_types.h:198
int stride
Definition: client_types.h:185
Definition: client_types.h:230
uint32_t connected
Definition: client_types.h:260
MirDisplayConfiguration provides details of the graphics environment.
Definition: client_types.h:208
Definition: client_types.h:225
Definition: client_types.h:233
int height
Definition: client_types.h:184
uint32_t vertical_resolution
Definition: client_types.h:235
MirPixelFormat pixel_format
Definition: client_types.h:186
MirPixelFormat current_format
Definition: client_types.h:252
struct MirDisplayConfiguration MirDisplayConfiguration
void(* mir_client_fd_callback)(MirPromptSession *prompt_session, size_t count, int const *fds, void *context)
Callback called when a request for client file descriptors completes.
Definition: client_types.h:120
MirOrientation
Direction relative to the "natural" orientation of the display.
Definition: common.h:142
char const * name
Definition: client_types.h:140
Definition: client_types.h:164
uint32_t card_id
Definition: client_types.h:210
char * vaddr
Definition: client_types.h:187
void(* mir_screencast_callback)(MirScreencast *screencast, void *client_context)
Callback to be passed when calling MirScreencast functions.
Definition: client_types.h:325
Definition: client_types.h:240
MirPixelFormat supported_pixel_format[mir_supported_pixel_format_max]
Definition: client_types.h:201
struct MirGraphicsRegion MirGraphicsRegion
Retrieved information about a MirSurface.
uint32_t num_outputs
Definition: client_types.h:272
uint32_t current_mode
Definition: client_types.h:248
Definition: client_types.h:195
MirEventDelegate may be used to specify (at surface creation time) callbacks for handling of events...
Definition: client_types.h:282
uint32_t num_output_formats
Definition: client_types.h:250
Definition: client_types.h:242
mir_event_delegate_callback callback
Definition: client_types.h:284
Definition: client_types.h:218
struct MirPlatformMessage MirPlatformMessage
Definition: client_types.h:59
Definition: client_types.h:220
struct MirPlatformPackage MirPlatformPackage
struct MirDisplayOutput MirDisplayOutput
struct MirDisplayInfo MirDisplayInfo
uint32_t physical_width_mm
Definition: client_types.h:263
void(* mir_platform_operation_callback)(MirConnection *connection, MirPlatformMessage *reply, void *context)
Callback called when a platform operation completes.
Definition: client_types.h:353
int supported_pixel_format_items
Definition: client_types.h:200
Definition: client_types.h:221
int fd[mir_platform_package_max]
Definition: client_types.h:173
MirPixelFormat * output_formats
Definition: client_types.h:251
MirPowerMode
Definition: common.h:103
unsigned int width
Definition: client_types.h:292
MirBufferUsage
MirBufferUsage specifies how a surface can and will be used.
Definition: client_types.h:128
Definition: client_types.h:222
Definition: mir_prompt_session.h:40
MirPixelFormat
The order of components in a format enum matches the order of the components as they would be written...
Definition: common.h:127
int fd_items
Definition: client_types.h:170
void(* mir_surface_callback)(MirSurface *surface, void *client_context)
Callback to be passed when calling:
Definition: client_types.h:78
void(* mir_prompt_session_callback)(MirPromptSession *prompt_provider, void *context)
Callback member of MirPromptSession for handling of prompt sessions.
Definition: client_types.h:332
uint32_t max_simultaneous_outputs
Definition: client_types.h:211
MirBufferUsage buffer_usage
Definition: client_types.h:144
uint32_t num_cards
Definition: client_types.h:274
double refresh_rate
Definition: client_types.h:237
MirLifecycleState
Definition: common.h:96
MirRectangle region
The rectangular region of the screen to capture - The region is specified in virtual screen space hen...
Definition: client_types.h:308
uint32_t preferred_mode
There might be no preferred mode, which is indicated by a value >=num_modes.
Definition: client_types.h:246
unsigned int height
Definition: client_types.h:293
void * MirEGLNativeWindowType
Definition: client_types.h:44
Definition: client_types.h:156
MirPixelFormat pixel_format
The pixel format of the screencast.
Definition: client_types.h:317
int data_items
Definition: client_types.h:169
unsigned int width
The width of the screencast which can be different than the screen region capture width...
Definition: client_types.h:310
void(* mir_connected_callback)(MirConnection *connection, void *client_context)
Callback to be passed when issuing a mir_connect request.
Definition: client_types.h:67
MirDisplayOutputType type
Definition: client_types.h:256
Definition: client_types.h:227
Definition: client_types.h:40
Definition: mir_connection.h:79
MirDisplayOutputType
Definition: client_types.h:214
Definition: client_types.h:224
Definition: client_types.h:288
Retrieved information about a MirSurface.
Definition: client_types.h:181
Definition: event_deprecated.h:237
struct MirRectangle MirRectangle
int width
Definition: client_types.h:141
Definition: client_types.h:219
void(* mir_display_config_callback)(MirConnection *connection, void *context)
Callback called when a display config change has occurred.
Definition: client_types.h:107
uint32_t num_modes
Definition: client_types.h:244
struct MirDisplayCard MirDisplayCard
MirDisplayConfiguration provides details of the graphics environment.
uint32_t card_id
Definition: client_types.h:254
Definition: client_types.h:226
void * context
Definition: client_types.h:285
int width
Definition: client_types.h:183
MirPlatformType
The native buffer type for the system the client is connected on.
Definition: client_types.h:161
MirDisplayOutput * outputs
Definition: client_types.h:273
Definition: client_types.h:194
Definition: client_types.h:39
Definition: client_types.h:131
MirSurfaceParameters is the structure of minimum required information that you must provide to Mir in...
Definition: client_types.h:138
Definition: client_types.h:223
void(* mir_prompt_session_state_change_callback)(MirPromptSession *prompt_provider, MirPromptSessionState state, void *context)
Callback member of MirPromptSession for handling of prompt sessions events.
Definition: client_types.h:340
uint32_t horizontal_resolution
Definition: client_types.h:236
void * MirEGLNativeDisplayType
Definition: client_types.h:45
void(* mir_event_delegate_callback)(MirSurface *surface, MirEvent const *event, void *context)
Callback member of MirEventDelegate for handling of events.
Definition: client_types.h:87

Copyright © 2012,2013 Canonical Ltd.
Generated on Tue Mar 24 16:15:19 UTC 2015