不稳定的 Wayland 模块

此模块从版本 0.62.0 开始可用。

此模块提供辅助函数来查找 wayland 协议 xml,并使用 wayland-scanner 生成 .c 和 .h 文件。

注意:此模块不稳定。它仅作为技术预览提供。其 API 在不同版本之间可能会以任意方式更改,或者可能完全从 Meson 中删除。

快速使用

project('hello-wayland', 'c')

wl_dep = dependency('wayland-client')
wl_mod = import('unstable-wayland')

xml = wl_mod.find_protocol('xdg-shell')
xdg_shell = wl_mod.scan_xml(xml)

executable('hw', 'main.c', xdg_shell, dependencies : wl_dep)

方法

find_protocol

xml = wl_mod.find_protocol(
  'xdg-decoration',
  state : 'unstable',
  version : 1,
)

此函数需要一个位置参数:协议基本名称。

它接受以下关键字参数

  • state 可选参数,指定协议的当前状态。可以是 'stable''staging''unstable'。默认值为 'stable'
  • version 向后不兼容的版本号,以整数表示。对于 staging 和 unstable 是必需的,但对于 stable 不允许。

返回值:一个 file,可以传递给 scan_xml

scan_xml

generated = wl_mod.scan_xml(
  'my-protocol.xml',
  client : true,
  server : true,
  public : false,
  include_core_only : true,
)

此函数接受一个或多个字符串或文件类型的参数。

它接受以下关键字参数

  • public 可选参数,指定生成代码的范围。默认值为 false。
  • client 可选参数,指定是否生成客户端侧头文件。默认值为 true。
  • server 可选参数,指定是否生成服务器侧头文件。默认值为 false。
  • include_core_only 可选参数,指定生成的标头仅包含 wayland-<client|server>-core.h 而不是 wayland-<client|server>.h。默认值为 true。自 0.64.0

返回值:一个 custom_tgt 列表,按源、客户端侧头、服务器侧头的顺序排列。生成的标头文件名为 <name>-<client|server>-protocol.h

搜索结果为