Mir
mir_surface.h
Go to the documentation of this file.
1 /*
2  * Copyright © 2012-2014 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_TOOLKIT_MIR_SURFACE_H_
19 #define MIR_TOOLKIT_MIR_SURFACE_H_
20 
23 #include <mir_toolkit/common.h>
25 
26 #include <stdbool.h>
27 
28 #ifdef __cplusplus
29 
33 extern "C" {
34 #endif
35 
49  int width,
50  int height,
51  MirPixelFormat format);
52 
80  int width,
81  int height,
82  MirPixelFormat format,
83  MirSurface* parent,
84  MirRectangle* rect,
85  MirEdgeAttachment edge);
86 
112  int width,
113  int height,
114  MirPixelFormat format,
115  MirSurface* parent,
116  MirRectangle* zone);
117 
142  int width,
143  int height,
144  MirPixelFormat format,
145  MirSurface* parent);
146 
166  int width,
167  int height,
168  MirPixelFormat format);
169 
182 MirWaitHandle* mir_surface_create(MirSurfaceSpec* requested_specification,
183  mir_surface_callback callback, void* context);
184 
191 MirSurface* mir_surface_create_sync(MirSurfaceSpec* requested_specification);
192 
205 bool mir_surface_spec_set_name(MirSurfaceSpec* spec, char const* name);
206 
216 bool mir_surface_spec_set_width(MirSurfaceSpec* spec, unsigned width);
217 
228 
239 
250 
259 bool mir_surface_spec_set_fullscreen_on_output(MirSurfaceSpec* spec, uint32_t output_id);
260 
270 
277 
296  MirConnection *connection,
297  MirSurfaceParameters const *surface_parameters,
298  mir_surface_callback callback,
299  void *context);
300 
311  MirConnection *connection,
312  MirSurfaceParameters const *params);
313 
325  MirEventDelegate const *event_handler);
326 
333 
340 bool mir_surface_is_valid(MirSurface *surface);
341 
351 char const *mir_surface_get_error_message(MirSurface *surface);
352 
360 
369 
376 void mir_surface_get_current_buffer(MirSurface *surface, MirNativeBuffer **buffer_package);
377 
386  MirSurface *surface,
387  MirGraphicsRegion *graphics_region);
388 
403  MirSurface *surface,
404  mir_surface_callback callback,
405  void *context);
406 
413 
427  MirSurface *surface,
428  mir_surface_callback callback,
429  void *context);
430 
436 void mir_surface_release_sync(MirSurface *surface);
437 
441 __attribute__((__deprecated__("Use mir_debug_surface_id()")))
442 int mir_surface_get_id(MirSurface *surface);
443 
447 __attribute__((__deprecated__("Use mir_connection_create_spec_for_xxx()")))
449 
456 
464  MirSurfaceState state);
465 
472 
483 MirWaitHandle* mir_surface_set_swapinterval(MirSurface* surface, int interval);
484 
493 
499 int mir_surface_get_dpi(MirSurface* surface);
500 
507 
514 
526 
533 
543 
550 
563  int width,
564  int height,
565  MirPixelFormat format);
566 
567 #ifdef __cplusplus
568 }
570 #endif
571 
572 #endif /* MIR_TOOLKIT_MIR_SURFACE_H_ */
void mir_surface_spec_release(MirSurfaceSpec *spec)
Release the resources held by a MirSurfaceSpec.
Definition: mir_surface_api.cpp:200
bool mir_surface_spec_set_buffer_usage(MirSurfaceSpec *spec, MirBufferUsage usage)
Set the requested buffer usage.
Definition: mir_surface_api.cpp:181
Definition: mir_surface.h:58
bool mir_surface_spec_set_preferred_orientation(MirSurfaceSpec *spec, MirOrientationMode mode)
Set the requested preferred orientation mode.
Definition: mir_surface_api.cpp:194
Definition: mir_surface.h:86
Definition: mir_wait_handle.h:31
bool mir_surface_spec_set_name(MirSurfaceSpec *spec, char const *name)
Set the requested name.
Definition: mir_surface_api.cpp:157
MirSurfaceType mir_surface_get_type(MirSurface *surface)
Get the type (purpose) of a surface.
Definition: mir_surface_api.cpp:331
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_surface_api.cpp:205
MirWaitHandle * mir_surface_set_preferred_orientation(MirSurface *surface, MirOrientationMode orientation)
Request to set the preferred orientations of a surface.
Definition: mir_surface_api.cpp:517
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_surface_api.cpp:234
MirWaitHandle * mir_surface_swap_buffers(MirSurface *surface, mir_surface_callback callback, void *context)
Advance a surface's buffer.
Definition: mir_surface_api.cpp:269
MirWaitHandle * mir_surface_set_state(MirSurface *surface, MirSurfaceState state)
Change the state of a surface.
Definition: mir_surface_api.cpp:347
char const * mir_surface_get_error_message(MirSurface *surface)
Retrieve a text description of the error.
Definition: mir_surface_api.cpp:244
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_surface_api.cpp:305
MirSurfaceFocusState mir_surface_get_focus(MirSurface *surface)
Query the focus state for a surface.
Definition: mir_surface_api.cpp:444
bool mir_surface_spec_set_fullscreen_on_output(MirSurfaceSpec *spec, uint32_t output_id)
Definition: mir_surface_api.cpp:187
MirWaitHandle * mir_surface_set_swapinterval(MirSurface *surface, int interval)
Set the swapinterval for mir_surface_swap_buffers.
Definition: mir_surface_api.cpp:393
MirSurfaceSpec * mir_connection_create_spec_for_tooltip(MirConnection *connection, int width, int height, MirPixelFormat format, MirSurface *parent, MirRectangle *zone)
Create a surface specification for a tooltip surface.
Definition: mir_surface_api.cpp:73
MirWaitHandle * mir_surface_configure_cursor(MirSurface *surface, MirCursorConfiguration const *parameters)
Choose the cursor state for a surface: whether a cursor is shown, and which cursor if so...
Definition: mir_surface_api.cpp:482
MirSurfaceVisibility mir_surface_get_visibility(MirSurface *surface)
Query the visibility state for a surface.
Definition: mir_surface_api.cpp:463
Definition: mir_native_buffer.h:30
bool mir_surface_spec_set_width(MirSurfaceSpec *spec, unsigned width)
Set the requested width, in pixels.
Definition: mir_surface_api.cpp:163
MirSurfaceState mir_surface_get_state(MirSurface *surface)
Get the current state of a surface.
Definition: mir_surface_api.cpp:360
MirSurfaceSpec * mir_connection_create_spec_for_modal_dialog(MirConnection *connection, int width, int height, MirPixelFormat format, MirSurface *parent)
Create a surface specification for a modal dialog surface.
Definition: mir_surface_api.cpp:110
int mir_surface_get_swapinterval(MirSurface *surface)
Query the swapinterval that the surface is operating with.
Definition: mir_surface_api.cpp:409
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_surface_api.cpp:228
MirOrientation
Direction relative to the "natural" orientation of the display.
Definition: common.h:142
MirWaitHandle * mir_surface_release(MirSurface *surface, mir_surface_callback callback, void *context)
Release the supplied surface and any associated buffer.
Definition: mir_surface_api.cpp:290
bool mir_surface_spec_set_height(MirSurfaceSpec *spec, unsigned height)
Set the requested height, in pixels.
Definition: mir_surface_api.cpp:169
unsigned int width
Definition: black_arrow.c:4
MirEventDelegate may be used to specify (at surface creation time) callbacks for handling of events...
Definition: client_types.h:282
MirSurfaceState
Definition: common.h:66
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_surface_api.cpp:264
MirWaitHandle * mir_surface_set_type(MirSurface *surf, MirSurfaceType type)
Definition: mir_surface_api.cpp:317
bool mir_surface_is_valid(MirSurface *surface)
Test for a valid surface.
Definition: mir_surface_api.cpp:239
MirBufferUsage
MirBufferUsage specifies how a surface can and will be used.
Definition: client_types.h:128
MirSurfaceType
Definition: common.h:50
int mir_surface_get_dpi(MirSurface *surface)
Query the DPI value of the surface (dots per inch).
Definition: mir_surface_api.cpp:425
bool mir_surface_spec_set_pixel_format(MirSurfaceSpec *spec, MirPixelFormat format)
Set the requested pixel format.
Definition: mir_surface_api.cpp:175
MirPixelFormat
The order of components in a format enum matches the order of the components as they would be written...
Definition: common.h:127
void(* mir_surface_callback)(MirSurface *surface, void *client_context)
Callback to be passed when calling:
Definition: client_types.h:78
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_surface_api.cpp:254
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_surface_api.cpp:283
Definition: cursor_configuration.h:26
MirSurfaceFocusState
Definition: common.h:84
void * MirEGLNativeWindowType
Definition: client_types.h:44
MirSurfaceVisibility
Definition: common.h:90
void mir_surface_get_current_buffer(MirSurface *surface, MirNativeBuffer **buffer_package)
Get a surface's buffer in "raw" representation.
Definition: mir_surface_api.cpp:259
MirSurfaceSpec * mir_connection_create_spec_for_input_method(MirConnection *connection, int width, int height, MirPixelFormat format)
Create a surface specification for an input method surface.
Definition: mir_surface_api.cpp:100
MirOrientationMode mir_surface_get_preferred_orientation(MirSurface *surface)
Get the preferred orientation modes of a surface.
Definition: mir_surface_api.cpp:499
unsigned int height
Definition: black_arrow.c:5
int mir_surface_get_id(MirSurface *)
Definition: mir_surface_api.cpp:312
MirSurfaceSpec * mir_connection_create_spec_for_menu(MirConnection *connection, int width, int height, MirPixelFormat format, MirSurface *parent, MirRectangle *rect, MirEdgeAttachment edge)
Create a surface specification for a menu surface.
Definition: mir_surface_api.cpp:54
Definition: mir_connection.h:79
void mir_surface_get_parameters(MirSurface *surface, MirSurfaceParameters *parameters)
Get a surface's parameters.
Definition: mir_surface_api.cpp:249
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_surface_api.cpp:215
Definition: client_types.h:288
MirSurfaceSpec * mir_connection_create_spec_for_dialog(MirConnection *connection, int width, int height, MirPixelFormat format)
Create a surface specification for a parentless dialog surface.
Definition: mir_surface_api.cpp:90
Retrieved information about a MirSurface.
Definition: client_types.h:181
MirOrientation mir_surface_get_orientation(MirSurface *surface)
Get the orientation of a surface.
Definition: mir_surface_api.cpp:388
MirSurface * mir_surface_create_sync(MirSurfaceSpec *requested_specification)
Create a surface from a given specification and wait for the result.
Definition: mir_surface_api.cpp:125
MirOrientationMode
Definition: common.h:150
MirSurfaceSpec * mir_connection_create_spec_for_normal_surface(MirConnection *connection, int width, int height, MirPixelFormat format)
Create a surface specification for a normal surface.
Definition: mir_surface_api.cpp:47
__attribute__((__deprecated__("Use mir_debug_surface_id()"))) int mir_surface_get_id(MirSurface *surface)
MirSurfaceType type
Definition: mir_surface.h:448
MirWaitHandle * mir_surface_create(MirSurfaceSpec *requested_specification, mir_surface_callback callback, void *context)
Create a surface from a given specification.
Definition: mir_surface_api.cpp:136
MirPlatformType
The native buffer type for the system the client is connected on.
Definition: client_types.h:161
MirSurfaceParameters is the structure of minimum required information that you must provide to Mir in...
Definition: client_types.h:138
MirEdgeAttachment
Definition: common.h:164

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