Chromium color management

色彩管理协议

此协议规定了一种方式,允许客户端设置 surface 的色彩空间和 HDR 元数据,并获取输出设备的色彩空间和 HDR 能力信息。

此协议基于一个已提交的上游协议草案,待其获批后我们将迁移至该版本。 在开发过程中,此协议可能与上游草案存在差异。

色彩管理器单例

一个全局接口,用于获取色彩管理 surface 和色彩管理 output 对象, 以及从 ICC 配置文件、参数或枚举名称创建色彩空间对象。

create_color_space_from_icc(id: new_id<zcr_color_space_creator_v1>, icc: fd)
参数
类型
描述
idnew_id<zcr_color_space_creator_v1>
iccfd
从 ICC 配置文件创建色彩空间对象

从 ICC 配置文件创建色彩空间对象。此请求返回一个 zcr_color_space_creator_v1 对象,该对象将返回错误 或成功创建的 zcr_color_space_v1 对象。

要创建的色彩空间描述以 ICC 配置文件的形式,通过参数 icc 中的文件描述符发送。

fd 必须可寻址,ICC 配置文件的最大大小为 4 MB。 违反这些要求将引发 icc_fd 协议错误。 合成器不得修改文件内容,fd 可被密封以防止写入和大小更改。

文件内容必须代表有效的 ICC 配置文件。 ICC 配置文件版本必须为 2 或 4,必须是 3 通道配置文件, 类别必须为 'input'、'output'、'abstract' 或 'display'。 违反这些要求不会导致协议错误,但会触发 zcr_color_space_creator_v1.error 事件。

有关创建对象的更多详细信息,请参阅 zcr_color_space_v1 和 zcr_color_space_creator_v1 接口。

有关 ICC 配置文件的更多详细信息,请参阅 International Color Consortium 的规范(也称为 ISO 15076-1:2010)。

从已知名称创建色彩空间对象

[已弃用] 从已知名称创建色彩空间对象。此请求返回一个 zcr_color_space_creator_v1 对象,该对象将返回错误 或成功创建的 zcr_color_space_v1 对象。

EOTF、色度和白点不得为 unknown。否则,或给定值 未列在枚举中时,将引发 bad_enum 协议错误。

有关创建对象的更多详细信息,请参阅 zcr_color_space_v1 和 zcr_color_space_creator_v1 接口。请改用 create_color_space_from_complete_names。

create_color_space_from_params(id: new_id<zcr_color_space_creator_v1>, eotf: uint<zcr_color_manager_v1.eotf_names>, primary_r_x: uint, primary_r_y: uint, primary_g_x: uint, primary_g_y: uint, primary_b_x: uint, primary_b_y: uint, white_point_x: uint, white_point_y: uint)
参数
类型
描述
idnew_id<zcr_color_space_creator_v1>
eotfuint<zcr_color_manager_v1.eotf_names>
EOTF
primary_r_xuint
red primary X * 10000
primary_r_yuint
red primary Y * 10000
primary_g_xuint
green primary X * 10000
primary_g_yuint
green primary Y * 10000
primary_b_xuint
blue primary X * 10000
primary_b_yuint
blue primary Y * 10000
white_point_xuint
white point X * 10000
white_point_yuint
white point Y * 10000
从参数创建色彩空间对象

[已弃用] 从参数创建色彩空间对象。此请求返回一个 zcr_color_space_creator_v1 对象,该对象将返回错误 或成功创建的 zcr_color_space_v1 对象。

EOTF 不得为 unknown。否则,或给定的 EOTF 未列在 枚举中时,将引发 bad_enum 协议错误。

白点必须位于红、绿、蓝三基色构成的三角形内部。 否则将引发 bad_param 协议错误。

所有色度值乘以 10000 以产生协议传输的整数值。

有关创建对象的更多详细信息,请参阅 zcr_color_space_v1 和 zcr_color_space_creator_v1 接口。请改用 create_color_space_from_complete_params。

get_color_management_output(id: new_id<zcr_color_management_output_v1>, output: object<wl_output>)
参数
类型
描述
idnew_id<zcr_color_management_output_v1>
outputobject<wl_output>
为 wl_output 创建色彩管理接口

