从上一个问题中,我发现“wl_compositor_interface”在头文件“wayland-server-protocol.h”中用作结构标记和变量。
%windir%\system32\inetsrv\config
但是,头文件刚刚将变量声明为struct wl_compositor_interface {
void (*create_surface)(struct wl_client *client,
struct wl_resource *resource,
uint32_t id);
void (*create_region)(struct wl_client *client,
struct wl_resource *resource,
uint32_t id);
};
extern const struct wl_interface wl_compositor_interface;
我找不到变量的定义位置。类似地,具有模式“wl _ *** _ interface”的所有变量都在头文件中声明但没有定义。
有人可以帮我找到定义吗?
Wayland来源在这里
我也查看了文档,没有关于wl _ *** _ interface
的描述答案 0 :(得分:0)
这是因为绑定到wl_compositor global时必须使用的struct wl_interface wl_compositor_interface
位于生成的协议代码中,通常位于$SRC/protocol/wayland-protocol.c
。
struct wl_compositor_interface
是合成器用于注册函数的结构,它将接收来自客户端的请求(用于表示客户端看到的合成器全局的wl_resource结构)。