macOS 交互 [src]
macOS 后端特定功能
本部分中的功能是 GDK macOS 后端特定的。要使用这些功能,需要包含标头 <gdk/macos/gdkmacos.h>
并使用 macOS 特定的 pkg-config gtk4-macos
文件来构建你的应用程序。
检查 macOS 后端
GDK 可内置支持多个后端,这意味着如果你希望调用后端特定的 API,则需要进行编译时和运行时检查;例如,以下代码示例将保护对不同后端进行的调用,并对不受支持的窗口系统提出错误
#ifdef GDK_WINDOWING_MACOS
#include <gdk/macos/gdkmacos.h>
#endif
#ifdef GDK_WINDOWING_WAYLAND
#include <gdk/wayland/gdkwayland.h>
#endif
#ifdef GDK_WINDOWING_X11
#include <gdk/x11/gdkx.h>
#endif
#ifdef GDK_WINDOWING_MACOS
if (GDK_IS_MACOS_DISPLAY (display))
{
// make macOS-specific calls here
}
else
#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_MACOS
。
运行时检查是通过查看 GdkDisplay
对象的类型来进行的。对于 Wayland,显示对象将是类型为 GdkMacosDisplay
的对象。