为给定的 wl_output 创建一个新的 zcr_color_management_output_v1 对象。

有关更多详细信息,请参阅 zcr_color_management_output_v1 接口。

get_color_management_surface(id: new_id<zcr_color_management_surface_v1>, surface: object<wl_surface>)
参数
类型
描述
idnew_id<zcr_color_management_surface_v1>
surfaceobject<wl_surface>
为 wl_surface 创建色彩管理接口

为给定的 wl_surface 创建一个新的 zcr_color_management_surface_v1 对象。

有关更多详细信息,请参阅 zcr_color_management_surface_v1 接口。

destroy()
销毁色彩管理器

销毁 zcr_color_manager_v1 对象。这不会以任何方式 影响任何其他对象。

从已知名称创建色彩空间对象

从已知名称创建色彩空间对象。此请求返回一个 zcr_color_space_creator_v1 对象,该对象将返回错误 或成功创建的 zcr_color_space_v1 对象。

EOTF、色度和白点不得为 unknown。否则,或给定值 未列在枚举中时,将引发 bad_enum 协议错误。

此请求还包含矩阵和范围信息。

有关创建对象的更多详细信息,请参阅 zcr_color_space_v1 和 zcr_color_space_creator_v1 接口。

参数
类型
描述
idnew_id<zcr_color_space_creator_v1>
eotfuint<zcr_color_manager_v1.eotf_names>
EOTF
matrixuint<zcr_color_manager_v1.matrix_names>
Color matrix
rangeuint<zcr_color_manager_v1.range_names>
Color range
primary_r_xuint
red primary X * 10000
primary_r_yuint
red primary Y * 10000
primary_g_xuint
green primary X * 10000
primary_g_yuint
green primary Y * 10000
primary_b_xuint
blue primary X * 10000
primary_b_yuint
blue primary Y * 10000
white_point_xuint
white point X * 10000
white_point_yuint
white point Y * 10000
从参数创建色彩空间对象

从参数创建色彩空间对象。此请求返回一个 zcr_color_space_creator_v1 对象,该对象将返回错误 或成功创建的 zcr_color_space_v1 对象。

EOTF 不得为 unknown。否则,或给定的 EOTF 未列在 枚举中时,将引发 bad_enum 协议错误。

白点必须位于红、绿、蓝三基色构成的三角形内部。 否则将引发 bad_param 协议错误。

所有色度值乘以 10000 以产生协议传输的整数值。

此请求还包含矩阵和范围信息。

有关创建对象的更多详细信息,请参阅 zcr_color_space_v1 和 zcr_color_space_creator_v1 接口。

参数
描述
unknown0
未知 EOTF
linear1
线性传递函数
srgb2
sRGB 传递函数
bt20873
BT.2087 传递函数
adobergb4
AdobeRGB 传递函数
pq5
感知量化器 / SMPTEST2084
hlg起始版本 26
混合对数伽马
bt709起始版本 27
用于 rec709 编码视频的伽马
extendedsrgb10起始版本 28
带 HDR 余量的 sRGB 传递函数
smpte170m起始版本 59
SMPTE240M 传递函数
smpte240m起始版本 510
SMPTE240M 传递函数
smptest428_1起始版本 511
SMPTEST428_1 传递函数
log起始版本 512
LOG 传递函数
log_sqrt起始版本 513
LOG Sqrt 传递函数
iec61966_2_4起始版本 514
IEC61966_2_4 传递函数
bt1361_ecg起始版本 515
BT1361_ECG 传递函数
bt2020_10起始版本 516
BT2020_10 传递函数
bt2020_12起始版本 517
BT2020_12 传递函数
scrgb_linear_80_nits起始版本 518
SCRGB 线性传递函数
gamma18起始版本 519
GAMMA18 传递函数
gamma28起始版本 520
GAMMA28 传递函数
srgb_hdr起始版本 621
sRGB 传递函数
已知 EOTF 名称

描述已知 EOTF 的名称。

合成器必须根据协议接口版本支持所有这些名称。

