Mir
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mir_client_library.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2012-2013 Canonical Ltd.
3  *
4  * This program is free software: you can redistribute it and/or modify it
5  * under the terms of the GNU Lesser General Public License version 3,
6  * as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  */
17 
18 #ifndef MIR_CLIENT_LIBRARY_H
19 #define MIR_CLIENT_LIBRARY_H
20 
23 #include <mir_toolkit/common.h>
24 
25 #ifdef __cplusplus
26 
30 extern "C" {
31 #endif
32 
33 /* This header defines the Mir client library's C API. */
34 
52  char const *server,
53  char const *app_name,
54  mir_connected_callback callback,
55  void *context);
56 
64 MirConnection *mir_connect_sync(char const *server, char const *app_name);
65 
73 
82 char const *mir_connection_get_error_message(MirConnection *connection);
83 
88 void mir_connection_release(MirConnection *connection);
89 
96 void mir_connection_get_platform(MirConnection *connection, MirPlatformPackage *platform_package);
97 
105  mir_lifecycle_event_callback callback, void* context);
106 
110 __attribute__((__deprecated__("Use mir_connection_create_display_config()")))
112 
121 
133  MirConnection* connection,
134  mir_display_config_callback callback, void* context);
135 
140 void mir_display_config_destroy(MirDisplayConfiguration* display_configuration);
141 
156 
163 
172  MirConnection* connection, MirPixelFormat* formats,
173  unsigned const int format_size, unsigned int *num_valid_formats);
174 
191  MirConnection *connection,
192  MirSurfaceParameters const *surface_parameters,
193  mir_surface_callback callback,
194  void *context);
195 
204  MirConnection *connection,
205  MirSurfaceParameters const *params);
206 
218  MirEventDelegate const *event_handler);
219 
226 
234 
244 char const *mir_surface_get_error_message(MirSurface *surface);
245 
253 
262 
269 void mir_surface_get_current_buffer(MirSurface *surface, MirNativeBuffer **buffer_package);
270 
279  MirSurface *surface,
280  MirGraphicsRegion *graphics_region);
281 
296  MirSurface *surface,
297  mir_surface_callback callback,
298  void *context);
299 
306 
320  MirSurface *surface,
321  mir_surface_callback callback,
322  void *context);
323 
329 void mir_surface_release_sync(MirSurface *surface);
330 
336 void mir_wait_for(MirWaitHandle *wait_handle);
337 
345 void mir_wait_for_one(MirWaitHandle *wait_handle);
346 
350 __attribute__((__deprecated__("Use mir_debug_surface_id()")))
351 int mir_surface_get_id(MirSurface *surface);
352 
362 
369 
377  MirSurfaceState state);
378 
385 
396 MirWaitHandle* mir_surface_set_swapinterval(MirSurface* surface, int interval);
397 
406 
407 #ifdef __cplusplus
408 }
410 #endif
411 
412 #endif /* MIR_CLIENT_LIBRARY_H */
MirDisplayConfiguration * mir_connection_create_display_config(MirConnection *connection)
Query the display.
Definition: mir_client_library.cpp:313
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
char const * mir_connection_get_error_message(MirConnection *connection)
Retrieve a text description of the last error.
Definition: mir_client_library.cpp:190
void mir_connection_set_lifecycle_event_callback(MirConnection *connection, mir_lifecycle_event_callback callback, void *context)
Register a callback to be called when a Lifecycle state change occurs.
Definition: mir_client_library.cpp:499
void mir_connection_release(MirConnection *connection)
Release a connection to the Mir server.
Definition: mir_client_library.cpp:163
Definition: mir_surface.h:54
MirBool
Definition: client_types.h:37
Definition: mir_wait_handle.h:31
MirSurfaceType mir_surface_get_type(MirSurface *surface)
Get the type (purpose) of a surface.
Definition: mir_client_library.cpp:424
MirWaitHandle * mir_connection_create_surface(MirConnection *connection, MirSurfaceParameters const *surface_parameters, mir_surface_callback callback, void *context)
Request a new Mir surface on the supplied connection with the supplied parameters.
Definition: mir_client_library.cpp:208
MirWaitHandle * mir_connect(char const *server, char const *app_name, mir_connected_callback callback, void *context)
Request a connection to the Mir server.
Definition: mir_client_library.cpp:151
void mir_wait_for(MirWaitHandle *wait_handle)
Wait on the supplied handle until all instances of the associated request have completed.
Definition: mir_client_library.cpp:394
MirBool mir_surface_is_valid(MirSurface *surface)
Test for a valid surface.
Definition: mir_client_library.cpp:278
MirEGLNativeWindowType mir_surface_get_egl_native_window(MirSurface *surface)
Get a window type that can be used for OpenGL ES 2.0 acceleration.
Definition: mir_client_library.cpp:406
MirWaitHandle * mir_surface_swap_buffers(MirSurface *surface, mir_surface_callback callback, void *context)
Advance a surface's buffer.
Definition: mir_client_library.cpp:377
MirWaitHandle * mir_surface_set_state(MirSurface *surface, MirSurfaceState state)
Change the state of a surface.
Definition: mir_client_library.cpp:440
MirDisplayInfo * display_info
Definition: mir_client_library.h:111
void mir_connection_get_available_surface_formats(MirConnection *connection, MirPixelFormat *formats, unsigned const int format_size, unsigned int *num_valid_formats)
Get the list of possible formats that a surface can be created with.
Definition: mir_client_library.cpp:200
MirConnection * mir_connect_sync(char const *server, char const *app_name)
Perform a mir_connect() but also wait for and return the result.
Definition: mir_client_library.cpp:174
char const * mir_surface_get_error_message(MirSurface *surface)
Retrieve a text description of the error.
Definition: mir_client_library.cpp:283
void mir_surface_release_sync(MirSurface *surface)
Release the specified surface like in mir_surface_release(), but also wait for the operation to compl...
Definition: mir_client_library.cpp:261
MirWaitHandle * mir_connection_apply_display_config(MirConnection *connection, MirDisplayConfiguration *display_configuration)
Apply the display configuration.
Definition: mir_client_library.cpp:513
MirWaitHandle * mir_surface_set_swapinterval(MirSurface *surface, int interval)
Set the swapinterval for mir_surface_swap_buffers.
Definition: mir_client_library.cpp:479
Definition: mir_native_buffer.h:30
MirSurfaceState mir_surface_get_state(MirSurface *surface)
Get the current state of a surface.
Definition: mir_client_library.cpp:452
int mir_surface_get_swapinterval(MirSurface *surface)
Query the swapinterval that the surface is operating with.
Definition: mir_client_library.cpp:494
void mir_surface_set_event_handler(MirSurface *surface, MirEventDelegate const *event_handler)
Set the event handler to be called when events arrive for a surface.
Definition: mir_client_library.cpp:241
MirWaitHandle * mir_surface_release(MirSurface *surface, mir_surface_callback callback, void *context)
Release the supplied surface and any associated buffer.
Definition: mir_client_library.cpp:247
void mir_connection_get_display_info(MirConnection *connection, MirDisplayInfo *display_info)
Definition: mir_client_library.cpp:326
void mir_connection_get_platform(MirConnection *connection, MirPlatformPackage *platform_package)
Query platform-specific data and/or file descriptors that are required to initialize GL/EGL features...
Definition: mir_client_library.cpp:308
void(* mir_surface_callback)(MirSurface *surface, void *client_context)
Callback to be passed when calling:
Definition: client_types.h:74
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
MirSurfaceState
Definition: common.h:55
void mir_surface_get_graphics_region(MirSurface *surface, MirGraphicsRegion *graphics_region)
Get a surface's graphics_region, i.e., map the graphics buffer to main memory.
Definition: mir_client_library.cpp:372
int mir_surface_get_id(MirSurface *surface)
Definition: mir_client_library.cpp:268
MirSurfaceType
Definition: common.h:43
MirPixelFormat
The order of components in a format enum matches the order of the components as they would be written...
Definition: common.h:99
MirPlatformType mir_surface_get_platform_type(MirSurface *surface)
Get the underlying platform type so the buffer obtained in "raw" representation in mir_surface_get_cu...
Definition: mir_client_library.cpp:293
void mir_surface_swap_buffers_sync(MirSurface *surface)
Advance a surface's buffer as in mir_surface_swap_buffers(), but also wait for the operation to compl...
Definition: mir_client_library.cpp:387
int mir_debug_surface_id(MirSurface *surface)
Return the ID of a surface (only useful for debug output).
Definition: mir_client_library.cpp:273
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
void * MirEGLNativeWindowType
Definition: client_types.h:44
void mir_surface_get_current_buffer(MirSurface *surface, MirNativeBuffer **buffer_package)
Get a surface's buffer in "raw" representation.
Definition: mir_client_library.cpp:298
MirBool mir_connection_is_valid(MirConnection *connection)
Test for a valid connection.
Definition: mir_client_library.cpp:185
void(* mir_display_config_callback)(MirConnection *connection, void *context)
Callback called when a display config change has occurred.
Definition: client_types.h:103
void mir_display_config_destroy(MirDisplayConfiguration *display_configuration)
Destroy the DisplayConfiguration resource acquired from mir_connection_create_display_config.
Definition: mir_client_library.cpp:320
Definition: mir_connection.h:69
void mir_surface_get_parameters(MirSurface *surface, MirSurfaceParameters *parameters)
Get a surface's parameters.
Definition: mir_client_library.cpp:288
MirWaitHandle * mir_surface_set_type(MirSurface *surface, MirSurfaceType type)
Set the type (purpose) of a surface.
Definition: mir_client_library.cpp:411
MirSurface * mir_connection_create_surface_sync(MirConnection *connection, MirSurfaceParameters const *params)
Create a surface like in mir_connection_create_surface(), but also wait for creation to complete and ...
Definition: mir_client_library.cpp:228
Retrieved information about a MirSurface.
Definition: client_types.h:164
MirEGLNativeDisplayType mir_connection_get_egl_native_display(MirConnection *connection)
Get a display type that can be used for OpenGL ES 2.0 acceleration.
Definition: mir_client_library.cpp:195
__attribute__((__deprecated__("Use mir_connection_create_display_config()"))) void mir_connection_get_display_info(MirConnection *connection
MirPlatformType
The native buffer type for the system the client is connected on.
Definition: client_types.h:144
void mir_connection_set_display_config_change_callback(MirConnection *connection, mir_display_config_callback callback, void *context)
Register a callback to be called when the hardware display configuration changes. ...
Definition: mir_client_library.cpp:506
MirSurfaceParameters is the structure of minimum required information that you must provide to Mir in...
Definition: client_types.h:121
void mir_wait_for_one(MirWaitHandle *wait_handle)
Wait on the supplied handle until one instance of the associated request has completed.
Definition: mir_client_library.cpp:400
void * MirEGLNativeDisplayType
Definition: client_types.h:45

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