第一章 X窗口系统快速入门 1
1.1 简介 1
1.2 示例1:一个最简单的X程序 3
1.3 示例2:打开一个简单的窗口 7
1.4 示例3:对openWindow函数添加新的功能 14
1.5 小结 19
第二章 X系统基本概念 20
2.1 客户-服务器模型 20
2.2 显示器和屏幕 21
2.3 资源 21
2.4 请求 21
2.5 窗口的基本概念 22
2.6 事件 24
2.7 输入设备 24
2.8 窗口管理器 25
2.9 应用程序与X窗口系统的界面 25
2.10 小结 27
第三章 Xlib的事件处理 28
3.1 简介 28
3.2 事件驱动型编程 28
3.3 X窗口事件的模型 29
3.4 事件请求 29
3.5 事件模 30
3.6 从X窗口服务器接收事件 30
3.7 事件查询 31
3.8 事件类型 32
3.9 鼠标按钮事件 33
3.10 键盘事件 35
3.11 进入/离开事件 36
3.12 暴露事件 37
3.13 例1:一个检查事件的程序 38
3.14 例2:一个基于鼠标的画图程序 41
3.15 小结 44
第四章 Xlib的键盘事件处理 46
4.1 简介 46
4.2 抽象键定义KeySym 46
4.3 元键(Alt) 49
4.4 鼠标按钮 50
4.5 示例程序 51
4.6 键盘匹配的改变 56
4.7 小结 56
第五章 XtIntrinsics程序设计 57
5.1 简介 57
5.2 命名规则 57
5.3 X工具包程序设计模型 58
5.4 Xtlntrinsics基本函数 59
5.5 例子memo 65
5.6 应用程序上下文 76
5.7 小结 78
第六章 资源管理程序 79
6.1 简介 79
6.2 什么是资源 79
6.3 指定资源 79
6.5 组件资源协议 97
6.6 小结 98
第七章 组件类 99
7.1 简介 99
7.2 组件类 99
7.3 Intrinsics组件类 100
7.4 OLlT组件类 102
第八章 动作组件 104
8.1 OblongButton组件 104
8.2 OblongButton无窗口组件 108
8.3 RectButton组件 108
8.4 CheckBox组件 111
8.5 MenuButton组件 112
8.6 MenuButton无窗口组件 115
8.7 AbbrevMenuButton组件 116
8.8 Slider组件 118
8.9 Gauge组件 121
8.10 Scrollbar组件 122
8.11 DropTarget组件 125
8.12 Stub组件 126
第九章 管理者组件 127
9.1 BulletinBoard组件 127
9.2 ControlArea组件 128
9.3 DrawArea组件 130
9.4 RubberTile组件 131
9.5 Form组件 133
9.6 FooterPanel组件 135
第十章 文本控制组件 137
10.1 StaticText组件 137
10.2 TextField组件 138
10.3 TextEdit组件 141
第十一章 容器组件 147
11.1 Caption组件 147
11.2 Exclusives和Nonexclusives组件 149
11.3 Flat组件 155
11.4 ScrolledWindow组件 161
11.5 ScrollingList组件 162
第十二章弹出式组件 169
12.1 NoticeShell组件 169
12.2 MenuShell组件 171
12.3 PopupWindowShell组件 173
第十三章 X的颜色机制 184
13.1 简介 184
13.2 X颜色模型 184
13.3 示例:一个颜色表编辑器 190
13.4 小结 198
第十四章 光栅图像的操作 199
14.1 简介 199
14.2 象素图 199
14.3 位图 199
14.4 可画区之间的拷贝 200
14.5 图像 204
14.6 小结 208
第十五章 图形环境与图形文本操作 209
15.1 简介 209
15.2 图形环境的创建 209
15.3 图形环境的操作 211
15.4 图形暴露与区域 215
15.5 点的绘制 216
15.6 线的绘制 216
15.7 多边形和弧的绘制 217
15.8 字体 218
15.9 文本操作 219
15.10 小结 220
第十六章 事件的处理 221
16.1 简介 221
16.2 事件的定义 221
16.3 事件模 222
16.4 事件类型 222
16.5 用XtIntrinsics处理事件 229
16.6 消费事件回调 233
16.7 事件队列管理 234
16.8 超时处理 234
16.9 工作过程 235
16.10 其他输入源的处理 235
16.11 小结 236
第十七章 间客户间通信 237
17.1 简介 237
17.2 原子 237
17.3 特性 238
17.4 和用事件进行通信 247
17.5 选择技术 259
17.6 OLIT的拖曳和引入技术 266
17.7 小结 269
第十八章 创建新组件 270
18.1 简介 270
18.2 组件的内部结构 270
18.3 一个简单的组件类:Dial组件 278
18.4 继承 293
18.5 元类 298
18.6 小结 298
第十九章 组合组件的创建 299
19.1 简介 299
19.2 组合组件的结构 299
19.3 Row组件 300
19.4 小结 315
第二十章 约束组件的创建 316
20.1 简介 316
20.2 约束组件结构 316
20.3 约束组件:Tree组件 317
20.4 小结 339
参考文献 340