参数
描述
unknown0
未知色度
bt601_525_line1
ITU-R BT.601 http://www.itu.int/rec/R-REC-BT.601/en
bt601_625_line2
ITU-R BT.601 http://www.itu.int/rec/R-REC-BT.601/en
smpte170m3
SMPTE 170M-1999 https://www.itu.int/rec/R-REC-BT.1700/en
bt7094
ITU-R BT.709 https://www.itu.int/rec/R-REC-BT.709/en
bt20205
ITU-R BT.2020 http://www.itu.int/rec/R-REC-BT.2020/en
srgb6
IEC/4WD 61966-2-1: sRGB https://webstore.iec.ch/publication/6169
displayp37
Display P3 https://developer.apple.com/reference/coregraphics/cgcolorspace/1408916-displayp3
adobergb8
Adobe RGB https://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf
wide_gamut_color_spin起始版本 59
bt470m起始版本 510
smpte240m起始版本 511
xyz_d50起始版本 512
smptest428_1起始版本 513
smptest431_2起始版本 514
film起始版本 515
已知色度名称

描述已知色度的名称。

合成器必须根据协议接口版本支持所有这些名称。

whitepoint_names { unknown, dci, d50, d65 } 
参数
描述
unknown0
未知白点
dci1
DCI 白点
d502
D50 白点
d653
D65 白点
已知白点名称

描述已知白点的名称。

合成器必须根据协议接口版本支持所有这些名称。

参数
描述
icc_fd0
给定的 ICC fd 属性错误
bad_enum1
作为已知名称给出的值无效
bad_param2
参数值无效
参数
描述
unknown0
未知范围
rgb1
RGB 矩阵
bt7092
BT709 矩阵
bt2020_ncl3
BT2020_NCL 矩阵
bt2020_cl4
BT2020_CL 矩阵
fcc5
FCC 矩阵
smpte170m6
SMPTE170M 矩阵
smpte240m7
SMPTE240M 矩阵
ydzdx起始版本 58
YDZDX 矩阵
bt470bg起始版本 59
BT470BG 矩阵
gbr起始版本 510
GBR 矩阵
ycocg起始版本 511
YCOCG 矩阵
用于指定色彩矩阵

描述典型色彩空间矩阵 ID 的名称

range_names { unknown, limited, full, derived } 
参数
描述
unknown0
未知范围
limited1
受限 RGB 色彩范围(8 位时值从 16-235)
full2
完整 RGB 色彩范围(8 位时值从 0 到 255)
derived3
范围由 EOTF/MatrixID 定义
用于指定 RGB 范围

描述典型 RGB 值范围的名称。


输出设备色彩属性

zcr_color_management_output_v1 描述输出设备的色彩属性。

创建 zcr_color_management_output_v1 对象时,它将发送初始事件, 随后是 wl_output.done 事件。创建 wl_output 及其扩展对象时, 使用最终的 wl_display.sync 以确保所有扩展的输出事件都已被接收。

如果与 zcr_color_management_output_v1 关联的 wl_output 被销毁, zcr_color_management_output_v1 对象将变为惰性。

get_color_space(id: new_id<zcr_color_space_v1>)
参数
类型
描述
idnew_id<zcr_color_space_v1>
获取输出设备的色彩空间

为输出设备的当前色彩空间创建一个新的 zcr_color_space_v1 对象。 输出设备始终恰好有一个活动色彩空间,因此客户端应销毁 先前调用此请求创建的色彩空间。此请求通常作为对 color_space_changed 事件的响应或在创建 zcr_color_management_output_v1 对象时发送。

创建的 zcr_color_space_v1 对象保存对象创建时 输出设备的色彩空间。

生成的色彩空间对象允许 get_information 请求。

有关更多详细信息,请参阅 zcr_color_space_v1 接口。

destroy()
销毁色彩管理输出

销毁 zcr_color_management_output_v1 对象。这不会影响 任何剩余的协议对象。

color_space_changed()
色彩空间已更改

当输出设备的色彩空间发生变化时发送 color_space_changed 事件, 随后是所有扩展共用的 wl_output.done 事件。

这不是初始事件。

extended_dynamic_range(value: uint)
参数
类型
描述
valueuint
EDR value * 1000
输出设备扩展动态范围

这既是初始事件,也会在值发生变化时发送。 当值发生变化时,此事件之后是所有扩展共用的 wl_output.done 事件。

