Mir
|
Macros | |
#define | MIR_INPUT_EVENT_MAX_POINTER_COUNT 16 |
#define | MIR_CLIENT_MAJOR_VERSION (3) |
MIR_CLIENT_MAJOR_VERSION. More... | |
#define | MIR_CLIENT_MINOR_VERSION (1) |
MIR_CLIENT_MINOR_VERSION. More... | |
#define | MIR_CLIENT_MICRO_VERSION (0) |
MIR_CLIENT_MICRO_VERSION. More... | |
#define | MIR_CLIENT_VERSION |
MIR_CLIENT_VERSION. More... | |
#define | MIR_BYTES_PER_PIXEL(f) |
Typedefs | |
typedef void * | MirEGLNativeWindowType |
typedef void * | MirEGLNativeDisplayType |
typedef struct MirConnection | MirConnection |
typedef struct MirSurface | MirSurface |
typedef struct MirSurfaceSpec | MirSurfaceSpec |
typedef struct MirScreencast | MirScreencast |
typedef struct MirPromptSession | MirPromptSession |
typedef struct MirBufferStream | MirBufferStream |
typedef struct MirPersistentId | MirPersistentId |
typedef struct MirBlob | MirBlob |
typedef struct MirWaitHandle | MirWaitHandle |
Returned by asynchronous functions. More... | |
typedef struct MirPlatformMessage | MirPlatformMessage |
typedef void(* | mir_connected_callback) (MirConnection *connection, void *client_context) |
Callback to be passed when issuing a mir_connect request. More... | |
typedef void(* | mir_surface_callback) (MirSurface *surface, void *client_context) |
Callback to be passed when calling: More... | |
typedef void(* | mir_buffer_stream_callback) (MirBufferStream *stream, void *client_context) |
Callback to be passed when calling: More... | |
typedef void(* | mir_surface_event_callback) (MirSurface *surface, MirEvent const *event, void *context) |
Callback for handling of surface events. More... | |
typedef void(* | mir_lifecycle_event_callback) (MirConnection *connection, MirLifecycleState state, void *context) |
Callback called when a lifecycle event/callback is requested from the running server. More... | |
typedef void(* | mir_ping_event_callback) (MirConnection *connection, int32_t serial, void *context) |
Callback called when the server pings for responsiveness testing. More... | |
typedef void(* | mir_display_config_callback) (MirConnection *connection, void *context) |
Callback called when a display config change has occurred. More... | |
typedef 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. More... | |
typedef void(* | mir_surface_id_callback) (MirSurface *surface, MirPersistentId *id, void *context) |
typedef enum MirBufferUsage | MirBufferUsage |
MirBufferUsage specifies how a surface can and will be used. More... | |
typedef struct MirSurfaceParameters | MirSurfaceParameters |
MirSurfaceParameters is the structure of minimum required information that you must provide to Mir in order to create a surface. More... | |
typedef enum MirPlatformType | MirPlatformType |
The native buffer type for the system the client is connected on. More... | |
typedef struct MirPlatformPackage | MirPlatformPackage |
typedef struct MirGraphicsRegion | MirGraphicsRegion |
Retrieved information about a MirSurface. More... | |
typedef struct MirDisplayInfo | MirDisplayInfo |
typedef struct MirDisplayCard | MirDisplayCard |
MirDisplayConfiguration provides details of the graphics environment. More... | |
typedef enum MirDisplayOutputType | MirDisplayOutputType |
typedef struct MirDisplayMode | MirDisplayMode |
typedef struct MirDisplayOutput | MirDisplayOutput |
typedef struct MirDisplayConfiguration | MirDisplayConfiguration |
typedef struct MirBufferStreamInfo | MirBufferStreamInfo |
The displacement from the top-left corner of the surface. More... | |
typedef struct MirRectangle | MirRectangle |
typedef struct MirScreencastParameters | MirScreencastParameters |
MirScreencastParameters is the structure of required information that you must provide to Mir in order to create a MirScreencast. More... | |
typedef void(* | mir_screencast_callback) (MirScreencast *screencast, void *client_context) |
Callback to be passed when calling MirScreencast functions. More... | |
typedef void(* | mir_prompt_session_callback) (MirPromptSession *prompt_provider, void *context) |
Callback member of MirPromptSession for handling of prompt sessions. More... | |
typedef void(* | mir_prompt_session_state_change_callback) (MirPromptSession *prompt_provider, MirPromptSessionState state, void *context) |
Callback member of MirPromptSession for handling of prompt sessions events. More... | |
typedef void(* | mir_platform_operation_callback) (MirConnection *connection, MirPlatformMessage *reply, void *context) |
Callback called when a platform operation completes. More... | |
typedef struct MirSurfaceEvent | MirSurfaceEvent |
typedef struct MirResizeEvent | MirResizeEvent |
typedef struct MirPromptSessionEvent | MirPromptSessionEvent |
typedef struct MirOrientationEvent | MirOrientationEvent |
typedef struct MirCloseSurfaceEvent | MirCloseSurfaceEvent |
typedef struct MirInputEvent | MirInputEvent |
typedef struct MirKeymapEvent | MirKeymapEvent |
typedef struct MirInputConfigurationEvent | MirInputConfigurationEvent |
typedef struct MirSurfaceOutputEvent | MirSurfaceOutputEvent |
typedef union MirEvent | MirEvent |
typedef int64_t | MirInputDeviceId |
typedef unsigned int | MirInputEventModifiers |
typedef struct MirKeyboardEvent | MirKeyboardEvent |
An event type describing a change in keyboard state. More... | |
typedef struct MirPointerEvent | MirPointerEvent |
An event type describing a change in pointer device state. More... | |
typedef unsigned int | MirPointerButtons |
typedef struct MirTouchEvent | MirTouchEvent |
An event type describing a change in touch device state. More... | |
typedef int32_t | MirTouchId |
An identifier for a touch-point. More... | |
typedef enum MirSurfaceAttrib | MirSurfaceAttrib |
Attributes of a surface that the client and server/shell may wish to get or set over the wire. More... | |
typedef enum MirSurfaceType | MirSurfaceType |
typedef enum MirSurfaceState | MirSurfaceState |
typedef enum MirSurfaceFocusState | MirSurfaceFocusState |
typedef enum MirSurfaceVisibility | MirSurfaceVisibility |
typedef enum MirLifecycleState | MirLifecycleState |
typedef enum MirPowerMode | MirPowerMode |
typedef enum MirPromptSessionState | MirPromptSessionState |
typedef enum MirPixelFormat | MirPixelFormat |
32-bit pixel formats (8888): The order of components in the enum matches the order of the components as they would be written in an integer representing a pixel value of that format. More... | |
typedef enum MirOrientation | MirOrientation |
Direction relative to the "natural" orientation of the display. More... | |
typedef enum MirOrientationMode | MirOrientationMode |
typedef enum MirEdgeAttachment | MirEdgeAttachment |
typedef enum MirFormFactor | MirFormFactor |
Form factor associated with a physical output. More... | |
typedef struct MirCookie | MirCookie |
typedef struct MirMesaEGLNativeDisplay | MirMesaEGLNativeDisplay |
typedef struct MirMesaEGLNativeSurface | MirMesaEGLNativeSurface |
typedef struct MirBufferPackage | MirBufferPackage |
Functions | |
MirEventType | mir_event_get_type (MirEvent const *ev) |
MirInputEvent const * | mir_event_get_input_event (MirEvent const *ev) |
MirSurfaceEvent const * | mir_event_get_surface_event (MirEvent const *ev) |
MirResizeEvent const * | mir_event_get_resize_event (MirEvent const *ev) |
MirPromptSessionEvent const * | mir_event_get_prompt_session_event (MirEvent const *ev) |
MirOrientationEvent const * | mir_event_get_orientation_event (MirEvent const *ev) |
MirCloseSurfaceEvent const * | mir_event_get_close_surface_event (MirEvent const *ev) |
MirKeymapEvent const * | mir_event_get_keymap_event (MirEvent const *ev) |
MirInputConfigurationEvent const * | mir_event_get_input_configuration_event (MirEvent const *ev) |
MirSurfaceOutputEvent const * | mir_event_get_surface_output_event (MirEvent const *ev) |
Retrieve the MirSurfaceOutputEvent associated with a MirEvent of type mir_event_type_surface_output. More... | |
MirEvent const * | mir_event_ref (MirEvent const *ev) __attribute__((warn_unused_result)) |
void | mir_event_unref (MirEvent const *ev) |
MirInputDeviceId | mir_input_event_get_device_id (MirInputEvent const *ev) |
int64_t | mir_input_event_get_event_time (MirInputEvent const *ev) |
MirInputEventType | mir_input_event_get_type (MirInputEvent const *ev) |
MirKeyboardEvent const * | mir_input_event_get_keyboard_event (MirInputEvent const *ev) |
MirTouchEvent const * | mir_input_event_get_touch_event (MirInputEvent const *ev) |
MirPointerEvent const * | mir_input_event_get_pointer_event (MirInputEvent const *ev) |
MirKeyboardAction | mir_keyboard_event_action (MirKeyboardEvent const *event) |
Retrieve the action which triggered a given key event. More... | |
xkb_keysym_t | mir_keyboard_event_key_code (MirKeyboardEvent const *event) |
Retrieve the xkb mapped keycode associated with the key acted on. More... | |
int | mir_keyboard_event_scan_code (MirKeyboardEvent const *event) |
Retrieve the raw hardware scan code associated with the key acted on. More... | |
MirInputEventModifiers | mir_keyboard_event_modifiers (MirKeyboardEvent const *event) |
Retrieve the modifier keys pressed when the key action occured. More... | |
MirInputEvent const * | mir_keyboard_event_input_event (MirKeyboardEvent const *event) |
MirInputEventModifiers | mir_pointer_event_modifiers (MirPointerEvent const *event) |
Retrieve the modifier keys pressed when the pointer action occured. More... | |
MirPointerAction | mir_pointer_event_action (MirPointerEvent const *event) |
Retrieve the action which occured to generate a given pointer event. More... | |
bool | mir_pointer_event_button_state (MirPointerEvent const *event, MirPointerButton button) |
Retrieve the state of a given pointer button when the action occurred. More... | |
MirPointerButtons | mir_pointer_event_buttons (MirPointerEvent const *event) |
Retreive the pointer button state as a masked set of values. More... | |
float | mir_pointer_event_axis_value (MirPointerEvent const *event, MirPointerAxis axis) |
Retrieve the axis value reported by a given pointer event. More... | |
MirInputEvent const * | mir_pointer_event_input_event (MirPointerEvent const *event) |
MirInputEventModifiers | mir_touch_event_modifiers (MirTouchEvent const *event) |
Retrieve the modifier keys pressed when the touch action occured. More... | |
unsigned int | mir_touch_event_point_count (MirTouchEvent const *event) |
Retrieve the number of touches reported for a given touch event. More... | |
MirTouchId | mir_touch_event_id (MirTouchEvent const *event, size_t touch_index) |
Retrieve the TouchID for a touch at given index. More... | |
MirTouchAction | mir_touch_event_action (MirTouchEvent const *event, size_t touch_index) |
Retrieve the action which occured for a touch at given index. More... | |
MirTouchTooltype | mir_touch_event_tooltype (MirTouchEvent const *event, size_t touch_index) |
Retrieve the tooltype for touch at given index. More... | |
float | mir_touch_event_axis_value (MirTouchEvent const *event, size_t touch_index, MirTouchAxis axis) |
Retrieve the axis value for a given axis on an indexed touch. More... | |
MirInputEvent const * | mir_touch_event_input_event (MirTouchEvent const *event) |
MirInputConfigurationAction | mir_input_configuration_event_get_action (MirInputConfigurationEvent const *ev) |
int64_t | mir_input_configuration_event_get_time (MirInputConfigurationEvent const *ev) |
MirInputDeviceId | mir_input_configuration_event_get_device_id (MirInputConfigurationEvent const *ev) |
void | mir_keymap_event_get_rules (MirKeymapEvent const *ev, struct xkb_rule_names *names) |
MirOrientation | mir_orientation_event_get_direction (MirOrientationEvent const *ev) |
MirPromptSessionState | mir_prompt_session_event_get_state (MirPromptSessionEvent const *ev) |
int | mir_resize_event_get_width (MirResizeEvent const *ev) |
int | mir_resize_event_get_height (MirResizeEvent const *ev) |
MirSurfaceAttrib | mir_surface_event_get_attribute (MirSurfaceEvent const *ev) |
int | mir_surface_event_get_attribute_value (MirSurfaceEvent const *ev) |
int | mir_surface_output_event_get_dpi (MirSurfaceOutputEvent const *ev) |
Retrieve the DPI of the new output configuration of a MirSurfaceOutputEvent. More... | |
MirFormFactor | mir_surface_output_event_get_form_factor (MirSurfaceOutputEvent const *ev) |
Retrieve the form factor of the new output configuration of a MirSurfaceOutputEvent. More... | |
float | mir_surface_output_event_get_scale (MirSurfaceOutputEvent const *ev) |
Retrieve the form factor of the new output configuration of a MirSurfaceOutputEvent. More... | |
MirBlob * | mir_blob_from_display_configuration (MirDisplayConfiguration *configuration) |
Create a blob from a display configuration. More... | |
MirBlob * | mir_blob_onto_buffer (void const *buffer, size_t buffer_size) |
Create a blob from a buffer. More... | |
MirDisplayConfiguration * | mir_blob_to_display_configuration (MirBlob *blob) |
Create a blob from a display configuration. More... | |
size_t | mir_blob_size (MirBlob *blob) |
Get the size of a blob. More... | |
void const * | mir_blob_data (MirBlob *blob) |
Get the data of a blob. More... | |
void | mir_blob_release (MirBlob *blob) |
Release a blob object. More... | |
bool | mir_buffer_stream_is_valid (MirBufferStream *buffer_stream) |
Test for a valid buffer stream. More... | |
MirWaitHandle * | mir_connection_create_buffer_stream (MirConnection *connection, int width, int height, MirPixelFormat format, MirBufferUsage buffer_usage, mir_buffer_stream_callback callback, void *context) |
Create a new buffer stream. More... | |
MirBufferStream * | mir_connection_create_buffer_stream_sync (MirConnection *connection, int width, int height, MirPixelFormat format, MirBufferUsage buffer_usage) |
Create a new buffer stream unattached to a surface and wait for the result. More... | |
MirWaitHandle * | mir_buffer_stream_release (MirBufferStream *buffer_stream, mir_buffer_stream_callback callback, void *context) |
Release the supplied stream and any associated buffer. More... | |
void | mir_buffer_stream_release_sync (MirBufferStream *buffer_stream) |
Release the specified buffer stream like in mir,_buffer_stream_release(), but also wait for the operation to complete. More... | |
MirPlatformType | mir_buffer_stream_get_platform_type (MirBufferStream *stream) |
Get the underlying platform type so the buffer obtained in "raw" representation in mir_buffer_stream_get_current_buffer() may be understood. More... | |
void | mir_buffer_stream_get_current_buffer (MirBufferStream *buffer_stream, MirNativeBuffer **buffer_package) |
Retrieve the current buffer in "raw" representation. More... | |
MirWaitHandle * | mir_buffer_stream_swap_buffers (MirBufferStream *buffer_stream, mir_buffer_stream_callback callback, void *context) |
Advance a buffer stream's buffer. More... | |
void | mir_buffer_stream_swap_buffers_sync (MirBufferStream *buffer_stream) |
Advance a buffer stream's buffer as in mir_buffer stream_swap_buffers(), but also wait for the operation to complete. More... | |
void | mir_buffer_stream_get_graphics_region (MirBufferStream *buffer_stream, MirGraphicsRegion *graphics_region) |
Retrieve a buffer stream's graphics region, e.g. More... | |
MirEGLNativeWindowType | mir_buffer_stream_get_egl_native_window (MirBufferStream *buffer_stream) |
Retrieve a window type which may be used by EGL. More... | |
MirWaitHandle * | mir_buffer_stream_set_scale (MirBufferStream *stream, float scale) |
Set the scale associated with all buffers in the stream. More... | |
void | mir_buffer_stream_set_scale_sync (MirBufferStream *stream, float scale) |
Set the scale as in mir_buffer_stream_set_scale(), but also wait for the operation to complete. More... | |
MirWaitHandle * | mir_connect (char const *server, char const *app_name, mir_connected_callback callback, void *context) |
Request a connection to the Mir server. More... | |
MirConnection * | mir_connect_sync (char const *server, char const *app_name) |
Perform a mir_connect() but also wait for and return the result. More... | |
bool | mir_connection_is_valid (MirConnection *connection) |
Test for a valid connection. More... | |
char const * | mir_connection_get_error_message (MirConnection *connection) |
Retrieve a text description of the last error. More... | |
void | mir_connection_release (MirConnection *connection) |
Release a connection to the Mir server. More... | |
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. More... | |
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. More... | |
void | mir_connection_set_ping_event_callback (MirConnection *connection, mir_ping_event_callback callback, void *context) |
Register a callback for server ping events. More... | |
void | mir_connection_pong (MirConnection *connection, int32_t serial) |
Respond to a ping event. More... | |
MirDisplayConfiguration * | mir_connection_create_display_config (MirConnection *connection) |
Query the display. More... | |
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. More... | |
void | mir_display_config_destroy (MirDisplayConfiguration *display_configuration) |
Destroy the DisplayConfiguration resource acquired from mir_connection_create_display_config. More... | |
MirWaitHandle * | mir_connection_apply_display_config (MirConnection *connection, MirDisplayConfiguration *display_configuration) |
Apply the display configuration. More... | |
MirEGLNativeDisplayType | mir_connection_get_egl_native_display (MirConnection *connection) |
Get a display type that can be used for OpenGL ES 2.0 acceleration. More... | |
MirPixelFormat | mir_connection_get_egl_pixel_format (MirConnection *connection, void *egldisplay, void *eglconfig) |
Get the exact MirPixelFormat to use in creating a surface for a chosen EGLConfig. More... | |
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. More... | |
MirWaitHandle * | mir_connection_platform_operation (MirConnection *connection, MirPlatformMessage const *request, mir_platform_operation_callback callback, void *context) |
Perform a platform specific operation. More... | |
void | mir_cursor_configuration_destroy (MirCursorConfiguration *parameters) |
Release resources assosciated with cursor parameters. More... | |
MirCursorConfiguration * | mir_cursor_configuration_from_name (char const *name) |
Returns a new MirCursorConfiguration representing a named cursor from the system cursor theme. More... | |
MirCursorConfiguration * | mir_cursor_configuration_from_buffer_stream (MirBufferStream const *stream, int hotspot_x, int hotspot_y) |
Returns a new cursor configuration tied to a given buffer stream. More... | |
MirPlatformMessage * | mir_platform_message_create (unsigned int opcode) |
Create a platform message to use with mir_connection_platform_operation(). More... | |
void | mir_platform_message_release (MirPlatformMessage const *message) |
Release a platform message. More... | |
void | mir_platform_message_set_data (MirPlatformMessage *message, void const *data, size_t data_size) |
Set the data associated with a message. More... | |
void | mir_platform_message_set_fds (MirPlatformMessage *message, int const *fds, size_t num_fds) |
Sets the fds associated with a message. More... | |
unsigned int | mir_platform_message_get_opcode (MirPlatformMessage const *message) |
Get the opcode of a message. More... | |
MirPlatformMessageData | mir_platform_message_get_data (MirPlatformMessage const *message) |
Get the data associated with a message. More... | |
MirPlatformMessageFds | mir_platform_message_get_fds (MirPlatformMessage const *message) |
Gets the fds associated with a message. More... | |
MirPromptSession * | mir_connection_create_prompt_session_sync (MirConnection *connection, pid_t application_pid, mir_prompt_session_state_change_callback state_change_callback, void *context) |
Create and start a new prompt session. More... | |
MirWaitHandle * | mir_prompt_session_new_fds_for_prompt_providers (MirPromptSession *prompt_session, unsigned int no_of_fds, mir_client_fd_callback callback, void *context) |
Allocate some FDs for prompt providers to connect on. More... | |
void | mir_prompt_session_release_sync (MirPromptSession *prompt_session) |
Stop and release the specified prompt session. More... | |
bool | mir_prompt_session_is_valid (MirPromptSession *prompt_session) |
Test for a valid prompt session. More... | |
char const * | mir_prompt_session_error_message (MirPromptSession *prompt_session) |
Retrieve a text description of the last error. More... | |
MirScreencast * | mir_connection_create_screencast_sync (MirConnection *connection, MirScreencastParameters *parameters) |
Create a screencast on the supplied connection. More... | |
void | mir_screencast_release_sync (MirScreencast *screencast) |
Release the specified screencast. More... | |
MirBufferStream * | mir_screencast_get_buffer_stream (MirScreencast *screencast) |
Retrieve the MirBufferStream associated with a screencast (to advance buffers, obtain EGLNativeWindowType, etc...) More... | |
MirSurfaceSpec * | mir_connection_create_spec_for_normal_surface (MirConnection *connection, int width, int height, MirPixelFormat format) |
Create a surface specification for a normal surface. More... | |
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. More... | |
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. More... | |
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. More... | |
MirSurfaceSpec * | mir_connection_create_spec_for_dialog (MirConnection *connection, int width, int height, MirPixelFormat format) |
Create a surface specification for a parentless dialog surface. More... | |
MirSurfaceSpec * | mir_create_surface_spec (MirConnection *connection) |
Create a surface specification. More... | |
MirSurfaceSpec * | mir_connection_create_spec_for_changes (MirConnection *connection) |
Create a surface specification for updating a surface. More... | |
MirWaitHandle * | mir_surface_create (MirSurfaceSpec *requested_specification, mir_surface_callback callback, void *context) |
Create a surface from a given specification. More... | |
MirSurface * | mir_surface_create_sync (MirSurfaceSpec *requested_specification) |
Create a surface from a given specification and wait for the result. More... | |
void | mir_surface_spec_set_parent (MirSurfaceSpec *spec, MirSurface *parent) |
Set the requested parent. More... | |
void | mir_surface_spec_set_type (MirSurfaceSpec *spec, MirSurfaceType type) |
Update a surface specification with a surface type. More... | |
void | mir_surface_spec_set_name (MirSurfaceSpec *spec, char const *name) |
Set the requested name. More... | |
void | mir_surface_spec_set_width (MirSurfaceSpec *spec, unsigned width) |
Set the requested width, in pixels. More... | |
void | mir_surface_spec_set_height (MirSurfaceSpec *spec, unsigned height) |
Set the requested height, in pixels. More... | |
void | mir_surface_spec_set_width_increment (MirSurfaceSpec *spec, unsigned width_inc) |
Set the requested width increment, in pixels. More... | |
void | mir_surface_spec_set_height_increment (MirSurfaceSpec *spec, unsigned height_inc) |
Set the requested height increment, in pixels Defines an arithmetic progression of sizes starting with min_height (if set, otherwise 0) into which the surface prefers to be resized. More... | |
void | mir_surface_spec_set_min_width (MirSurfaceSpec *spec, unsigned min_width) |
Set the minimum width, in pixels. More... | |
void | mir_surface_spec_set_min_height (MirSurfaceSpec *spec, unsigned min_height) |
Set the minimum height, in pixels. More... | |
void | mir_surface_spec_set_max_width (MirSurfaceSpec *spec, unsigned max_width) |
Set the maximum width, in pixels. More... | |
void | mir_surface_spec_set_max_height (MirSurfaceSpec *spec, unsigned max_height) |
Set the maximum height, in pixels. More... | |
void | mir_surface_spec_set_min_aspect_ratio (MirSurfaceSpec *spec, unsigned width, unsigned height) |
Set the minimum aspect ratio. More... | |
void | mir_surface_spec_set_max_aspect_ratio (MirSurfaceSpec *spec, unsigned width, unsigned height) |
Set the maximum aspect ratio. More... | |
void | mir_surface_spec_set_pixel_format (MirSurfaceSpec *spec, MirPixelFormat format) |
Set the requested pixel format. More... | |
void | mir_surface_spec_set_buffer_usage (MirSurfaceSpec *spec, MirBufferUsage usage) |
Set the requested buffer usage. More... | |
void | mir_surface_spec_set_fullscreen_on_output (MirSurfaceSpec *spec, uint32_t output_id) |
void | mir_surface_spec_set_preferred_orientation (MirSurfaceSpec *spec, MirOrientationMode mode) |
Set the requested preferred orientation mode. More... | |
bool | mir_surface_spec_attach_to_foreign_parent (MirSurfaceSpec *spec, MirPersistentId *parent, MirRectangle *attachment_rect, MirEdgeAttachment edge) |
Request that the created surface be attached to a surface of a different client. More... | |
void | mir_surface_spec_set_state (MirSurfaceSpec *spec, MirSurfaceState state) |
Set the requested state. More... | |
void | mir_surface_spec_release (MirSurfaceSpec *spec) |
Release the resources held by a MirSurfaceSpec. More... | |
void | mir_surface_spec_set_streams (MirSurfaceSpec *spec, MirBufferStreamInfo *streams, unsigned int num_streams) |
Set the streams associated with the spec. More... | |
void | mir_surface_spec_set_input_shape (MirSurfaceSpec *spec, MirRectangle const *rectangles, size_t n_rects) |
Set a collection of input rectangles assosciated with the spec. More... | |
void | mir_surface_spec_set_event_handler (MirSurfaceSpec *spec, mir_surface_event_callback callback, void *context) |
void | mir_surface_set_event_handler (MirSurface *surface, mir_surface_event_callback callback, void *context) |
Set the event handler to be called when events arrive for a surface. More... | |
MirBufferStream * | mir_surface_get_buffer_stream (MirSurface *surface) |
Retrieve the primary MirBufferStream associated with a surface (to advance buffers, obtain EGLNativeWindow, etc...) More... | |
bool | mir_surface_is_valid (MirSurface *surface) |
Test for a valid surface. More... | |
char const * | mir_surface_get_error_message (MirSurface *surface) |
Retrieve a text description of the error. More... | |
void | mir_surface_get_parameters (MirSurface *surface, MirSurfaceParameters *parameters) |
Get a surface's parameters. More... | |
MirWaitHandle * | mir_surface_release (MirSurface *surface, mir_surface_callback callback, void *context) |
Release the supplied surface and any associated buffer. More... | |
void | mir_surface_release_sync (MirSurface *surface) |
Release the specified surface like in mir_surface_release(), but also wait for the operation to complete. More... | |
MirSurfaceType | mir_surface_get_type (MirSurface *surface) |
Get the type (purpose) of a surface. More... | |
MirWaitHandle * | mir_surface_set_state (MirSurface *surface, MirSurfaceState state) |
Change the state of a surface. More... | |
MirSurfaceState | mir_surface_get_state (MirSurface *surface) |
Get the current state of a surface. More... | |
MirWaitHandle * | mir_surface_set_swapinterval (MirSurface *surface, int interval) |
Set the swapinterval for mir_surface_swap_buffers. More... | |
int | mir_surface_get_swapinterval (MirSurface *surface) |
Query the swapinterval that the surface is operating with. More... | |
int | mir_surface_get_dpi (MirSurface *surface) |
Query the DPI value of the surface (dots per inch). More... | |
MirSurfaceFocusState | mir_surface_get_focus (MirSurface *surface) |
Query the focus state for a surface. More... | |
MirSurfaceVisibility | mir_surface_get_visibility (MirSurface *surface) |
Query the visibility state for a surface. More... | |
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. More... | |
MirOrientation | mir_surface_get_orientation (MirSurface *surface) |
Get the orientation of a surface. More... | |
MirWaitHandle * | mir_surface_set_preferred_orientation (MirSurface *surface, MirOrientationMode orientation) |
Request to set the preferred orientations of a surface. More... | |
MirOrientationMode | mir_surface_get_preferred_orientation (MirSurface *surface) |
Get the preferred orientation modes of a surface. More... | |
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. More... | |
void | mir_surface_apply_spec (MirSurface *surface, MirSurfaceSpec *spec) |
Request changes to the specification of a surface. More... | |
MirWaitHandle * | mir_surface_request_persistent_id (MirSurface *surface, mir_surface_id_callback callback, void *context) |
Request an ID for the surface that can be shared cross-process and across restarts. More... | |
MirPersistentId * | mir_surface_request_persistent_id_sync (MirSurface *surface) |
Request a persistent ID for a surface and wait for the result. More... | |
bool | mir_persistent_id_is_valid (MirPersistentId *id) |
Check the validity of a MirPersistentId. More... | |
void | mir_persistent_id_release (MirPersistentId *id) |
Free a MirPersistentId. More... | |
char const * | mir_persistent_id_as_string (MirPersistentId *id) |
Get a string representation of a MirSurfaceId. More... | |
MirPersistentId * | mir_persistent_id_from_string (char const *string_representation) |
Deserialise a string representation of a MirSurfaceId. More... | |
void | mir_wait_for (MirWaitHandle *wait_handle) |
Wait on the supplied handle until all instances of the associated request have completed. More... | |
void | mir_wait_for_one (MirWaitHandle *wait_handle) |
Wait on the supplied handle until one instance of the associated request has completed. More... | |
Variables | |
char const *const | mir_default_cursor_name |
A special cursor name for use with mir_cursor_configuration_from_name representing the system default cursor. More... | |
char const *const | mir_disabled_cursor_name |
A special cursor name for use with mir_cursor_configuration_from_name representing a disabled cursor image. More... | |
char const *const | mir_arrow_cursor_name |
The standard arrow cursor (typically the system default) More... | |
char const *const | mir_busy_cursor_name |
The "wait" cursor, typically an hourglass or watch used during operations which prevent the user from interacting. More... | |
char const *const | mir_caret_cursor_name |
The caret or ibeam cursor, indicating acceptance of text input. More... | |
char const *const | mir_pointing_hand_cursor_name |
The pointing hand cursor, typically used for clickable elements such as hyperlinks. More... | |
char const *const | mir_open_hand_cursor_name |
The open handed cursor, typically used to indicate that the area beneath the cursor may be clicked and dragged around. More... | |
char const *const | mir_closed_hand_cursor_name |
The close handed cursor, typically used to indicate that a drag operation is in process which involves scrolling. More... | |
char const *const | mir_horizontal_resize_cursor_name |
The cursor used to indicate a horizontal resize operation. More... | |
char const *const | mir_vertical_resize_cursor_name |
The cursor used to indicate a vertical resize operation. More... | |
char const *const | mir_diagonal_resize_bottom_to_top_cursor_name |
The cursor used to indicate diagonal resize from top-right and bottom-left corners. More... | |
char const *const | mir_diagonal_resize_top_to_bottom_cursor_name |
The cursor used to indicate diagonal resize from bottom-left and top-right corners. More... | |
char const *const | mir_omnidirectional_resize_cursor_name |
The cursor used to indicate resize with no directional constraint. More... | |
char const *const | mir_vsplit_resize_cursor_name |
The cursor used for vertical splitters, indicating that a handle may be dragged to adjust vertical space. More... | |
char const *const | mir_hsplit_resize_cursor_name |
The cursor used for horizontal splitters, indicating that a handle may be dragged to adjust horizontal space. More... | |
char const *const | mir_crosshair_cursor_name |
The cursor used for crosshair, which may be used for picking colors or finer precision. More... | |
#define MIR_BYTES_PER_PIXEL | ( | f | ) |
#define MIR_CLIENT_MAJOR_VERSION (3) |
MIR_CLIENT_MAJOR_VERSION.
The major client API version. This will increase once per API incompatible release.
See also: http://semver.org/
#define MIR_CLIENT_MICRO_VERSION (0) |
MIR_CLIENT_MICRO_VERSION.
The micro client API version. This will increment each release. This is usually uninteresting for client code, but may be of use in selecting whether to use a feature that has previously been buggy.
This corresponds to the PATCH field of http://semver.org/
#define MIR_CLIENT_MINOR_VERSION (1) |
MIR_CLIENT_MINOR_VERSION.
The minor client API version. This will increase each time new backwards-compatible API is added, and will reset to 0 each time MIR_CLIENT_MAJOR_VERSION is incremented.
See also: http://semver.org/
#define MIR_CLIENT_VERSION |
MIR_CLIENT_VERSION.
The current version of the Mir client headers in use.
#define MIR_INPUT_EVENT_MAX_POINTER_COUNT 16 |
typedef void(* mir_buffer_stream_callback) (MirBufferStream *stream, void *client_context) |
Callback to be passed when calling:
[in] | stream | the buffer stream being updated |
[in,out] | client_context | context provided by client in calling mir_connect |
typedef 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.
[in] | prompt_session | The prompt session |
[in] | count | The number of FDs allocated |
[in] | fds | Array of FDs |
[in,out] | context | The context provided by client |
typedef void(* mir_connected_callback) (MirConnection *connection, void *client_context) |
Callback to be passed when issuing a mir_connect request.
[in] | connection | the new connection |
[in,out] | client_context | context provided by client in calling mir_connect |
typedef void(* mir_display_config_callback) (MirConnection *connection, void *context) |
Callback called when a display config change has occurred.
[in] | connection | The connection associated with the display change |
[in,out] | context | The context provided by client |
typedef void(* mir_lifecycle_event_callback) (MirConnection *connection, MirLifecycleState state, void *context) |
Callback called when a lifecycle event/callback is requested from the running server.
[in] | connection | The connection associated with the lifecycle event |
[in] | cb | The callback requested |
[in,out] | context | The context provided by the client |
typedef void(* mir_ping_event_callback) (MirConnection *connection, int32_t serial, void *context) |
Callback called when the server pings for responsiveness testing.
[in] | connection | The connection associated with this ping |
[in] | serial | Identifier of this ping, to be passed to mir_connection_pong() |
[in,out] | context | The context provided by the client |
typedef void(* mir_platform_operation_callback) (MirConnection *connection, MirPlatformMessage *reply, void *context) |
Callback called when a platform operation completes.
[in] | connection | The connection associated with the platform operation |
[in] | reply | The platform operation reply |
[in,out] | context | The context provided by the client |
typedef void(* mir_prompt_session_callback) (MirPromptSession *prompt_provider, void *context) |
Callback member of MirPromptSession for handling of prompt sessions.
[in] | prompt_provider | The prompt session associated with the callback |
[in,out] | context | The context provided by the client |
typedef void(* mir_prompt_session_state_change_callback) (MirPromptSession *prompt_provider, MirPromptSessionState state, void *context) |
Callback member of MirPromptSession for handling of prompt sessions events.
[in] | prompt_provider | The prompt session associated with the callback |
[in] | state | The state of the prompt session |
[in,out] | context | The context provided by the client |
typedef void(* mir_screencast_callback) (MirScreencast *screencast, void *client_context) |
Callback to be passed when calling MirScreencast functions.
[in] | screencast | the screencast being updated |
[in,out] | client_context | context provided by the client |
typedef void(* mir_surface_callback) (MirSurface *surface, void *client_context) |
Callback to be passed when calling:
[in] | surface | the surface being updated |
[in,out] | client_context | context provided by client in calling mir_connect |
typedef void(* mir_surface_event_callback) (MirSurface *surface, MirEvent const *event, void *context) |
Callback for handling of surface events.
[in] | surface | The surface on which an event has occurred |
[in] | event | The event to be handled |
[in,out] | context | The context provided by client |
typedef void(* mir_surface_id_callback) (MirSurface *surface, MirPersistentId *id, void *context) |
typedef struct MirBlob MirBlob |
typedef struct MirBufferPackage MirBufferPackage |
typedef struct MirBufferStream MirBufferStream |
typedef struct MirBufferStreamInfo MirBufferStreamInfo |
The displacement from the top-left corner of the surface.
typedef enum MirBufferUsage MirBufferUsage |
MirBufferUsage specifies how a surface can and will be used.
A "hardware" surface can be used for OpenGL accelerated rendering. A "software" surface is one that can be addressed in main memory and blitted to directly.
typedef struct MirCloseSurfaceEvent MirCloseSurfaceEvent |
typedef struct MirConnection MirConnection |
typedef struct MirDisplayCard MirDisplayCard |
MirDisplayConfiguration provides details of the graphics environment.
typedef struct MirDisplayConfiguration MirDisplayConfiguration |
typedef struct MirDisplayInfo MirDisplayInfo |
typedef struct MirDisplayMode MirDisplayMode |
typedef struct MirDisplayOutput MirDisplayOutput |
typedef enum MirDisplayOutputType MirDisplayOutputType |
typedef enum MirEdgeAttachment MirEdgeAttachment |
typedef void* MirEGLNativeDisplayType |
typedef void* MirEGLNativeWindowType |
typedef enum MirFormFactor MirFormFactor |
Form factor associated with a physical output.
typedef struct MirGraphicsRegion MirGraphicsRegion |
Retrieved information about a MirSurface.
This is most useful for learning how and where to write to a 'mir_buffer_usage_software' surface.
typedef struct MirInputConfigurationEvent MirInputConfigurationEvent |
typedef int64_t MirInputDeviceId |
typedef struct MirInputEvent MirInputEvent |
typedef unsigned int MirInputEventModifiers |
typedef struct MirKeyboardEvent MirKeyboardEvent |
An event type describing a change in keyboard state.
Apology #1: The name "MirKeyboardEvent" is used instead of "MirKeyEvent" because the latter still exists in the old Mir event API.
Apology #2: Keyboard events almost always come from a keyboard, except they can also come from system buttons (power, volume, home). This is an issue we've inherited from the Linux kernel and Android, but could be solved in future by giving such system switch events their own input group such as MirSwitchEvent.
typedef struct MirKeymapEvent MirKeymapEvent |
typedef enum MirLifecycleState MirLifecycleState |
typedef struct MirMesaEGLNativeDisplay MirMesaEGLNativeDisplay |
typedef struct MirMesaEGLNativeSurface MirMesaEGLNativeSurface |
typedef enum MirOrientation MirOrientation |
Direction relative to the "natural" orientation of the display.
typedef struct MirOrientationEvent MirOrientationEvent |
typedef enum MirOrientationMode MirOrientationMode |
typedef struct MirPersistentId MirPersistentId |
typedef enum MirPixelFormat MirPixelFormat |
32-bit pixel formats (8888): The order of components in the enum matches the order of the components as they would be written in an integer representing a pixel value of that format.
For example; abgr_8888 should be coded as 0xAABBGGRR, which will end up as R,G,B,A in memory on a little endian system, and as A,B,G,R on a big endian system.
24-bit pixel formats (888): These are in literal byte order, regardless of CPU architecture it's always the same. Writing these 3-byte pixels is typically slower than other formats but uses less memory than 32-bit and is endian-independent.
16-bit pixel formats (565/5551/4444): Always interpreted as one 16-bit integer per pixel with components in high-to-low bit order following the format name. These are the fastest formats, however colour quality is visibly lower.
typedef struct MirPlatformMessage MirPlatformMessage |
typedef struct MirPlatformPackage MirPlatformPackage |
typedef enum MirPlatformType MirPlatformType |
The native buffer type for the system the client is connected on.
typedef unsigned int MirPointerButtons |
typedef struct MirPointerEvent MirPointerEvent |
An event type describing a change in pointer device state.
typedef enum MirPowerMode MirPowerMode |
typedef struct MirPromptSession MirPromptSession |
typedef struct MirPromptSessionEvent MirPromptSessionEvent |
typedef enum MirPromptSessionState MirPromptSessionState |
typedef struct MirRectangle MirRectangle |
typedef struct MirResizeEvent MirResizeEvent |
typedef struct MirScreencast MirScreencast |
typedef struct MirScreencastParameters MirScreencastParameters |
MirScreencastParameters is the structure of required information that you must provide to Mir in order to create a MirScreencast.
The width and height parameters can be used to down-scale the screencast For no scaling set them to the region width and height.
typedef struct MirSurface MirSurface |
typedef enum MirSurfaceAttrib MirSurfaceAttrib |
Attributes of a surface that the client and server/shell may wish to get or set over the wire.
typedef struct MirSurfaceEvent MirSurfaceEvent |
typedef enum MirSurfaceFocusState MirSurfaceFocusState |
typedef struct MirSurfaceOutputEvent MirSurfaceOutputEvent |
typedef struct MirSurfaceParameters MirSurfaceParameters |
MirSurfaceParameters is the structure of minimum required information that you must provide to Mir in order to create a surface.
typedef struct MirSurfaceSpec MirSurfaceSpec |
typedef enum MirSurfaceState MirSurfaceState |
typedef enum MirSurfaceType MirSurfaceType |
typedef enum MirSurfaceVisibility MirSurfaceVisibility |
typedef struct MirTouchEvent MirTouchEvent |
An event type describing a change in touch device state.
typedef int32_t MirTouchId |
An identifier for a touch-point.
TouchId's are unique per-gesture. That is to say, once a touch has gone down at time T, no other touch will use that touch's ID until all touches at time T have come up.
typedef struct MirWaitHandle MirWaitHandle |
Returned by asynchronous functions.
Must not be free'd by callers. See the individual function documentation for information on the lifetime of wait handles.
anonymous enum |
enum MirBufferUsage |
enum MirDisplayOutputType |
enum MirEdgeAttachment |
enum MirEventType |
enum MirFormFactor |
MirInputConfigurationEvent indicates a configuration change in the input device subsystem. Eventually it's usage will be required to properly interpret MirInputEvent, for example: If we receive a button down, and then a device reset, we should not expect to receive the button up.
Another example, the maximum/minimum axis values for a device may have been reconfigured and need to be required.
Of course as things stand there is no client input-device introspection API so these events are difficult to use.
Enumerator | |
---|---|
mir_input_configuration_action_configuration_changed | |
mir_input_configuration_action_device_reset |
Description of key modifier state.
enum MirInputEventType |
enum MirKeyboardAction |
enum MirLifecycleState |
enum MirOrientation |
enum MirOrientationMode |
enum MirPixelFormat |
32-bit pixel formats (8888): The order of components in the enum matches the order of the components as they would be written in an integer representing a pixel value of that format.
For example; abgr_8888 should be coded as 0xAABBGGRR, which will end up as R,G,B,A in memory on a little endian system, and as A,B,G,R on a big endian system.
24-bit pixel formats (888): These are in literal byte order, regardless of CPU architecture it's always the same. Writing these 3-byte pixels is typically slower than other formats but uses less memory than 32-bit and is endian-independent.
16-bit pixel formats (565/5551/4444): Always interpreted as one 16-bit integer per pixel with components in high-to-low bit order following the format name. These are the fastest formats, however colour quality is visibly lower.
enum MirPlatformType |
enum MirPointerAction |
enum MirPointerAxis |
enum MirPointerButton |
enum MirPowerMode |
enum MirSurfaceAttrib |
Attributes of a surface that the client and server/shell may wish to get or set over the wire.
enum MirSurfaceFocusState |
enum MirSurfaceState |
enum MirSurfaceType |
Enumerator | |
---|---|
mir_surface_type_normal |
AKA "regular". |
mir_surface_type_utility |
AKA "floating". |
mir_surface_type_dialog | |
mir_surface_type_overlay |
|
mir_surface_type_gloss | |
mir_surface_type_freestyle | |
mir_surface_type_popover |
|
mir_surface_type_menu | |
mir_surface_type_inputmethod |
AKA "OSK" or handwriting etc. |
mir_surface_type_satellite |
AKA "toolbox"/"toolbar". |
mir_surface_type_tip |
AKA "tooltip". |
mir_surface_types |
enum MirSurfaceVisibility |
enum MirTouchAction |
enum MirTouchAxis |
enum MirTouchTooltype |
void const* mir_blob_data | ( | MirBlob * | blob | ) |
Get the data of a blob.
[in] | blob | The blob |
MirBlob* mir_blob_from_display_configuration | ( | MirDisplayConfiguration * | configuration | ) |
Create a blob from a display configuration.
[in] | configuration | The display configuration |
MirBlob* mir_blob_onto_buffer | ( | void const * | buffer, |
size_t | buffer_size | ||
) |
Create a blob from a buffer.
[in] | buffer | the buffer |
[in] | buffer_size | the buffer size |
void mir_blob_release | ( | MirBlob * | blob | ) |
Release a blob object.
[in] | blob | The blob |
size_t mir_blob_size | ( | MirBlob * | blob | ) |
Get the size of a blob.
[in] | blob | The blob |
MirDisplayConfiguration* mir_blob_to_display_configuration | ( | MirBlob * | blob | ) |
Create a blob from a display configuration.
[in] | blob | The blob |
void mir_buffer_stream_get_current_buffer | ( | MirBufferStream * | buffer_stream, |
MirNativeBuffer ** | buffer_package | ||
) |
Retrieve the current buffer in "raw" representation.
[in] | surface | The buffer stream |
[out] | buffer_package | Structure to be populated |
MirEGLNativeWindowType mir_buffer_stream_get_egl_native_window | ( | MirBufferStream * | buffer_stream | ) |
Retrieve a window type which may be used by EGL.
[in] | buffer_stream | The buffer stream |
void mir_buffer_stream_get_graphics_region | ( | MirBufferStream * | buffer_stream, |
MirGraphicsRegion * | graphics_region | ||
) |
Retrieve a buffer stream's graphics region, e.g.
map the graphics buffer to main memory.
[in] | buffer | stream The buffer stream |
[out] | graphics_region | Structure to be populated |
MirPlatformType mir_buffer_stream_get_platform_type | ( | MirBufferStream * | stream | ) |
Get the underlying platform type so the buffer obtained in "raw" representation in mir_buffer_stream_get_current_buffer() may be understood.
[in] | surface | The surface |
bool mir_buffer_stream_is_valid | ( | MirBufferStream * | buffer_stream | ) |
Test for a valid buffer stream.
[in] | buffer_stream | The buffer stream |
MirWaitHandle* mir_buffer_stream_release | ( | MirBufferStream * | buffer_stream, |
mir_buffer_stream_callback | callback, | ||
void * | context | ||
) |
Release the supplied stream and any associated buffer.
The returned wait handle remains valid until the connection to the server is released.
[in] | stream | The stream |
[in] | callback | Callback function to be invoked when the request completes |
[in,out] | context | User data passed to the callback function |
void mir_buffer_stream_release_sync | ( | MirBufferStream * | buffer_stream | ) |
Release the specified buffer stream like in mir,_buffer_stream_release(), but also wait for the operation to complete.
[in] | buffer | stream The buffer stream to be released |
MirWaitHandle* mir_buffer_stream_set_scale | ( | MirBufferStream * | stream, |
float | scale | ||
) |
Set the scale associated with all buffers in the stream.
[in] | buffer_stream | The buffer stream |
[in] | scale | The scale |
void mir_buffer_stream_set_scale_sync | ( | MirBufferStream * | stream, |
float | scale | ||
) |
Set the scale as in mir_buffer_stream_set_scale(), but also wait for the operation to complete.
[in] | buffer_stream | The buffer stream |
[in] | scale | The scale |
MirWaitHandle* mir_buffer_stream_swap_buffers | ( | MirBufferStream * | buffer_stream, |
mir_buffer_stream_callback | callback, | ||
void * | context | ||
) |
Advance a buffer stream's buffer.
The returned handle remains valid until the next call to mir_buffer_stream_swap_buffers, until the buffer stream has been released or the connection to the server has been released.
[in] | buffer_stream | The buffer stream |
[in] | callback | Callback function to be invoked when the request completes |
[in,out] | context | User data passed to the callback function |
void mir_buffer_stream_swap_buffers_sync | ( | MirBufferStream * | buffer_stream | ) |
Advance a buffer stream's buffer as in mir_buffer stream_swap_buffers(), but also wait for the operation to complete.
[in] | buffer | stream The buffer stream whose buffer to advance |
MirWaitHandle* mir_connect | ( | char const * | server, |
char const * | app_name, | ||
mir_connected_callback | callback, | ||
void * | context | ||
) |
Request a connection to the Mir server.
The supplied callback is called when the connection is established, or fails. The returned wait handle remains valid until the connection has been released.
[in] | server | File path of the server socket to connect to, or NULL to choose the default server (can be set by the $MIR_SOCKET environment variable) |
[in] | app_name | A name referring to the application |
[in] | callback | Callback function to be invoked when request completes |
[in,out] | context | User data passed to the callback function |
MirConnection* mir_connect_sync | ( | char const * | server, |
char const * | app_name | ||
) |
Perform a mir_connect() but also wait for and return the result.
[in] | server | File path of the server socket to connect to, or NULL to choose the default server |
[in] | app_name | A name referring to the application |
MirWaitHandle* mir_connection_apply_display_config | ( | MirConnection * | connection, |
MirDisplayConfiguration * | display_configuration | ||
) |
Apply the display configuration.
The display configuration is applied to this connection only (per-connection configuration) and is invalidated when a hardware change occurs. Clients should register a callback with mir_connection_set_display_config_change_callback() to get notified about hardware changes, so that the can apply a new configuration.
[in] | connection | The connection |
[in] | display_configuration | The display_configuration to apply |
MirWaitHandle* mir_connection_create_buffer_stream | ( | MirConnection * | connection, |
int | width, | ||
int | height, | ||
MirPixelFormat | format, | ||
MirBufferUsage | buffer_usage, | ||
mir_buffer_stream_callback | callback, | ||
void * | context | ||
) |
Create a new buffer stream.
For example, the resulting buffer stream may be used with mir_cursor_configuration_from_buffer_stream, in order to post images to the system cursor.
[in] | connection | A valid connection |
[in] | width | Requested buffer width |
[in] | height | Requested buffer height |
[in] | buffer_usage | Requested buffer usage, use mir_buffer_usage_software for cursor image streams |
[in] | callback | Callback to be invoked when the request completes |
[in] | context | Userdata to pass to callback function |
MirBufferStream* mir_connection_create_buffer_stream_sync | ( | MirConnection * | connection, |
int | width, | ||
int | height, | ||
MirPixelFormat | format, | ||
MirBufferUsage | buffer_usage | ||
) |
Create a new buffer stream unattached to a surface and wait for the result.
The resulting buffer stream may be used with mir_cursor_configuration_from_buffer_stream in order to post images to the system cursor.
[in] | connection | A valid connection |
[in] | width | Requested buffer width |
[in] | height | Requested buffer height |
[in] | buffer_usage | Requested buffer usage, use mir_buffer_usage_software for cursor image streams |
MirDisplayConfiguration* mir_connection_create_display_config | ( | MirConnection * | connection | ) |
Query the display.
[in] | connection | The connection |
MirPromptSession* mir_connection_create_prompt_session_sync | ( | MirConnection * | connection, |
pid_t | application_pid, | ||
mir_prompt_session_state_change_callback | state_change_callback, | ||
void * | context | ||
) |
Create and start a new prompt session.
[in] | connection | The connection |
[in] | application_pid | The process id of the initiating application |
[in] | state_change_callback | The function to be called when a prompt session state change occurs |
[in,out] | context | User data passed to the callback functions |
MirScreencast* mir_connection_create_screencast_sync | ( | MirConnection * | connection, |
MirScreencastParameters * | parameters | ||
) |
Create a screencast on the supplied connection.
A screencast allows clients to read the contents of the screen.
[in] | connection | The connection |
[in] | parameters | The screencast parameters |
MirSurfaceSpec* mir_connection_create_spec_for_changes | ( | MirConnection * | connection | ) |
Create a surface specification for updating a surface.
This can be applied to one or more target surfaces using mir_surface_apply_spec(...).
[in] | connection | a valid mir connection |
MirSurfaceSpec* mir_connection_create_spec_for_dialog | ( | MirConnection * | connection, |
int | width, | ||
int | height, | ||
MirPixelFormat | format | ||
) |
Create a surface specification for a parentless dialog surface.
A parentless dialog surface is similar to a normal surface, but it cannot be fullscreen and typically won't have any maximize/close button decorations.
A parentless dialog is not allowed to have other dialog children. The server may decide to close the parent and show the child dialog only.
[in] | connection | Connection the surface will be created on |
[in] | width | Requested width. The server is not guaranteed to return a surface of this width. |
[in] | height | Requested height. The server is not guaranteed to return a surface of this height. |
[in] | format | Pixel format for the surface. |
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.
Currently this is only appropriate for the Unity On-Screen-Keyboard.
[in] | connection | Connection the surface will be created on |
[in] | width | Requested width. The server is not guaranteed to return a surface of this width. |
[in] | height | Requested height. The server is not guaranteed to return a surface of this height. |
[in] | format | Pixel format for the surface. |
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.
Positioning of the surface is specified with respect to the parent surface via an adjacency rectangle. The server will attempt to choose an edge of the adjacency rectangle on which to place the surface taking in to account screen-edge proximity or similar constraints. In addition, the server can use the edge affinity hint to consider only horizontal or only vertical adjacency edges in the given rectangle.
[in] | connection | Connection the surface will be created on |
[in] | width | Requested width. The server is not guaranteed to return a surface of this width. |
[in] | height | Requested height. The server is not guaranteed to return a surface of this height. |
[in] | format | Pixel format for the surface. |
[in] | parent | A valid parent surface for this menu. |
[in] | rect | The adjacency rectangle. The server is not guaranteed to create a surface at the requested location. |
[in] | edge | The preferred edge direction to attach to. Use mir_edge_attachment_any for no preference. |
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.
The dialog surface will have input focus; the parent can still be moved, resized or hidden/minimized but no interaction is possible until the dialog is dismissed.
A dialog will typically have no close/maximize button decorations.
During surface creation, if the specified parent is another dialog surface the server may choose to close the specified parent in order to show this new dialog surface.
[in] | connection | Connection the surface will be created on |
[in] | width | Requested width. The server is not guaranteed to return a surface of this width. |
[in] | height | Requested height. The server is not guaranteed to return a surface of this height. |
[in] | format | Pixel format for the surface. |
[in] | parent | A valid parent surface. |
MirSurfaceSpec* mir_connection_create_spec_for_normal_surface | ( | MirConnection * | connection, |
int | width, | ||
int | height, | ||
MirPixelFormat | format | ||
) |
Create a surface specification for a normal surface.
A normal surface is suitable for most application windows. It has no special semantics. On a desktop shell it will typically have a title-bar, be movable, resizeable, etc.
[in] | connection | Connection the surface will be created on |
[in] | width | Requested width. The server is not guaranteed to return a surface of this width. |
[in] | height | Requested height. The server is not guaranteed to return a surface of this height. |
[in] | format | Pixel format for the surface. |
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.
A tooltip surface becomes visible when the pointer hovers the specified target zone. A tooltip surface has no input focus and will be closed when the pointer moves out of the target zone or the parent closes, moves or hides
The tooltip parent cannot be another tooltip surface.
The tooltip position is decided by the server but typically it will appear near the pointer.
[in] | connection | Connection the surface will be created on |
[in] | width | Requested width. The server is not guaranteed to return a surface of this width. |
[in] | height | Requested height. The server is not guaranteed to return a surface of this height. |
[in] | format | Pixel format for the surface. |
[in] | parent | A valid parent surface for this tooltip. |
[in] | rect | A target zone relative to parent. |
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.
[in] | connection | The connection |
[out] | formats | List of valid formats to create surfaces with |
[in] | formats_size | size of formats list |
[out] | num_valid_formats | number of valid formats returned in formats |
MirEGLNativeDisplayType mir_connection_get_egl_native_display | ( | MirConnection * | connection | ) |
Get a display type that can be used for OpenGL ES 2.0 acceleration.
[in] | connection | The connection |
MirPixelFormat mir_connection_get_egl_pixel_format | ( | MirConnection * | connection, |
void * | egldisplay, | ||
void * | eglconfig | ||
) |
Get the exact MirPixelFormat to use in creating a surface for a chosen EGLConfig.
[in] | connection | The connection |
[in] | egldisplay | The EGLDisplay for the given config |
[in] | eglconfig | The EGLConfig you have chosen to use |
char const* mir_connection_get_error_message | ( | MirConnection * | connection | ) |
Retrieve a text description of the last error.
The returned string is owned by the library and remains valid until the connection has been released.
[in] | connection | The connection |
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.
[in] | connection | The connection |
[out] | platform_package | Structure to be populated |
bool mir_connection_is_valid | ( | MirConnection * | connection | ) |
Test for a valid connection.
[in] | connection | The connection |
MirWaitHandle* mir_connection_platform_operation | ( | MirConnection * | connection, |
MirPlatformMessage const * | request, | ||
mir_platform_operation_callback | callback, | ||
void * | context | ||
) |
Perform a platform specific operation.
The MirPlatformMessage used for the request needs to remain valid until this operation finishes.
[in] | connection | The connection |
[in] | request | The message used for this operation |
[in] | callback | The callback to call when the operation finishes |
[in,out] | context | User data passed to the callback function |
void mir_connection_pong | ( | MirConnection * | connection, |
int32_t | serial | ||
) |
Respond to a ping event.
[in] | connection | The connection |
[in] | serial | Serial from the ping event |
void mir_connection_release | ( | MirConnection * | connection | ) |
Release a connection to the Mir server.
[in] | connection | The connection |
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.
Once a change has occurred, you can use mir_connection_create_display_config to see the new configuration.
[in] | connection | The connection |
[in] | callback | The function to be called when a display change occurs |
[in,out] | context | User data passed to the callback function |
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.
[in] | connection | The connection |
[in] | callback | The function to be called when the state change occurs |
[in,out] | context | User data passed to the callback function |
void mir_connection_set_ping_event_callback | ( | MirConnection * | connection, |
mir_ping_event_callback | callback, | ||
void * | context | ||
) |
Register a callback for server ping events.
The server may send ping requests to detect unresponsive applications. Clients should process this with their regular event handling, and call mir_connection_pong() in response.
The shell may treat a client which fails to pong in a timely fashion differently; a common response is to overlay the surface with an unresponsive application message.
A default implementation that immediately calls pong is provided; toolkits SHOULD override this default implementation to more accurately reflect the state of their event processing loop.
[in] | connection | The connection |
[in] | callback | The function to be called on ping events. |
[in] | context | User data passed to the callback function |
MirSurfaceSpec* mir_create_surface_spec | ( | MirConnection * | connection | ) |
Create a surface specification.
This can be used with mir_surface_create() to create a surface or with mir_surface_apply_spec() to change an existing surface.
[in] | connection | a valid mir connection |
void mir_cursor_configuration_destroy | ( | MirCursorConfiguration * | parameters | ) |
Release resources assosciated with cursor parameters.
[in] | parameters | The operand |
MirCursorConfiguration* mir_cursor_configuration_from_buffer_stream | ( | MirBufferStream const * | stream, |
int | hotspot_x, | ||
int | hotspot_y | ||
) |
Returns a new cursor configuration tied to a given buffer stream.
If the configuration is successfully applied buffers from the stream will be used to fill the system cursor.
[in] | name | The buffer stream |
[in] | hotspot_x | The x-coordinate to use as the cursor's hotspot. |
[in] | hotspot_y | The y-coordinate to use as the cursor's hotspot. |
MirCursorConfiguration* mir_cursor_configuration_from_name | ( | char const * | name | ) |
Returns a new MirCursorConfiguration representing a named cursor from the system cursor theme.
Symbolic cursor names, such as mir_default_cursor_name and mir_caret_cursor_name are available see (mir_toolkit/cursors.h). as input.
[in] | name | The cursor name |
void mir_display_config_destroy | ( | MirDisplayConfiguration * | display_configuration | ) |
Destroy the DisplayConfiguration resource acquired from mir_connection_create_display_config.
[in] | display_configuration | The display_configuration information resource to be destroyed |
MirCloseSurfaceEvent const* mir_event_get_close_surface_event | ( | MirEvent const * | ev | ) |
MirInputConfigurationEvent const* mir_event_get_input_configuration_event | ( | MirEvent const * | ev | ) |
MirInputEvent const* mir_event_get_input_event | ( | MirEvent const * | ev | ) |
MirKeymapEvent const* mir_event_get_keymap_event | ( | MirEvent const * | ev | ) |
MirOrientationEvent const* mir_event_get_orientation_event | ( | MirEvent const * | ev | ) |
MirPromptSessionEvent const* mir_event_get_prompt_session_event | ( | MirEvent const * | ev | ) |
MirResizeEvent const* mir_event_get_resize_event | ( | MirEvent const * | ev | ) |
MirSurfaceEvent const* mir_event_get_surface_event | ( | MirEvent const * | ev | ) |
MirSurfaceOutputEvent const* mir_event_get_surface_output_event | ( | MirEvent const * | ev | ) |
Retrieve the MirSurfaceOutputEvent associated with a MirEvent of type mir_event_type_surface_output.
The event signifies that the properties of the output the surface is displayed upon have changed.
A MirSurfaceOutputEvent is generated either when the properties of the output the surface is primarily on change (for example: by user configuration of resolution) or when the output the surface is primarily on changes (for example: when a user moves the surface from one monitor to another).
[in] | event | The event |
MirEventType mir_event_get_type | ( | MirEvent const * | ev | ) |
void mir_event_unref | ( | MirEvent const * | ev | ) |
MirInputConfigurationAction mir_input_configuration_event_get_action | ( | MirInputConfigurationEvent const * | ev | ) |
MirInputDeviceId mir_input_configuration_event_get_device_id | ( | MirInputConfigurationEvent const * | ev | ) |
int64_t mir_input_configuration_event_get_time | ( | MirInputConfigurationEvent const * | ev | ) |
MirInputDeviceId mir_input_event_get_device_id | ( | MirInputEvent const * | ev | ) |
int64_t mir_input_event_get_event_time | ( | MirInputEvent const * | ev | ) |
MirKeyboardEvent const* mir_input_event_get_keyboard_event | ( | MirInputEvent const * | ev | ) |
MirPointerEvent const* mir_input_event_get_pointer_event | ( | MirInputEvent const * | ev | ) |
MirTouchEvent const* mir_input_event_get_touch_event | ( | MirInputEvent const * | ev | ) |
MirInputEventType mir_input_event_get_type | ( | MirInputEvent const * | ev | ) |
MirKeyboardAction mir_keyboard_event_action | ( | MirKeyboardEvent const * | event | ) |
Retrieve the action which triggered a given key event.
[in] | event | The key event |
MirInputEvent const* mir_keyboard_event_input_event | ( | MirKeyboardEvent const * | event | ) |
xkb_keysym_t mir_keyboard_event_key_code | ( | MirKeyboardEvent const * | event | ) |
Retrieve the xkb mapped keycode associated with the key acted on.
. May be interpreted as per <xkbcommon/xkb-keysyms.h>
[in] | event | The key event |
MirInputEventModifiers mir_keyboard_event_modifiers | ( | MirKeyboardEvent const * | event | ) |
Retrieve the modifier keys pressed when the key action occured.
[in] | event | The key event |
int mir_keyboard_event_scan_code | ( | MirKeyboardEvent const * | event | ) |
Retrieve the raw hardware scan code associated with the key acted on.
May be interpreted as per <linux/input.h>
[in] | event | The key event |
void mir_keymap_event_get_rules | ( | MirKeymapEvent const * | ev, |
struct xkb_rule_names * | names | ||
) |
MirOrientation mir_orientation_event_get_direction | ( | MirOrientationEvent const * | ev | ) |
char const* mir_persistent_id_as_string | ( | MirPersistentId * | id | ) |
Get a string representation of a MirSurfaceId.
[in] | id | The ID to serialise |
MirPersistentId* mir_persistent_id_from_string | ( | char const * | string_representation | ) |
Deserialise a string representation of a MirSurfaceId.
[in] | string_representation | Serialised representation of the ID |
bool mir_persistent_id_is_valid | ( | MirPersistentId * | id | ) |
Check the validity of a MirPersistentId.
[in] | id | The MirPersistentId |
void mir_persistent_id_release | ( | MirPersistentId * | id | ) |
Free a MirPersistentId.
[in] | id | The MirPersistentId to free |
MirPlatformMessage* mir_platform_message_create | ( | unsigned int | opcode | ) |
Create a platform message to use with mir_connection_platform_operation().
Each call to mir_platform_message_create() should be matched by a call to mir_platform_message_release() to avoid memory leaks.
[in] | opcode | The platform message opcode |
MirPlatformMessageData mir_platform_message_get_data | ( | MirPlatformMessage const * | message | ) |
Get the data associated with a message.
The memory holding the returned data array is owned by the message and is valid only as long as the message is valid and mir_platform_set_data() is not called. You must not change or free the returned data array.
[in] | message | The MirPlatformMessage |
MirPlatformMessageFds mir_platform_message_get_fds | ( | MirPlatformMessage const * | message | ) |
Gets the fds associated with a message.
The memory of the returned fd array is owned by the message and is valid only as long as the message is valid and mir_platform_set_fds() is not called. You must not change or free the returned fd array.
Note that the fds associated with a message will not be closed when the message is released. Users are responsible for getting and closing the fds to avoid leaks.
[in] | message | The MirPlatformMessage |
unsigned int mir_platform_message_get_opcode | ( | MirPlatformMessage const * | message | ) |
Get the opcode of a message.
[in] | message | The MirPlatformMessage |
void mir_platform_message_release | ( | MirPlatformMessage const * | message | ) |
Release a platform message.
[in] | message | The MirPlatformMessage |
void mir_platform_message_set_data | ( | MirPlatformMessage * | message, |
void const * | data, | ||
size_t | data_size | ||
) |
Set the data associated with a message.
The data is copied into the message.
[in] | message | The MirPlatformMessage |
[in] | data | Pointer to the data |
[in] | data_size | The size of the data in bytes |
void mir_platform_message_set_fds | ( | MirPlatformMessage * | message, |
int const * | fds, | ||
size_t | num_fds | ||
) |
Sets the fds associated with a message.
The fd array is copied into the message, but the message does not take ownership of the fds, i.e., the caller is responsible for keeping the fds open for as long as this message needs to remain valid.
Note that the fds associated with a message are not closed when the message is released. The caller is responsible for closing the fds when the message doesn't need them anymore (see also mir_platform_message_get_fds()).
[in] | message | The MirPlatformMessage |
[in] | fds | Pointer to the array of fds |
[in] | num_fds | The number of fds |
MirPointerAction mir_pointer_event_action | ( | MirPointerEvent const * | event | ) |
Retrieve the action which occured to generate a given pointer event.
[in] | event | The pointer event |
float mir_pointer_event_axis_value | ( | MirPointerEvent const * | event, |
MirPointerAxis | axis | ||
) |
Retrieve the axis value reported by a given pointer event.
[in] | event | The pointer event |
[in] | axis | The axis to retreive a value from |
bool mir_pointer_event_button_state | ( | MirPointerEvent const * | event, |
MirPointerButton | button | ||
) |
Retrieve the state of a given pointer button when the action occurred.
[in] | event | The pointer event |
[in] | button | The button to check |
MirPointerButtons mir_pointer_event_buttons | ( | MirPointerEvent const * | event | ) |
Retreive the pointer button state as a masked set of values.
[in] | event | The pointer event |
MirInputEvent const* mir_pointer_event_input_event | ( | MirPointerEvent const * | event | ) |
MirInputEventModifiers mir_pointer_event_modifiers | ( | MirPointerEvent const * | event | ) |
Retrieve the modifier keys pressed when the pointer action occured.
[in] | event | The pointer event |
char const* mir_prompt_session_error_message | ( | MirPromptSession * | prompt_session | ) |
Retrieve a text description of the last error.
The returned string is owned by the library and remains valid until the prompt session has been released.
[in] | prompt_session | The prompt session |
MirPromptSessionState mir_prompt_session_event_get_state | ( | MirPromptSessionEvent const * | ev | ) |
bool mir_prompt_session_is_valid | ( | MirPromptSession * | prompt_session | ) |
Test for a valid prompt session.
[in] | prompt_session | The prompt session |
MirWaitHandle* mir_prompt_session_new_fds_for_prompt_providers | ( | MirPromptSession * | prompt_session, |
unsigned int | no_of_fds, | ||
mir_client_fd_callback | callback, | ||
void * | context | ||
) |
Allocate some FDs for prompt providers to connect on.
Prompt helpers need to allocate connection FDs it will pass to prompt providers to use when connecting to the server. The server can then associate them with the prompt session.
[in] | prompt_session | The prompt session |
[in] | no_of_fds | The number of fds to allocate |
[in] | callback | Callback invoked when request completes |
[in,out] | context | User data passed to the callback function |
void mir_prompt_session_release_sync | ( | MirPromptSession * | prompt_session | ) |
Stop and release the specified prompt session.
[in] | prompt_session | The prompt session |
int mir_resize_event_get_height | ( | MirResizeEvent const * | ev | ) |
int mir_resize_event_get_width | ( | MirResizeEvent const * | ev | ) |
MirBufferStream* mir_screencast_get_buffer_stream | ( | MirScreencast * | screencast | ) |
Retrieve the MirBufferStream associated with a screencast (to advance buffers, obtain EGLNativeWindowType, etc...)
[in] | screencast | The screencast |
void mir_screencast_release_sync | ( | MirScreencast * | screencast | ) |
Release the specified screencast.
[in] | screencast | The screencast to be released |
void mir_surface_apply_spec | ( | MirSurface * | surface, |
MirSurfaceSpec * | spec | ||
) |
Request changes to the specification of a surface.
The server will decide whether and how the request can be honoured.
[in] | surface | The surface to rename |
[in] | spec | Spec with the requested changes applied |
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.
[in] | surface | The surface to operate on |
[in] | parameters | The configuration parameters obtained from mir_cursor* family of functions. |
MirWaitHandle* mir_surface_create | ( | MirSurfaceSpec * | requested_specification, |
mir_surface_callback | callback, | ||
void * | context | ||
) |
Create a surface from a given specification.
[in] | requested_specification | Specification of the attributes for the created surface |
[in] | callback | Callback function to be invoked when creation is complete |
[in,out] | context | User data passed to callback function. This callback is guaranteed to be called, and called with a non-null MirSurface*, but the surface may be invalid in case of an error. |
MirSurface* mir_surface_create_sync | ( | MirSurfaceSpec * | requested_specification | ) |
Create a surface from a given specification and wait for the result.
[in] | requested_specification | Specification of the attributes for the created surface |
MirSurfaceAttrib mir_surface_event_get_attribute | ( | MirSurfaceEvent const * | ev | ) |
int mir_surface_event_get_attribute_value | ( | MirSurfaceEvent const * | ev | ) |
MirBufferStream* mir_surface_get_buffer_stream | ( | MirSurface * | surface | ) |
Retrieve the primary MirBufferStream associated with a surface (to advance buffers, obtain EGLNativeWindow, etc...)
[in] | surface | The surface |
int mir_surface_get_dpi | ( | MirSurface * | surface | ) |
Query the DPI value of the surface (dots per inch).
This will vary depending on the physical display configuration and where the surface is within it.
char const* mir_surface_get_error_message | ( | MirSurface * | surface | ) |
Retrieve a text description of the error.
The returned string is owned by the library and remains valid until the surface or the associated connection has been released.
[in] | surface | The surface |
MirSurfaceFocusState mir_surface_get_focus | ( | MirSurface * | surface | ) |
Query the focus state for a surface.
[in] | surface | The surface to operate on |
MirOrientation mir_surface_get_orientation | ( | MirSurface * | surface | ) |
Get the orientation of a surface.
[in] | surface | The surface to query |
void mir_surface_get_parameters | ( | MirSurface * | surface, |
MirSurfaceParameters * | parameters | ||
) |
Get a surface's parameters.
[in] | surface | The surface |
[out] | parameters | Structure to be populated |
MirOrientationMode mir_surface_get_preferred_orientation | ( | MirSurface * | surface | ) |
Get the preferred orientation modes of a surface.
[in] | surface | The surface to query |
MirSurfaceState mir_surface_get_state | ( | MirSurface * | surface | ) |
Get the current state of a surface.
[in] | surface | The surface to query |
int mir_surface_get_swapinterval | ( | MirSurface * | surface | ) |
Query the swapinterval that the surface is operating with.
The default interval is 1.
[in] | surface | The surface to operate on |
MirSurfaceType mir_surface_get_type | ( | MirSurface * | surface | ) |
Get the type (purpose) of a surface.
[in] | surface | The surface to query |
MirSurfaceVisibility mir_surface_get_visibility | ( | MirSurface * | surface | ) |
Query the visibility state for a surface.
[in] | surface | The surface to operate on |
bool mir_surface_is_valid | ( | MirSurface * | surface | ) |
Test for a valid surface.
[in] | surface | The surface |
int mir_surface_output_event_get_dpi | ( | MirSurfaceOutputEvent const * | ev | ) |
Retrieve the DPI of the new output configuration of a MirSurfaceOutputEvent.
[in] | ev | The event |
MirFormFactor mir_surface_output_event_get_form_factor | ( | MirSurfaceOutputEvent const * | ev | ) |
Retrieve the form factor of the new output configuration of a MirSurfaceOutputEvent.
[in] | ev | The event |
float mir_surface_output_event_get_scale | ( | MirSurfaceOutputEvent const * | ev | ) |
Retrieve the form factor of the new output configuration of a MirSurfaceOutputEvent.
[in] | ev | The event |
MirWaitHandle* mir_surface_release | ( | MirSurface * | surface, |
mir_surface_callback | callback, | ||
void * | context | ||
) |
Release the supplied surface and any associated buffer.
The returned wait handle remains valid until the connection to the server is released.
[in] | surface | The surface |
[in] | callback | Callback function to be invoked when the request completes |
[in,out] | context | User data passed to the callback function |
void mir_surface_release_sync | ( | MirSurface * | surface | ) |
Release the specified surface like in mir_surface_release(), but also wait for the operation to complete.
[in] | surface | The surface to be released |
MirWaitHandle* mir_surface_request_persistent_id | ( | MirSurface * | surface, |
mir_surface_id_callback | callback, | ||
void * | context | ||
) |
Request an ID for the surface that can be shared cross-process and across restarts.
This call acquires a MirPersistentId for this MirSurface. This MirPersistentId can be serialized to a string, stored or sent to another process, and then later deserialized to refer to the same surface.
[in] | surface | The surface to acquire a persistent reference to. |
[in] | callback | Callback to invoke when the request completes. |
[in,out] | context | User data passed to completion callback. |
MirPersistentId* mir_surface_request_persistent_id_sync | ( | MirSurface * | surface | ) |
Request a persistent ID for a surface and wait for the result.
[in] | surface | The surface to acquire a persistent ID for. |
void mir_surface_set_event_handler | ( | MirSurface * | surface, |
mir_surface_event_callback | callback, | ||
void * | context | ||
) |
Set the event handler to be called when events arrive for a surface.
[in] | surface | The surface |
[in] | callback | The callback function |
[in] | context | Additional argument to be passed to callback |
MirWaitHandle* mir_surface_set_preferred_orientation | ( | MirSurface * | surface, |
MirOrientationMode | orientation | ||
) |
Request to set the preferred orientations of a surface.
The request may be rejected by the server; to check wait on the result and check the applied value using mir_surface_get_preferred_orientation
[in] | surface | The surface to operate on |
[in] | orientation | The preferred orientation modes |
MirWaitHandle* mir_surface_set_state | ( | MirSurface * | surface, |
MirSurfaceState | state | ||
) |
Change the state of a surface.
[in] | surface | The surface to operate on |
[in] | state | The new state of the surface |
MirWaitHandle* mir_surface_set_swapinterval | ( | MirSurface * | surface, |
int | interval | ||
) |
Set the swapinterval for mir_surface_swap_buffers.
EGL users should use eglSwapInterval directly. At the time being, only swapinterval of 0 or 1 is supported.
[in] | surface | The surface to operate on |
[in] | interval | The number of vblank signals that mir_surface_swap_buffers will wait for |
bool mir_surface_spec_attach_to_foreign_parent | ( | MirSurfaceSpec * | spec, |
MirPersistentId * | parent, | ||
MirRectangle * | attachment_rect, | ||
MirEdgeAttachment | edge | ||
) |
Request that the created surface be attached to a surface of a different client.
This is restricted to input methods, which need to attach their suggestion surface to text entry widgets of other processes.
[in] | spec | Specification to mutate |
[in] | parent | A MirPersistentId reference to the parent surface |
[in] | attachment_rect | A rectangle specifying the region (in parent surface coordinates) that the created surface should be attached to. |
[in] | edge | The preferred edge direction to attach to. Use mir_edge_attachment_any for no preference. |
void mir_surface_spec_release | ( | MirSurfaceSpec * | spec | ) |
Release the resources held by a MirSurfaceSpec.
[in] | spec | Specification to release |
void mir_surface_spec_set_buffer_usage | ( | MirSurfaceSpec * | spec, |
MirBufferUsage | usage | ||
) |
Set the requested buffer usage.
[in] | spec | Specification to mutate |
[in] | usage | Requested buffer usage |
void mir_surface_spec_set_event_handler | ( | MirSurfaceSpec * | spec, |
mir_surface_event_callback | callback, | ||
void * | context | ||
) |
void mir_surface_spec_set_fullscreen_on_output | ( | MirSurfaceSpec * | spec, |
uint32_t | output_id | ||
) |
[in] | spec | Specification to mutate |
[in] | output_id | ID of output to place surface on. From MirDisplayOutput.output_id |
void mir_surface_spec_set_height | ( | MirSurfaceSpec * | spec, |
unsigned | height | ||
) |
Set the requested height, in pixels.
[in] | spec | Specification to mutate |
[in] | height | Requested height. |
void mir_surface_spec_set_height_increment | ( | MirSurfaceSpec * | spec, |
unsigned | height_inc | ||
) |
Set the requested height increment, in pixels Defines an arithmetic progression of sizes starting with min_height (if set, otherwise 0) into which the surface prefers to be resized.
[in] | spec | Specification to mutate |
[in] | height_inc | Requested height increment. |
void mir_surface_spec_set_input_shape | ( | MirSurfaceSpec * | spec, |
MirRectangle const * | rectangles, | ||
size_t | n_rects | ||
) |
Set a collection of input rectangles assosciated with the spec.
Rectangles are specified as a list of regions relative to the top left of the specified surface. If the server applies this specification to a surface input which would normally go to the surface but is not contained within any of the input rectangles instead passes on to the next client.
[in] | spec | The spec to accumulate the request in. |
[in] | rectangles | An array of MirRectangles specifying the input shape. |
[in] | num_streams | The number of elements in the rectangles array. |
void mir_surface_spec_set_max_aspect_ratio | ( | MirSurfaceSpec * | spec, |
unsigned | width, | ||
unsigned | height | ||
) |
Set the maximum aspect ratio.
This is the maximum ratio of surface width to height. It is independent of orientation changes and/or preferences.
[in] | spec | Specification to mutate |
[in] | width | numerator |
[in] | height | denominator |
void mir_surface_spec_set_max_height | ( | MirSurfaceSpec * | spec, |
unsigned | max_height | ||
) |
Set the maximum height, in pixels.
[in] | spec | Specification to mutate |
[in] | height | Maximum height. |
void mir_surface_spec_set_max_width | ( | MirSurfaceSpec * | spec, |
unsigned | max_width | ||
) |
Set the maximum width, in pixels.
[in] | spec | Specification to mutate |
[in] | width | Maximum width. |
void mir_surface_spec_set_min_aspect_ratio | ( | MirSurfaceSpec * | spec, |
unsigned | width, | ||
unsigned | height | ||
) |
Set the minimum aspect ratio.
This is the minimum ratio of surface width to height. It is independent of orientation changes and/or preferences.
[in] | spec | Specification to mutate |
[in] | width | numerator |
[in] | height | denominator |
void mir_surface_spec_set_min_height | ( | MirSurfaceSpec * | spec, |
unsigned | min_height | ||
) |
Set the minimum height, in pixels.
[in] | spec | Specification to mutate |
[in] | height | Minimum height. |
void mir_surface_spec_set_min_width | ( | MirSurfaceSpec * | spec, |
unsigned | min_width | ||
) |
Set the minimum width, in pixels.
[in] | spec | Specification to mutate |
[in] | width | Minimum width. |
void mir_surface_spec_set_name | ( | MirSurfaceSpec * | spec, |
char const * | name | ||
) |
Set the requested name.
The surface name helps the user to distinguish between multiple surfaces from the same application. A typical desktop shell may use it to provide text in the window titlebar, in an alt-tab switcher, or equivalent.
[in] | spec | Specification to mutate |
[in] | name | Requested name. This must be valid UTF-8. Copied into spec; clients can free the buffer passed after this call. |
void mir_surface_spec_set_parent | ( | MirSurfaceSpec * | spec, |
MirSurface * | parent | ||
) |
Set the requested parent.
[in] | spec | Specification to mutate |
[in] | parent | A valid parent surface. |
void mir_surface_spec_set_pixel_format | ( | MirSurfaceSpec * | spec, |
MirPixelFormat | format | ||
) |
Set the requested pixel format.
[in] | spec | Specification to mutate |
[in] | format | Requested pixel format |
void mir_surface_spec_set_preferred_orientation | ( | MirSurfaceSpec * | spec, |
MirOrientationMode | mode | ||
) |
Set the requested preferred orientation mode.
[in] | spec | Specification to mutate |
[in] | mode | Requested preferred orientation |
void mir_surface_spec_set_state | ( | MirSurfaceSpec * | spec, |
MirSurfaceState | state | ||
) |
Set the requested state.
[in] | spec | Specification to mutate |
[in] | mode | Requested state |
void mir_surface_spec_set_streams | ( | MirSurfaceSpec * | spec, |
MirBufferStreamInfo * | streams, | ||
unsigned int | num_streams | ||
) |
Set the streams associated with the spec.
streams[0] is the bottom-most stream, and streams[size-1] is the topmost. On application of the spec, a stream that is present in the surface, but is not in the list will be disassociated from the surface. On application of the spec, a stream that is not present in the surface, but is in the list will be associated with the surface. Streams set a displacement from the top-left corner of the surface.
[in] | spec | The spec to accumulate the request in. |
[in] | streams | An array of non-null streams info. |
[in] | num_streams | The number of elements in the streams array. |
void mir_surface_spec_set_type | ( | MirSurfaceSpec * | spec, |
MirSurfaceType | type | ||
) |
Update a surface specification with a surface type.
This can be used with mir_surface_create() to create a surface or with mir_surface_apply_spec() to change an existing surface.
[in] | spec | Specification to mutate |
[in] | type | the target type of the surface |
void mir_surface_spec_set_width | ( | MirSurfaceSpec * | spec, |
unsigned | width | ||
) |
Set the requested width, in pixels.
[in] | spec | Specification to mutate |
[in] | width | Requested width. |
void mir_surface_spec_set_width_increment | ( | MirSurfaceSpec * | spec, |
unsigned | width_inc | ||
) |
Set the requested width increment, in pixels.
Defines an arithmetic progression of sizes starting with min_width (if set, otherwise 0) into which the surface prefers to be resized.
[in] | spec | Specification to mutate |
[in] | width_inc | Requested width increment. |
MirTouchAction mir_touch_event_action | ( | MirTouchEvent const * | event, |
size_t | touch_index | ||
) |
Retrieve the action which occured for a touch at given index.
[in] | event | The touch event |
[in] | touch_index | The touch index. Must be less than (touch_count - 1). |
float mir_touch_event_axis_value | ( | MirTouchEvent const * | event, |
size_t | touch_index, | ||
MirTouchAxis | axis | ||
) |
Retrieve the axis value for a given axis on an indexed touch.
[in] | event | The touch event |
[in] | touch_index | The touch index. Must be less than (touch_count - 1). |
[in] | axis | The axis to retreive a value from |
MirTouchId mir_touch_event_id | ( | MirTouchEvent const * | event, |
size_t | touch_index | ||
) |
Retrieve the TouchID for a touch at given index.
[in] | event | The touch event |
[in] | touch_index | The touch index. Must be less than (touch_count - 1). |
MirInputEvent const* mir_touch_event_input_event | ( | MirTouchEvent const * | event | ) |
MirInputEventModifiers mir_touch_event_modifiers | ( | MirTouchEvent const * | event | ) |
Retrieve the modifier keys pressed when the touch action occured.
[in] | event | The key event |
unsigned int mir_touch_event_point_count | ( | MirTouchEvent const * | event | ) |
Retrieve the number of touches reported for a given touch event.
Each touch is said to be index in the event and may be accessed by index 0, 1, ... , (touch_count - 1)
[in] | event | The touch event |
MirTouchTooltype mir_touch_event_tooltype | ( | MirTouchEvent const * | event, |
size_t | touch_index | ||
) |
Retrieve the tooltype for touch at given index.
[in] | event | The touch event |
[in] | touch_index | The touch index. Must be less than (touch_count - 1). |
void mir_wait_for | ( | MirWaitHandle * | wait_handle | ) |
Wait on the supplied handle until all instances of the associated request have completed.
[in] | wait_handle | Handle returned by an asynchronous request |
void mir_wait_for_one | ( | MirWaitHandle * | wait_handle | ) |
Wait on the supplied handle until one instance of the associated request has completed.
Use this instead of mir_wait_for in a threaded environment to ensure that the act of waiting does not clear all results associated with the wait handle; only one.
[in] | wait_handle | Handle returned by an asynchronous request |
char const* const mir_arrow_cursor_name |
The standard arrow cursor (typically the system default)
char const* const mir_busy_cursor_name |
The "wait" cursor, typically an hourglass or watch used during operations which prevent the user from interacting.
char const* const mir_caret_cursor_name |
The caret or ibeam cursor, indicating acceptance of text input.
char const* const mir_closed_hand_cursor_name |
The close handed cursor, typically used to indicate that a drag operation is in process which involves scrolling.
char const* const mir_crosshair_cursor_name |
The cursor used for crosshair, which may be used for picking colors or finer precision.
char const* const mir_default_cursor_name |
A special cursor name for use with mir_cursor_configuration_from_name representing the system default cursor.
char const* const mir_diagonal_resize_bottom_to_top_cursor_name |
The cursor used to indicate diagonal resize from top-right and bottom-left corners.
char const* const mir_diagonal_resize_top_to_bottom_cursor_name |
The cursor used to indicate diagonal resize from bottom-left and top-right corners.
char const* const mir_disabled_cursor_name |
A special cursor name for use with mir_cursor_configuration_from_name representing a disabled cursor image.
char const* const mir_horizontal_resize_cursor_name |
The cursor used to indicate a horizontal resize operation.
char const* const mir_hsplit_resize_cursor_name |
The cursor used for horizontal splitters, indicating that a handle may be dragged to adjust horizontal space.
char const* const mir_omnidirectional_resize_cursor_name |
The cursor used to indicate resize with no directional constraint.
char const* const mir_open_hand_cursor_name |
The open handed cursor, typically used to indicate that the area beneath the cursor may be clicked and dragged around.
char const* const mir_pointing_hand_cursor_name |
The pointing hand cursor, typically used for clickable elements such as hyperlinks.
char const* const mir_vertical_resize_cursor_name |
The cursor used to indicate a vertical resize operation.
char const* const mir_vsplit_resize_cursor_name |
The cursor used for vertical splitters, indicating that a handle may be dragged to adjust vertical space.
Copyright © 2012-2015 Canonical Ltd.
Generated on Thu Oct 8 16:20:16 UTC 2015