Mir
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
24 #include <mir_toolkit/event.h>
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;
49 
56 
63 typedef void (*mir_connected_callback)(MirConnection *connection, void *client_context);
64 
74 typedef void (*mir_surface_callback)(MirSurface *surface, void *client_context);
75 
84  MirSurface* surface, MirEvent const* event, void* context);
85 
95  MirConnection* connection, MirLifecycleState state, void* context);
96 
104  MirConnection* connection, void* context);
105 
111 typedef enum MirBufferUsage
112 {
116 
121 typedef struct MirSurfaceParameters
122 {
123  char const *name;
124  int width;
125  int height;
136  uint32_t output_id;
138 
140 
144 typedef enum MirPlatformType
145 {
149 
150 typedef struct MirPlatformPackage
151 {
153  int fd_items;
154 
158 
159 
164 typedef struct MirGraphicsRegion
165 {
166  int width;
167  int height;
168  int stride;
170  char *vaddr;
171 
173 
178 typedef struct MirDisplayInfo
179 {
180  uint32_t width;
181  uint32_t height;
182 
186 
191 typedef struct MirDisplayCard
192 {
193  uint32_t card_id;
196 
198 {
215 
216 typedef struct MirDisplayMode
217 {
220  double refresh_rate;
222 
224 
225 typedef struct MirDisplayOutput
226 {
227  uint32_t num_modes;
229  uint32_t preferred_mode;
230  uint32_t current_mode;
231 
235 
236  uint32_t card_id;
237  uint32_t output_id;
239 
240  int32_t position_x;
241  int32_t position_y;
242  uint32_t connected;
243  uint32_t used;
244 
247 
251 
253 {
254  uint32_t num_outputs;
256  uint32_t num_cards;
259 
264 typedef struct MirEventDelegate
265 {
267  void *context;
269 
270 typedef struct MirRectangle
271 {
272  int left;
273  int top;
274  unsigned int width;
275  unsigned int height;
276 } MirRectangle;
277 
285 {
292  unsigned int width;
294  unsigned int height;
301 
307 typedef void (*mir_screencast_callback)(MirScreencast *screencast, void *client_context);
308 
309 #ifdef __cplusplus
310 }
312 #endif
313 
314 #endif /* MIR_TOOLKIT_CLIENT_TYPES_H_ */
uint32_t physical_height_mm
Definition: client_types.h:246
Definition: client_types.h:223
MirPowerMode power_mode
Definition: client_types.h:248
Definition: client_types.h:150
Definition: client_types.h:252
void(* mir_connected_callback)(MirConnection *connection, void *client_context)
Callback to be passed when issuing a mir_connect request.
Definition: client_types.h:63
int data[mir_platform_package_max]
Definition: client_types.h:155
struct MirScreencastParameters MirScreencastParameters
MirScreencastParameters is the structure of required information that you must provide to Mir in orde...
int left
Definition: client_types.h:272
Definition: mir_surface.h:54
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:284
struct MirSurfaceParameters MirSurfaceParameters
MirSurfaceParameters is the structure of minimum required information that you must provide to Mir in...
Definition: client_types.h:200
Definition: client_types.h:212
MirOrientation orientation
Definition: client_types.h:249
Definition: mir_wait_handle.h:31
int height
Definition: client_types.h:125
void(* mir_event_delegate_callback)(MirSurface *surface, MirEvent const *event, void *context)
Callback member of MirEventDelegate for handling of events.
Definition: client_types.h:83
int top
Definition: client_types.h:273
MirPixelFormat pixel_format
Definition: client_types.h:126
uint32_t output_id
The id of the output to place the surface in.
Definition: client_types.h:136
Definition: client_types.h:199
Definition: client_types.h:211
MirDisplayMode * modes
Definition: client_types.h:228
int32_t position_y
Definition: client_types.h:241
Definition: client_types.h:146
struct MirEventDelegate MirEventDelegate
MirEventDelegate may be used to specify (at surface creation time) callbacks for handling of events...
MirDisplayCard * cards
Definition: client_types.h:257
Definition: client_types.h:113
unsigned int height
The height of the screencast which can be different than the screen region capture height...
Definition: client_types.h:294
uint32_t output_id
Definition: client_types.h:237
uint32_t used
Definition: client_types.h:243
int32_t position_x
Definition: client_types.h:240
uint32_t width
Definition: client_types.h:180
Definition: mir_screencast.h:42
struct MirDisplayMode MirDisplayMode
uint32_t height
Definition: client_types.h:181
int stride
Definition: client_types.h:168
Definition: client_types.h:213
Definition: client_types.h:177
uint32_t connected
Definition: client_types.h:242
MirDisplayConfiguration provides details of the graphics environment.
Definition: client_types.h:191
Definition: client_types.h:208
Definition: client_types.h:216
int height
Definition: client_types.h:167
uint32_t vertical_resolution
Definition: client_types.h:218
MirPixelFormat pixel_format
Definition: client_types.h:169
MirPixelFormat current_format
Definition: client_types.h:234
struct MirDisplayConfiguration MirDisplayConfiguration
MirOrientation
Definition: common.h:113
char const * name
Definition: client_types.h:123
Definition: client_types.h:147
uint32_t card_id
Definition: client_types.h:193
char * vaddr
Definition: client_types.h:170
MirPixelFormat supported_pixel_format[mir_supported_pixel_format_max]
Definition: client_types.h:184
struct MirGraphicsRegion MirGraphicsRegion
Retrieved information about a MirSurface.
void(* mir_surface_callback)(MirSurface *surface, void *client_context)
Callback to be passed when calling:
Definition: client_types.h:74
uint32_t num_outputs
Definition: client_types.h:254
uint32_t current_mode
Definition: client_types.h:230
Definition: client_types.h:178
MirEventDelegate may be used to specify (at surface creation time) callbacks for handling of events...
Definition: client_types.h:264
uint32_t num_output_formats
Definition: client_types.h:232
Definition: client_types.h:225
mir_event_delegate_callback callback
Definition: client_types.h:266
Definition: client_types.h:201
Definition: client_types.h:203
struct MirPlatformPackage MirPlatformPackage
struct MirDisplayOutput MirDisplayOutput
struct MirDisplayInfo MirDisplayInfo
uint32_t physical_width_mm
Definition: client_types.h:245
int supported_pixel_format_items
Definition: client_types.h:183
Definition: client_types.h:204
int fd[mir_platform_package_max]
Definition: client_types.h:156
MirPixelFormat * output_formats
Definition: client_types.h:233
MirPowerMode
Definition: common.h:82
unsigned int width
Definition: client_types.h:274
MirBufferUsage
MirBufferUsage specifies how a surface can and will be used.
Definition: client_types.h:111
Definition: client_types.h:205
MirPixelFormat
The order of components in a format enum matches the order of the components as they would be written...
Definition: common.h:99
int fd_items
Definition: client_types.h:153
uint32_t max_simultaneous_outputs
Definition: client_types.h:194
MirBufferUsage buffer_usage
Definition: client_types.h:127
uint32_t num_cards
Definition: client_types.h:256
double refresh_rate
Definition: client_types.h:220
MirLifecycleState
Definition: common.h:75
MirRectangle region
The rectangular region of the screen to capture - The region is specified in virtual screen space hen...
Definition: client_types.h:290
uint32_t preferred_mode
Definition: client_types.h:229
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:94
unsigned int height
Definition: client_types.h:275
Definition: client_types.h:139
void * MirEGLNativeWindowType
Definition: client_types.h:44
void(* mir_display_config_callback)(MirConnection *connection, void *context)
Callback called when a display config change has occurred.
Definition: client_types.h:103
MirPixelFormat pixel_format
The pixel format of the screencast.
Definition: client_types.h:299
int data_items
Definition: client_types.h:152
unsigned int width
The width of the screencast which can be different than the screen region capture width...
Definition: client_types.h:292
MirDisplayOutputType type
Definition: client_types.h:238
Definition: client_types.h:210
Definition: client_types.h:40
Definition: mir_connection.h:69
MirDisplayOutputType
Definition: client_types.h:197
Definition: client_types.h:207
void(* mir_screencast_callback)(MirScreencast *screencast, void *client_context)
Callback to be passed when calling MirScreencast functions.
Definition: client_types.h:307
Definition: client_types.h:270
Retrieved information about a MirSurface.
Definition: client_types.h:164
Definition: event.h:207
struct MirRectangle MirRectangle
int width
Definition: client_types.h:124
Definition: client_types.h:202
uint32_t num_modes
Definition: client_types.h:227
struct MirDisplayCard MirDisplayCard
MirDisplayConfiguration provides details of the graphics environment.
uint32_t card_id
Definition: client_types.h:236
Definition: client_types.h:209
void * context
Definition: client_types.h:267
int width
Definition: client_types.h:166
MirPlatformType
The native buffer type for the system the client is connected on.
Definition: client_types.h:144
MirDisplayOutput * outputs
Definition: client_types.h:255
Definition: client_types.h:39
Definition: client_types.h:114
MirSurfaceParameters is the structure of minimum required information that you must provide to Mir in...
Definition: client_types.h:121
Definition: client_types.h:206
uint32_t horizontal_resolution
Definition: client_types.h:219
void * MirEGLNativeDisplayType
Definition: client_types.h:45

Copyright © 2012,2013 Canonical Ltd.
Generated on Fri Apr 11 21:14:53 UTC 2014