扩展动态范围值描述相对于 SDR 最大白色的可用动态范围。 EDR 值与亮度成正比,黑色亮度作为零电平。 值为 1.0 表示显示器无法显示比 SDR 最大白色更亮的内容。 值为 3.0 表示 SDR 最大白色为显示器可产生的最高亮度的 三分之一。

SDR 最大白色的绝对亮度取决于显示器功能、观看条件 和观看者的个人偏好。因此,无法给出以 cd/m² 为单位的 单一值。使用 HDR 视频模式的合成器应允许用户控制 用于计算输出 EDR 值的 SDR 最大白色电平。

SDR 最大白色是一个相对参考亮度,允许将来自不同动态范围 的内容色调映射到单一的公共动态范围进行显示。

EDR 值乘以 1000 以产生协议传输的整数值。


surface 的色彩管理扩展

zcr_color_management_surface_v1 允许客户端设置 surface 的 色彩空间和 HDR 属性。

如果与 zcr_color_management_surface_v1 关联的 wl_surface 被销毁, zcr_color_management_surface_v1 对象将变为惰性。

设置 surface 的 alpha 模式

假设 alpha 通道存在,它始终是线性的。alpha 模式决定 色彩通道是否包含预乘 alpha。使用直接 alpha 可能具有 性能优势。

Alpha 模式是双缓冲的,将在调用相应 wl_surface 的 wl_surface.commit 时应用。

默认情况下,surface 被假定为具有预乘 alpha。

set_extended_dynamic_range(value: uint)
参数
类型
描述
valueuint
EDR value * 1000
设置内容扩展动态范围

设置底层 surface 的扩展动态范围(EDR)值。 EDR 值是双缓冲的,将在调用相应 wl_surface 的 wl_surface.commit 时应用。

EDR 值描述相对于 SDR 最大白色编码了多少动态范围。 EDR 值与亮度成正比,使用黑色亮度作为零电平。 值为 1.0 表示 SDR 最大白色是 surface 的最高可能亮度。 值为 3.0 表示 SDR 最大白色是 surface 最高可能亮度的 三分之一。

附加到 surface 的色彩空间可以使缓冲区中的代码值 在亮度方面呈非线性。因此,产生最大代码值三分之一亮度 的代码值可能不是最大代码值的三分之一。

有关输出设备上 SDR 最大白色的定义,请参阅 zcr_color_management_output_v1.extended_dynamic_range。 内容制作商可以自由选择其 SDR 最大白色电平。 如何显示取决于显示器功能和输出 EDR 值。

默认情况下 EDR 值为 1.0。合成器将对图像进行色调映射 以匹配 surface 所显示的每个输出设备的 EDR。 EDR 到 EDR 映射的目标是产生一种相对亮度映射, 无论观看条件和显示器功能如何,都能呈现同样良好的效果, 前提是输出 EDR 值已根据输出功能和观看环境进行了调整。 提供已色调映射到 surface 所显示输出设备 EDR 值的内容, 可能在性能和图像质量方面具有优势。

EDR 值乘以 1000 以产生协议传输的整数值。

设置 surface 的色彩空间

设置底层 surface 的色彩空间。色彩空间和渲染意图 是双缓冲的,将在调用相应 wl_surface 的 wl_surface.commit 时应用。

渲染意图为合成器提供提示,说明在色彩空间转换中 应优化什么。

默认情况下,surface 被假定为具有 sRGB 色彩空间和 任意渲染意图。

如果 surface 的色彩空间与其所显示的输出设备的色彩空间 匹配,性能和色彩准确性可能会提高。要查找这些色彩空间, 客户端可以监听 preferred_color_space 或 wl_surface.enter/leave 事件。此改进可能需要使用 zcr_color_management_output_v1.get_color_space 创建的 色彩空间对象。

set_default_color_space()
将 surface 的色彩空间设置为默认值

此请求将 surface 的色彩空间设置为默认值,请参阅 set_color_space。设置将在调用相应 wl_surface 的 wl_surface.commit 时应用。

destroy()
销毁 surface 的色彩管理接口

销毁 zcr_color_management_surface_v1 对象。

当 wl_surface 的最后一个 zcr_color_management_surface_v1 对象被销毁时,销毁将挂起取消设置 wl_surface 的色彩空间、 渲染意图和 alpha 模式,类似于 set_color_space 将挂起设置。

