Wayland 交互 [src]
特定于 Wayland 后端的函数
本节中的函数特定于 GDK Wayland 后端。要使用它们,你需要包含头文件 <gdk/wayland/gdkwayland.h>
,并使用特定于 Wayland 的 pkg-config 文件 gtk4-wayland
来构建你的应用程序。
检查 Wayland 后端
GDK 可以通过支持多个后端来构建,这意味着如果你希望调用特定于后端的 API,则需要执行编译时间检查 和 运行时检查。例如,以下代码示例将保护对不同后端的调用,并在不支持的窗口系统上出错
#ifdef GDK_WINDOWING_WAYLAND
#include <gdk/wayland/gdkwayland.h>
#endif
#ifdef GDK_WINDOWING_X11
#include <gdk/x11/gdkx.h>
#endif
#ifdef GDK_WINDOWING_WAYLAND
if (GDK_IS_WAYLAND_DISPLAY (display))
{
// make Wayland-specific calls here
}
else
#endif
#ifdef GDK_WINDOWING_X11
if (GDK_IS_X11_DISPLAY (display))
{
// make X11-specific calls here
}
else
#endif
g_error ("Unsupported GDK backend");
编译时间检查通过使用 GDK_WINDOWING_*
预处理器符号执行;为构建到 GDK 中的每个窗口系统后端定义了一个符号。对于 Wayland,此符号为 GDK_WINDOWING_WAYLAND
。
通过查看 GdkDisplay
对象的类型来执行运行时检查。对于 Wayland,显示对象将为类型 GdkWaylandDisplay
。