Program Listing for File client_types.h

↰ Return to documentation for file (/home/docs/checkouts/readthedocs.org/user_builds/canonical-mir-documentation/checkouts/2.26/include/common/mir_toolkit/client_types.h)

/*
 * client_types.h: Type definitions used in client apps and libmirclient.
 *
 * Copyright © Canonical Ltd.
 *
 * This program is free software: you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License version 2 or 3,
 * as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#ifndef MIR_TOOLKIT_CLIENT_TYPES_H_
#define MIR_TOOLKIT_CLIENT_TYPES_H_

#include <mir_toolkit/events/event.h>
#include <mir_toolkit/common.h>

#include <stddef.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Display server connection API */
typedef struct MirBlob MirBlob;

typedef struct MirRectangle
{
    int left;
    int top;
    unsigned int width;
    unsigned int height;
} MirRectangle;

typedef struct MirInputConfig MirInputConfig;
typedef struct MirInputDevice MirInputDevice;
typedef struct MirKeyboardConfig MirKeyboardConfig;
typedef struct MirPointerConfig MirPointerConfig;
typedef struct MirTouchpadConfig MirTouchpadConfig;
typedef struct MirTouchscreenConfig MirTouchscreenConfig;

typedef enum MirErrorDomain
{
    mir_error_domain_display_configuration,
    mir_error_domain_input_configuration,
} MirErrorDomain;

typedef enum MirDisplayConfigurationError {
    mir_display_configuration_error_unauthorized,
    mir_display_configuration_error_in_progress,
    mir_display_configuration_error_no_preview_in_progress,
     mir_display_configuration_error_rejected_by_hardware
} MirDisplayConfigurationError;

typedef enum MirInputConfigurationError {
     mir_input_configuration_error_rejected_by_driver,

     mir_input_configuration_error_base_configuration_unauthorized,

     mir_input_configuration_error_unauthorized,
} MirInputConfigurationError;

#ifdef __cplusplus
}
#endif

#endif /* MIR_TOOLKIT_CLIENT_TYPES_H_ */