preferred_color_space(output: object<wl_output>)
参数
类型
描述
outputobject<wl_output>
用于色彩优化的输出设备

当合成器确定或切换到暗示首选色彩空间的输出设备时, 发送 preferred_color_space 事件。首选色彩空间是客户端 用于其 surface 内容时可能获得最佳性能和质量的色彩空间。

此事件不携带 zcr_color_space_v1 而是 wl_output 对象。 具体的 zcr_color_space_v1 可以通过在输出设备上调用 zcr_color_management_output_v1.get_color_space 并监听 zcr_color_management_output_v1.color_space_changed 事件来创建。

由于客户端可能多次绑定到同一全局 wl_output, 此事件将发送给与首选色彩空间输出设备匹配的每个绑定实例。 如果客户端根本没有绑定到正确的 wl_output 全局对象, 则不会发送此事件。

这只是一个提示,客户端可以使用 set_color_space 设置 任何有效的色彩空间,但提供首选色彩空间中的 surface 可能会提高性能和色彩准确性。

参数
描述
perceptual0
感知
relative1
媒体相对色度
saturation2
饱和度
absolute3
ICC 绝对色度
relative_bpc4
媒体相对色度 + 黑点补偿
渲染意图

渲染意图允许客户端提示如何执行色彩空间转换。

有关渲染意图的更多详细信息,请参阅 ICC 规范。

alpha_mode { straight, premultiplied } 
参数
描述
straight0
alpha 独立于色彩通道
premultiplied1
alpha 预乘到色彩通道中
alpha 模式

指定 alpha 是否预乘到色彩通道中。如果预乘, 线性 alpha 值已与色彩通道中的(非线性)色彩通道 代码值相乘。


色彩空间创建器

zcr_color_space_creator_v1 对象返回创建的色彩空间 或创建过程中发生的错误。

一旦 zcr_color_space_creator_v1 对象发送了 'created' 或 'error' 事件,它将自动销毁。

created(id: new_id<zcr_color_space_v1>)
参数
类型
描述
idnew_id<zcr_color_space_v1>
色彩空间对象已创建

交付成功创建的色彩空间。

生成的色彩空间对象不允许 get_information 请求。

参数
类型
描述
erroruint<zcr_color_space_creator_v1.creation_error>
error bitmask
色彩空间创建失败

如果色彩空间创建失败,则发送此事件。

参数
描述
malformed_icc0x1
ICC 配置文件格式错误
bad_icc0x2
ICC 配置文件不满足要求
bad_primaries0x4
三基色无效
bad_whitepoint0x8
白点无效
色彩空间创建错误

尝试创建色彩空间时发生的错误位掩码


色彩空间

引用一个可附加到 surface 的色彩空间 (zcr_color_management_surface_v1.set_color_space)。 它可以提供 ICC 配置文件和已知名称等信息, 以允许客户端了解色彩空间并自行进行色彩转换。

创建后,无论创建方式如何,zcr_color_space_v1 对象 始终引用一个固定的色彩空间。

客户端可以使用 zcr_color_manager_v1 请求创建 zcr_color_space_v1 对象,或通过调用 zcr_color_management_output_v1.get_color_space 从输出设备创建。

其他扩展可以定义更多的 zcr_color_space_v1 工厂接口。 这些接口必须显式指定所创建对象的接口版本, 否则将无法正确对 zcr_color_space_v1 进行版本控制。 使用在 XML 中未定义 'interface' 属性的 'new_id' 参数 会强制代码生成器添加两个显式参数:interface 和 version。 Version 是所需的显式版本号,interface 应被要求为 "zcr_color_space_v1"。合成器支持的 zcr_color_space_v1 版本 由 wl_registry 中公布的 zcr_color_manager_v1 定义。

get_information()
获取色彩空间信息

作为对此请求的响应,合成器将发送描述此色彩空间对象的 所有可用信息事件,最后发送 'done' 事件。 其他扩展可以定义在 'done' 之前发送的更多事件。

此请求仅允许在创建对象的消息指定允许 get_information 的 zcr_color_space_v1 对象上调用。否则将引发 no_information 协议错误。

同一对象上的每个 get_information 请求将始终返回完全相同的数据。

