/* Generated by wayland-scanner 1.23.0 */ #ifndef CHROME_COLOR_MANAGEMENT_SERVER_PROTOCOL_H #define CHROME_COLOR_MANAGEMENT_SERVER_PROTOCOL_H #include <stdint.h> #include <stddef.h> #include "wayland-server.h" #ifdef __cplusplus extern "C" { #endif struct wl_client; struct wl_resource; /** * @page page_chrome_color_management The chrome_color_management protocol * color management protocol * * @section page_desc_chrome_color_management Description * * This protocol specifies a way for a client to set the color space and * HDR metadata of a surface and to get information about the color spaces * and HDR capabilities of outputs. * * This protocol is based on a proposed upstream protocol, which we will migrate * to once it is approved. It may diverge from the proposed upstream protocol * over the course of our development. * * @section page_ifaces_chrome_color_management Interfaces * - @subpage page_iface_zcr_color_manager_v1 - color manager singleton * - @subpage page_iface_zcr_color_management_output_v1 - output color properties * - @subpage page_iface_zcr_color_management_surface_v1 - color management extension to a surface * - @subpage page_iface_zcr_color_space_creator_v1 - color space creator * - @subpage page_iface_zcr_color_space_v1 - color space * @section page_copyright_chrome_color_management Copyright * <pre> * * Copyright 2019 Sebastian Wick * Copyright 2019 Erwin Burema * Copyright 2020 AMD * Copyright 2020 Collabora, Ltd. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice (including the next * paragraph) shall be included in all copies or substantial portions of the * Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. * </pre> */ struct wl_output; struct wl_surface; struct zcr_color_management_output_v1; struct zcr_color_management_surface_v1; struct zcr_color_manager_v1; struct zcr_color_space_creator_v1; struct zcr_color_space_v1; #ifndef ZCR_COLOR_MANAGER_V1_INTERFACE #define ZCR_COLOR_MANAGER_V1_INTERFACE /** * @page page_iface_zcr_color_manager_v1 zcr_color_manager_v1 * @section page_iface_zcr_color_manager_v1_desc Description * * A global interface used for getting color management surface and color * management output objects as well as creating color space objects from * ICC profiles, parameters, or enumerated names. * @section page_iface_zcr_color_manager_v1_api API * See @ref iface_zcr_color_manager_v1. */ /** * @defgroup iface_zcr_color_manager_v1 The zcr_color_manager_v1 interface * * A global interface used for getting color management surface and color * management output objects as well as creating color space objects from * ICC profiles, parameters, or enumerated names. */ extern const struct wl_interface zcr_color_manager_v1_interface; #endif #ifndef ZCR_COLOR_MANAGEMENT_OUTPUT_V1_INTERFACE #define ZCR_COLOR_MANAGEMENT_OUTPUT_V1_INTERFACE /** * @page page_iface_zcr_color_management_output_v1 zcr_color_management_output_v1 * @section page_iface_zcr_color_management_output_v1_desc Description * * A zcr_color_management_output_v1 describes the color properties of an * output. * * When zcr_color_management_output_v1 object is created, it will send * its initial events followed by a wl_output.done event. When creating * wl_output and its extension objects, use a final wl_display.sync to * guarantee that all output events have been received across all * extensions. * * If the wl_output associated with the zcr_color_management_output_v1 is * destroyed, the zcr_color_management_output_v1 object becomes inert. * @section page_iface_zcr_color_management_output_v1_api API * See @ref iface_zcr_color_management_output_v1. */ /** * @defgroup iface_zcr_color_management_output_v1 The zcr_color_management_output_v1 interface * * A zcr_color_management_output_v1 describes the color properties of an * output. * * When zcr_color_management_output_v1 object is created, it will send * its initial events followed by a wl_output.done event. When creating * wl_output and its extension objects, use a final wl_display.sync to * guarantee that all output events have been received across all * extensions. * * If the wl_output associated with the zcr_color_management_output_v1 is * destroyed, the zcr_color_management_output_v1 object becomes inert. */ extern const struct wl_interface zcr_color_management_output_v1_interface; #endif #ifndef ZCR_COLOR_MANAGEMENT_SURFACE_V1_INTERFACE #define ZCR_COLOR_MANAGEMENT_SURFACE_V1_INTERFACE /** * @page page_iface_zcr_color_management_surface_v1 zcr_color_management_surface_v1 * @section page_iface_zcr_color_management_surface_v1_desc Description * * A zcr_color_management_surface_v1 allows the client to set the color * space and HDR properties of a surface. * * If the wl_surface associated with the zcr_color_management_surface_v1 is * destroyed, the zcr_color_management_surface_v1 object becomes inert. * @section page_iface_zcr_color_management_surface_v1_api API * See @ref iface_zcr_color_management_surface_v1. */ /** * @defgroup iface_zcr_color_management_surface_v1 The zcr_color_management_surface_v1 interface * * A zcr_color_management_surface_v1 allows the client to set the color * space and HDR properties of a surface. * * If the wl_surface associated with the zcr_color_management_surface_v1 is * destroyed, the zcr_color_management_surface_v1 object becomes inert. */ extern const struct wl_interface zcr_color_management_surface_v1_interface; #endif #ifndef ZCR_COLOR_SPACE_CREATOR_V1_INTERFACE #define ZCR_COLOR_SPACE_CREATOR_V1_INTERFACE /** * @page page_iface_zcr_color_space_creator_v1 zcr_color_space_creator_v1 * @section page_iface_zcr_color_space_creator_v1_desc Description * * A zcr_color_space_creator_v1 object returns a created color space * or the error which occured during creation. * * Once a zcr_color_space_creator_v1 object has delivered a 'created' * or 'error' event it is automatically destroyed. * @section page_iface_zcr_color_space_creator_v1_api API * See @ref iface_zcr_color_space_creator_v1. */ /** * @defgroup iface_zcr_color_space_creator_v1 The zcr_color_space_creator_v1 interface * * A zcr_color_space_creator_v1 object returns a created color space * or the error which occured during creation. * * Once a zcr_color_space_creator_v1 object has delivered a 'created' * or 'error' event it is automatically destroyed. */ extern const struct wl_interface zcr_color_space_creator_v1_interface; #endif #ifndef ZCR_COLOR_SPACE_V1_INTERFACE #define ZCR_COLOR_SPACE_V1_INTERFACE /** * @page page_iface_zcr_color_space_v1 zcr_color_space_v1 * @section page_iface_zcr_color_space_v1_desc Description * * Refers to a color space which can be attached to a surface * (zcr_color_management_surface_v1.set_color_space). It may provide * information like the ICC profile and the well-known names to allow * clients to know the color space and do color transformations of their * own. * * Once created and regardless of how it was created, a zcr_color_space_v1 * object always refers to one fixed color space. * * The client can create a zcr_color_space_v1 object with * zcr_color_manager_v1 requests or from an output by calling * zcr_color_management_output_v1.get_color_space. * * Other extensions may define more zcr_color_space_v1 factory interfaces. * Those interfaces must explicitly specify the interface version for the * object created, otherwise versioning zcr_color_space_v1 correctly * becomes impossible. Using a 'new_id' argument without 'interface' * attribute defined in XML forces code generators to add two explicit * arguments: interface and version. Version is the explicit version * number needed, and interface should be required to be * "zcr_color_space_v1". The compositor supported zcr_color_space_v1 * versions are defined by the advertised zcr_color_manager_v1 in * wl_registry. * @section page_iface_zcr_color_space_v1_api API * See @ref iface_zcr_color_space_v1. */ /** * @defgroup iface_zcr_color_space_v1 The zcr_color_space_v1 interface * * Refers to a color space which can be attached to a surface * (zcr_color_management_surface_v1.set_color_space). It may provide * information like the ICC profile and the well-known names to allow * clients to know the color space and do color transformations of their * own. * * Once created and regardless of how it was created, a zcr_color_space_v1 * object always refers to one fixed color space. * * The client can create a zcr_color_space_v1 object with * zcr_color_manager_v1 requests or from an output by calling * zcr_color_management_output_v1.get_color_space. * * Other extensions may define more zcr_color_space_v1 factory interfaces. * Those interfaces must explicitly specify the interface version for the * object created, otherwise versioning zcr_color_space_v1 correctly * becomes impossible. Using a 'new_id' argument without 'interface' * attribute defined in XML forces code generators to add two explicit * arguments: interface and version. Version is the explicit version * number needed, and interface should be required to be * "zcr_color_space_v1". The compositor supported zcr_color_space_v1 * versions are defined by the advertised zcr_color_manager_v1 in * wl_registry. */ extern const struct wl_interface zcr_color_space_v1_interface; #endif #ifndef ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ENUM #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ENUM /** * @ingroup iface_zcr_color_manager_v1 * well-known EOTF names * * Names that describe a well-known EOTF. * * A compositor must support all of these based on the protocol interface * version. */ enum zcr_color_manager_v1_eotf_names { … }; /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 * Validate a zcr_color_manager_v1 eotf_names value. * * @return true on success, false on error. * @ref zcr_color_manager_v1_eotf_names */ static inline bool zcr_color_manager_v1_eotf_names_is_valid(uint32_t value, uint32_t version) { … } #endif /* ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ENUM */ #ifndef ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_ENUM #define ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_ENUM /** * @ingroup iface_zcr_color_manager_v1 * well-known chromaticity names * * Names that describe well-known chromaticities. * * A compositor must support all of these based on the protocol interface * version. */ enum zcr_color_manager_v1_chromaticity_names { … }; /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 * Validate a zcr_color_manager_v1 chromaticity_names value. * * @return true on success, false on error. * @ref zcr_color_manager_v1_chromaticity_names */ static inline bool zcr_color_manager_v1_chromaticity_names_is_valid(uint32_t value, uint32_t version) { … } #endif /* ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_ENUM */ #ifndef ZCR_COLOR_MANAGER_V1_WHITEPOINT_NAMES_ENUM #define ZCR_COLOR_MANAGER_V1_WHITEPOINT_NAMES_ENUM /** * @ingroup iface_zcr_color_manager_v1 * well-known whitepoint names * * Names that describe well-known whitepoints. * * A compositor must support all of these based on the protocol interface * version. */ enum zcr_color_manager_v1_whitepoint_names { … }; /** * @ingroup iface_zcr_color_manager_v1 * Validate a zcr_color_manager_v1 whitepoint_names value. * * @return true on success, false on error. * @ref zcr_color_manager_v1_whitepoint_names */ static inline bool zcr_color_manager_v1_whitepoint_names_is_valid(uint32_t value, uint32_t version) { … } #endif /* ZCR_COLOR_MANAGER_V1_WHITEPOINT_NAMES_ENUM */ #ifndef ZCR_COLOR_MANAGER_V1_ERROR_ENUM #define ZCR_COLOR_MANAGER_V1_ERROR_ENUM enum zcr_color_manager_v1_error { … }; /** * @ingroup iface_zcr_color_manager_v1 * Validate a zcr_color_manager_v1 error value. * * @return true on success, false on error. * @ref zcr_color_manager_v1_error */ static inline bool zcr_color_manager_v1_error_is_valid(uint32_t value, uint32_t version) { … } #endif /* ZCR_COLOR_MANAGER_V1_ERROR_ENUM */ #ifndef ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_ENUM #define ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_ENUM /** * @ingroup iface_zcr_color_manager_v1 * For specifying color matrices * * Names that describe typical ColorSpace Matrix IDs * */ enum zcr_color_manager_v1_matrix_names { … }; /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 * Validate a zcr_color_manager_v1 matrix_names value. * * @return true on success, false on error. * @ref zcr_color_manager_v1_matrix_names */ static inline bool zcr_color_manager_v1_matrix_names_is_valid(uint32_t value, uint32_t version) { … } #endif /* ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_ENUM */ #ifndef ZCR_COLOR_MANAGER_V1_RANGE_NAMES_ENUM #define ZCR_COLOR_MANAGER_V1_RANGE_NAMES_ENUM /** * @ingroup iface_zcr_color_manager_v1 * For specifying RGB ranges * * Names that describe typical RGB value ranges. * */ enum zcr_color_manager_v1_range_names { … }; /** * @ingroup iface_zcr_color_manager_v1 * Validate a zcr_color_manager_v1 range_names value. * * @return true on success, false on error. * @ref zcr_color_manager_v1_range_names */ static inline bool zcr_color_manager_v1_range_names_is_valid(uint32_t value, uint32_t version) { … } #endif /* ZCR_COLOR_MANAGER_V1_RANGE_NAMES_ENUM */ /** * @ingroup iface_zcr_color_manager_v1 * @struct zcr_color_manager_v1_interface */ struct zcr_color_manager_v1_interface { … }; /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_CREATE_COLOR_SPACE_FROM_ICC_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_CREATE_COLOR_SPACE_FROM_NAMES_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_CREATE_COLOR_SPACE_FROM_PARAMS_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_GET_COLOR_MANAGEMENT_OUTPUT_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_GET_COLOR_MANAGEMENT_SURFACE_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_DESTROY_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_CREATE_COLOR_SPACE_FROM_COMPLETE_NAMES_SINCE_VERSION … /** * @ingroup iface_zcr_color_manager_v1 */ #define ZCR_COLOR_MANAGER_V1_CREATE_COLOR_SPACE_FROM_COMPLETE_PARAMS_SINCE_VERSION … /** * @ingroup iface_zcr_color_management_output_v1 * @struct zcr_color_management_output_v1_interface */ struct zcr_color_management_output_v1_interface { … }; #define ZCR_COLOR_MANAGEMENT_OUTPUT_V1_COLOR_SPACE_CHANGED … #define ZCR_COLOR_MANAGEMENT_OUTPUT_V1_EXTENDED_DYNAMIC_RANGE … /** * @ingroup iface_zcr_color_management_output_v1 */ #define ZCR_COLOR_MANAGEMENT_OUTPUT_V1_COLOR_SPACE_CHANGED_SINCE_VERSION … /** * @ingroup iface_zcr_color_management_output_v1 */ #define ZCR_COLOR_MANAGEMENT_OUTPUT_V1_EXTENDED_DYNAMIC_RANGE_SINCE_VERSION … /** * @ingroup iface_zcr_color_management_output_v1 */ #define ZCR_COLOR_MANAGEMENT_OUTPUT_V1_GET_COLOR_SPACE_SINCE_VERSION … /** * @ingroup iface_zcr_color_management_output_v1 */ #define ZCR_COLOR_MANAGEMENT_OUTPUT_V1_DESTROY_SINCE_VERSION … /** * @ingroup iface_zcr_color_management_output_v1 * Sends an color_space_changed event to the client owning the resource. * @param resource_ The client's resource */ static inline void zcr_color_management_output_v1_send_color_space_changed(struct wl_resource *resource_) { … } /** * @ingroup iface_zcr_color_management_output_v1 * Sends an extended_dynamic_range event to the client owning the resource. * @param resource_ The client's resource * @param value EDR value * 1000 */ static inline void zcr_color_management_output_v1_send_extended_dynamic_range(struct wl_resource *resource_, uint32_t value) { … } #ifndef ZCR_COLOR_MANAGEMENT_SURFACE_V1_RENDER_INTENT_ENUM #define ZCR_COLOR_MANAGEMENT_SURFACE_V1_RENDER_INTENT_ENUM /** * @ingroup iface_zcr_color_management_surface_v1 * render intent * * * Rendering intent allow the client to hint at how to perform color space * transformations. * * See the ICC specification for more details about rendering intent. */ enum zcr_color_management_surface_v1_render_intent { … }; /** * @ingroup iface_zcr_color_management_surface_v1 * Validate a zcr_color_management_surface_v1 render_intent value. * * @return true on success, false on error. * @ref zcr_color_management_surface_v1_render_intent */ static inline bool zcr_color_management_surface_v1_render_intent_is_valid(uint32_t value, uint32_t version) { … } #endif /* ZCR_COLOR_MANAGEMENT_SURFACE_V1_RENDER_INTENT_ENUM */ #ifndef ZCR_COLOR_MANAGEMENT_SURFACE_V1_ALPHA_MODE_ENUM #define ZCR_COLOR_MANAGEMENT_SURFACE_V1_ALPHA_MODE_ENUM /** * @ingroup iface_zcr_color_management_surface_v1 * alpha mode * * Specifies whether alpha is pre-multiplied into color channels or not. * If pre-multiplied, the linear alpha value is already multiplied with the * (non-linear) color channel code values in the color channels. */ enum zcr_color_management_surface_v1_alpha_mode { … }; /** * @ingroup iface_zcr_color_management_surface_v1 * Validate a zcr_color_management_surface_v1 alpha_mode value. * * @return true on success, false on error. * @ref zcr_color_management_surface_v1_alpha_mode */ static inline bool zcr_color_management_surface_v1_alpha_mode_is_valid(uint32_t value, uint32_t version) { … } #endif /* ZCR_COLOR_MANAGEMENT_SURFACE_V1_ALPHA_MODE_ENUM */ /** * @ingroup iface_zcr_color_management_surface_v1 * @struct zcr_color_management_surface_v1_interface */ struct zcr_color_management_surface_v1_interface { … }; #define ZCR_COLOR_MANAGEMENT_SURFACE_V1_PREFERRED_COLOR_SPACE … /** * @ingroup iface_zcr_color_management_surface_v1 */ #define ZCR_COLOR_MANAGEMENT_SURFACE_V1_PREFERRED_COLOR_SPACE_SINCE_VERSION … /** * @ingroup iface_zcr_color_management_surface_v1 */ #define ZCR_COLOR_MANAGEMENT_SURFACE_V1_SET_ALPHA_MODE_SINCE_VERSION … /** * @ingroup iface_zcr_color_management_surface_v1 */ #define ZCR_COLOR_MANAGEMENT_SURFACE_V1_SET_EXTENDED_DYNAMIC_RANGE_SINCE_VERSION … /** * @ingroup iface_zcr_color_management_surface_v1 */ #define ZCR_COLOR_MANAGEMENT_SURFACE_V1_SET_COLOR_SPACE_SINCE_VERSION … /** * @ingroup iface_zcr_color_management_surface_v1 */ #define ZCR_COLOR_MANAGEMENT_SURFACE_V1_SET_DEFAULT_COLOR_SPACE_SINCE_VERSION … /** * @ingroup iface_zcr_color_management_surface_v1 */ #define ZCR_COLOR_MANAGEMENT_SURFACE_V1_DESTROY_SINCE_VERSION … /** * @ingroup iface_zcr_color_management_surface_v1 * Sends an preferred_color_space event to the client owning the resource. * @param resource_ The client's resource */ static inline void zcr_color_management_surface_v1_send_preferred_color_space(struct wl_resource *resource_, struct wl_resource *output) { … } #ifndef ZCR_COLOR_SPACE_CREATOR_V1_CREATION_ERROR_ENUM #define ZCR_COLOR_SPACE_CREATOR_V1_CREATION_ERROR_ENUM /** * @ingroup iface_zcr_color_space_creator_v1 * color space creation error * * Bitmask of errors which occured while trying to create a color space */ enum zcr_color_space_creator_v1_creation_error { … }; /** * @ingroup iface_zcr_color_space_creator_v1 * Validate a zcr_color_space_creator_v1 creation_error value. * * @return true on success, false on error. * @ref zcr_color_space_creator_v1_creation_error */ static inline bool zcr_color_space_creator_v1_creation_error_is_valid(uint32_t value, uint32_t version) { … } #endif /* ZCR_COLOR_SPACE_CREATOR_V1_CREATION_ERROR_ENUM */ #define ZCR_COLOR_SPACE_CREATOR_V1_CREATED … #define ZCR_COLOR_SPACE_CREATOR_V1_ERROR … /** * @ingroup iface_zcr_color_space_creator_v1 */ #define ZCR_COLOR_SPACE_CREATOR_V1_CREATED_SINCE_VERSION … /** * @ingroup iface_zcr_color_space_creator_v1 */ #define ZCR_COLOR_SPACE_CREATOR_V1_ERROR_SINCE_VERSION … /** * @ingroup iface_zcr_color_space_creator_v1 * Sends an created event to the client owning the resource. * @param resource_ The client's resource */ static inline void zcr_color_space_creator_v1_send_created(struct wl_resource *resource_, struct wl_resource *id) { … } /** * @ingroup iface_zcr_color_space_creator_v1 * Sends an error event to the client owning the resource. * @param resource_ The client's resource * @param error error bitmask */ static inline void zcr_color_space_creator_v1_send_error(struct wl_resource *resource_, uint32_t error) { … } #ifndef ZCR_COLOR_SPACE_V1_ERROR_ENUM #define ZCR_COLOR_SPACE_V1_ERROR_ENUM enum zcr_color_space_v1_error { … }; /** * @ingroup iface_zcr_color_space_v1 * Validate a zcr_color_space_v1 error value. * * @return true on success, false on error. * @ref zcr_color_space_v1_error */ static inline bool zcr_color_space_v1_error_is_valid(uint32_t value, uint32_t version) { … } #endif /* ZCR_COLOR_SPACE_V1_ERROR_ENUM */ /** * @ingroup iface_zcr_color_space_v1 * @struct zcr_color_space_v1_interface */ struct zcr_color_space_v1_interface { … }; #define ZCR_COLOR_SPACE_V1_ICC_FILE … #define ZCR_COLOR_SPACE_V1_NAMES … #define ZCR_COLOR_SPACE_V1_PARAMS … #define ZCR_COLOR_SPACE_V1_DONE … #define ZCR_COLOR_SPACE_V1_COMPLETE_NAMES … #define ZCR_COLOR_SPACE_V1_COMPLETE_PARAMS … /** * @ingroup iface_zcr_color_space_v1 */ #define ZCR_COLOR_SPACE_V1_ICC_FILE_SINCE_VERSION … /** * @ingroup iface_zcr_color_space_v1 */ #define ZCR_COLOR_SPACE_V1_NAMES_SINCE_VERSION … /** * @ingroup iface_zcr_color_space_v1 */ #define ZCR_COLOR_SPACE_V1_PARAMS_SINCE_VERSION … /** * @ingroup iface_zcr_color_space_v1 */ #define ZCR_COLOR_SPACE_V1_DONE_SINCE_VERSION … /** * @ingroup iface_zcr_color_space_v1 */ #define ZCR_COLOR_SPACE_V1_COMPLETE_NAMES_SINCE_VERSION … /** * @ingroup iface_zcr_color_space_v1 */ #define ZCR_COLOR_SPACE_V1_COMPLETE_PARAMS_SINCE_VERSION … /** * @ingroup iface_zcr_color_space_v1 */ #define ZCR_COLOR_SPACE_V1_GET_INFORMATION_SINCE_VERSION … /** * @ingroup iface_zcr_color_space_v1 */ #define ZCR_COLOR_SPACE_V1_DESTROY_SINCE_VERSION … /** * @ingroup iface_zcr_color_space_v1 * Sends an icc_file event to the client owning the resource. * @param resource_ The client's resource * @param icc ICC profile file descriptor * @param icc_size ICC profile size, in bytes */ static inline void zcr_color_space_v1_send_icc_file(struct wl_resource *resource_, int32_t icc, uint32_t icc_size) { … } /** * @ingroup iface_zcr_color_space_v1 * Sends an names event to the client owning the resource. * @param resource_ The client's resource * @param eotf EOTF * @param chromaticity chromaticity * @param whitepoint whitepoint */ static inline void zcr_color_space_v1_send_names(struct wl_resource *resource_, uint32_t eotf, uint32_t chromaticity, uint32_t whitepoint) { … } /** * @ingroup iface_zcr_color_space_v1 * Sends an params event to the client owning the resource. * @param resource_ The client's resource * @param eotf EOTF * @param primary_r_x red primary X * 10000 * @param primary_r_y red primary Y * 10000 * @param primary_g_x green primary X * 10000 * @param primary_g_y green primary Y * 10000 * @param primary_b_x blue primary X * 10000 * @param primary_b_y blue primary Y * 10000 * @param white_point_x white point X * 10000 * @param white_point_y white point Y * 10000 */ static inline void zcr_color_space_v1_send_params(struct wl_resource *resource_, uint32_t eotf, uint32_t primary_r_x, uint32_t primary_r_y, uint32_t primary_g_x, uint32_t primary_g_y, uint32_t primary_b_x, uint32_t primary_b_y, uint32_t white_point_x, uint32_t white_point_y) { … } /** * @ingroup iface_zcr_color_space_v1 * Sends an done event to the client owning the resource. * @param resource_ The client's resource */ static inline void zcr_color_space_v1_send_done(struct wl_resource *resource_) { … } /** * @ingroup iface_zcr_color_space_v1 * Sends an complete_names event to the client owning the resource. * @param resource_ The client's resource * @param eotf EOTF * @param chromaticity chromaticity * @param whitepoint whitepoint * @param matrix Color matrix * @param range Color range */ static inline void zcr_color_space_v1_send_complete_names(struct wl_resource *resource_, uint32_t eotf, uint32_t chromaticity, uint32_t whitepoint, uint32_t matrix, uint32_t range) { … } /** * @ingroup iface_zcr_color_space_v1 * Sends an complete_params event to the client owning the resource. * @param resource_ The client's resource * @param eotf EOTF * @param matrix Color matrix * @param range Color range * @param primary_r_x red primary X * 10000 * @param primary_r_y red primary Y * 10000 * @param primary_g_x green primary X * 10000 * @param primary_g_y green primary Y * 10000 * @param primary_b_x blue primary X * 10000 * @param primary_b_y blue primary Y * 10000 * @param white_point_x white point X * 10000 * @param white_point_y white point Y * 10000 */ static inline void zcr_color_space_v1_send_complete_params(struct wl_resource *resource_, uint32_t eotf, uint32_t matrix, uint32_t range, uint32_t primary_r_x, uint32_t primary_r_y, uint32_t primary_g_x, uint32_t primary_g_y, uint32_t primary_b_x, uint32_t primary_b_y, uint32_t white_point_x, uint32_t white_point_y) { … } #ifdef __cplusplus } #endif #endif