Xlib事件处理函数详解
1. 引言
在图形编程中,事件处理是至关重要的一部分。许多应用程序本质上是事件循环,它们等待事件发生,决定如何处理该事件,执行一些代码以改变显示,然后等待下一个事件。本文将详细介绍Xlib中用于事件处理的函数,包括事件选择、输出缓冲区处理、事件队列管理、事件发送与获取以及协议错误处理等方面。
2. 选择事件
在客户端应用程序中,有两种方式选择你希望接收报告的事件:
- 设置XSetWindowAttributes结构的event_mask成员 :在调用 XCreateWindow 和 XChangeWindowAttributes 时设置。
- 使用XSelectInput函数 :
XSelectInput(display, w, event_mask);
参数说明:
| 参数 | 说明 |
| ---- | ---- |
| display | 指定与X服务器的连接 |
| w | 指定你感兴趣的窗口 |
| event_mask | 指定事件掩码 |
XSelectInput 函数请求X服务器报告与指定事件掩码相关的事件。初始时,X不会报告这些事件。事件是相对于窗口报告的,如果一个窗口对某个设备事件不感兴趣,该事件通常会传播到最近的感兴趣的祖先窗口,除非 do_not_pr
超级会员免费看
订阅专栏 解锁全文
1

被折叠的 条评论
为什么被折叠?