请参阅 zcr_color_management_output_v1.get_color_space 和 zcr_color_space_creator_v1.created。

destroy
类型: destructor
destroy()
销毁色彩空间

销毁 zcr_color_space_v1 对象。

销毁在 surface 或输出设备上处于活动状态的 zcr_color_space_v1 不会更改这些对象的色彩空间。

icc_file(icc: fd, icc_size: uint)
参数
类型
描述
iccfd
ICC profile file descriptor
icc_sizeuint
ICC profile size, in bytes
描述色彩空间的 ICC 配置文件

此事件仅可作为 zcr_color_space_v1.get_information 的 响应发送。

icc 参数向客户端提供一个文件描述符,可以内存映射 以获取描述色彩空间的 ICC 配置文件。 客户端必须使用 MAP_PRIVATE 且只读方式映射 fd。

合成器应在请求信息时始终发送此事件。 ICC 配置文件提供了所有色彩管理客户端可以依赖的共同基础。

色彩空间的已知名称

[已弃用] 此事件仅可作为 zcr_color_space_v1.get_information 的 响应发送。

EOTF、色度和白点包含这些属性的已知名称(如果可用), 否则为 unknown。

合成器不应假设所有客户端都能理解这些名称。 这些名称是为客户端方便而提供的。如果客户端理解名称三元组, 它可以忽略关于色彩空间的其他信息,例如 ICC 配置文件。 请改用 complete_names。

参数
类型
描述
eotfuint<zcr_color_manager_v1.eotf_names>
EOTF
primary_r_xuint
red primary X * 10000
primary_r_yuint
red primary Y * 10000
primary_g_xuint
green primary X * 10000
primary_g_yuint
green primary Y * 10000
primary_b_xuint
blue primary X * 10000
primary_b_yuint
blue primary Y * 10000
white_point_xuint
white point X * 10000
white_point_yuint
white point Y * 10000
定义色彩空间的 RGB 三基色和白点

[已弃用] 此事件仅可作为 zcr_color_space_v1.get_information 的 响应发送。

RGB 三基色值参数连同白点值参数和 eotf 可用于定义 任意或自定义色彩空间。

eotf 枚举包含该属性的已知名称,但合成器不应假设 所有客户端都能理解这些名称。请改用 complete_params。

done()
色彩空间信息结束

此事件仅可作为 zcr_color_space_v1.get_information 的 响应发送。

这表示该对象的所有色彩空间信息事件已全部交付。

色彩空间的已知名称

此事件仅可作为 zcr_color_space_v1.get_information 的 响应发送。

EOTF、色度、矩阵、范围和白点包含这些属性的已知名称 (如果可用),否则为 unknown。

合成器不应假设所有客户端都能理解这些名称。 这些名称是为客户端方便而提供的。如果客户端理解名称三元组, 它可以忽略关于色彩空间的其他信息,例如 ICC 配置文件。

参数
类型
描述
eotfuint<zcr_color_manager_v1.eotf_names>
EOTF
matrixuint<zcr_color_manager_v1.matrix_names>
Color matrix
rangeuint<zcr_color_manager_v1.range_names>
Color range
primary_r_xuint
red primary X * 10000
primary_r_yuint
red primary Y * 10000
primary_g_xuint
green primary X * 10000
primary_g_yuint
green primary Y * 10000
primary_b_xuint
blue primary X * 10000
primary_b_yuint
blue primary Y * 10000
white_point_xuint
white point X * 10000
white_point_yuint
white point Y * 10000
定义色彩空间的 RGB 三基色和白点

此事件仅可作为 zcr_color_space_v1.get_information 的 响应发送。

RGB 三基色值参数连同白点值参数和 eotf 可用于定义 任意或自定义色彩空间。

eotf 枚举包含该属性的已知名称,但合成器不应假设 所有客户端都能理解这些名称。

error { no_information } 
参数
描述
no_information0
不允许 get_information

合成器支持

未发现合成器支持

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.

Footer

© 2026 Wayland Explorer

本网站与 Wayland 官方项目无任何关联。网站所有内容均根据 Wayland 协议 XML 文件自动生成。

本网站使用的 Visual Studio Code - Codicons 遵循 CC BY 4.0 许可。