《X教程 11.4版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:叶欣,唐晓菲等编
  • 出 版 社:北京:海洋出版社
  • 出版年份:1991
  • ISBN:7502719091
  • 页数:372 页
图书介绍:

前言 1

目 录 1

第一章 简介 2

1.1 X环境 2

1.2 X窗口系统的目标 3

1.2.1厂家和模型独立 4

1.2.2输出功能 5

1.2.3输入功能 5

1.2.4信息共享能力 5

1.2.5并发性 6

1.3使用X 6

1.3.1窗口管理器 7

1.4用X进行程序设计 7

1.5协议说明 8

1.6工具箱 8

1.7.2各章概述 9

1.7.3调用 9

1.7本书的使用 9

1.7.1要求 9

1.7.4事件 10

1.7.5术语 10

第二章Hello,World 11

2.1 helloworld.c做什么 12

2.2 helloworld.c描述 12

2.3 helloworld.c分析 12

2.3.1头文件 12

2.3.3初始化 13

2.3.2声明 13

2.3.4输入事件请求 14

2.3.5窗口映射 15

2.3.6读事件主循环 15

2.3.7建立和运行helloworld.c 17

2.3.8 X窗口系统应用结构化 17

第三章X概念 19

3.1 X网络协议 19

3.1.1单道协议请求信息 20

3.2 Xlib过程接口 21

3.1.3错误事件消息 21

3.1.2事件信息 21

3.2.1头文件 22

3.2.2请求和方便函数 22

3.2.3服务函数 22

3.2.4信息宏和函数 22

3.3显示连接 22

3.3.1显示名 23

3.3.2打开显示连接 25

3.4资源 26

3.3.3关闭显示连接 26

3.4.1控制资源生存期 28

3.4.2显示结构信息 29

3.5事件 31

3.5.1事件和窗口 32

3.5.2事件类型汇总 32

3.5.3请求事件 34

3.5.4异步事件生成 35

3.5.5从事件队列接收事件 35

3.5.6请求缓冲区的显示控制 39

3.6错误处理 40

3.6.1错误代码 41

3.6.2缺省Xlib错误事件处理器 41

3.6.3应用定义错误事件处理 41

3.6.4致命I/O处理 44

3.7小结 44

第四章窗口 47

4.1窗口及台式模型 47

4.1.1窗口级和压栈 48

4.1.2窗口几何 51

4.1.3窗口状态和生存周期 51

4.2简化窗口 54

4.2.1窗口建立 55

4.2.2请求窗口事件 57

4.2.3窗口映射 57

4.2.4背景和边界 58

4.2.5撤销窗口映射 59

4.2.6破坏窗口 60

4.3.1操作窗口几何 61

4.3窗口结构 61

4.3.2操作窗口压栈顺序 66

4.3.3 XConfigureWindow 68

4.4属性和特性 70

4.4.1窗口特性 70

4.4.2 窗口属性 71

4.5高级窗口操作 78

4.5.1 XSetWindowAttributes结构和屏蔽 78

4.52 XCreateWindow 79

4.5.3 XChangeWindowAttributes 81

4.5.4 XSetWindowBackgroundPixmap 81

4.5.5 XSetWindowBorderPixmap 82

4.5.6 XGetWindowAttributes 82

4.5.7 XQueryTree 83

4.5.8 XReparentWindow 84

4.6窗口管理器交互 85

4.6.1窗口管理器的干涉 85

4.6.2无管理(瞬时)窗口 85

4.6.3可管理窗口 86

4.7窗口定尺寸方法 94

4.8通知事件 96

4.8.1请求窗口通知事件 97

4.8.2接收和处理窗口通知事件 97

4.9小结 104

第五章图形 106

5.1图形流水线和GC 107

5.1.1像素选择阶段 108

5.1.4窗口剪裁阶段 109

5.1.5光栅输出阶段 109

5.1.3 GC剪裁阶段 109

5.1.2模式化阶段 109

5.2操作GC资源 110

5.2.1通用GC操作请求 111

5.2.2方便函数 114

5.3 画图 117

5.3.1 点 119

5.3.2线 120

5.3.3弧、圆弧和椭圆弧 126

5.3.4矩形 129

5.3.5多边形 130

5.4 Expose事件 133

5.4.1引起Expose事件的原因 133

5.4.2窗口的局部暴露 134

5.4.3请求Expose事件 135

5.4.4接收和处理Expose事件 135

5.5 清除窗口 136

5.5.2 XClearArea 137

5.5.1 XClearWindow 137

5.6拷贝区域 138

5.6.1 XCopyArea 139

5.6.2 XCopyPlane 139

5.6.3 GraphicsExpose事件和NoExpose事件 140

5.6.4处理GraphicsExpose事件和NoExpose事件 142

5.7高级画图技术 143

5.7.1填充形式 144

5.7.2剪裁 148

5.8 工作站性能 152

5.9图形尺寸 153

5.10小结 154

第六章文本 157

6.1字体 157

62.简单字体选择 159

6.2.1装入字体 160

6.2.2设置GC中fond属性 160

6.2.3卸载字体 160

6.3绘制字符串 161

6.3.1 XDrawString 162

6.3.2 XDrawImageString 163

6.3.3 XDrawText 164

6.4字体结构 165

6.4.1装入字体结构 166

6.4.2字体结构与GC字体属性 167

6.4.3释放字体结构 167

6.4.4计算字符串的宽 167

6.4.5计算字符的维数 168

6.4.6字体特性 169

6.5.1列举可用字体 172

6.5搜索字体 172

6.5.2 工作站的字体搜索路径 174

6.6 16位字符串 174

6.6.1绘制16位串 175

6.6.2计算16位串维度 176

6.7小结 177

第七章颜色 179

7.1颜色概念 179

7.1.1平面与像素值 179

7.1.2使用像素值 180

7.1.3红色、绿色、蓝色 181

7.1.4 可见类 182

7.1.5颜色图 183

7.2 工作站能力 186

7.2.1信息函数小结 187

7.2.2 工作站与屏幕缺省信息 188

7.2.3缺省黑色与白色像素值 188

7.2.4缺省颜色图信息 188

7.2.5缺省可见集信息 189

7.2.6缺省深度信息 190

7.2.7选择可见集结构 191

7.3像素值与颜色元 192

7.3.1策略:共享颜色元 192

7.3.2策略:标准颜色图 196

7.33策略:独享颜色元 200

7.4服务函数 209

7.4.1为指定颜色寻找RGB值 209

7.4.2释放颜色元 211

7.5单色与灰度级 212

7.4.3查询颜色RGB的内容 212

7.5.1单平面单色 213

7.5.2多平面灰度级 214

7.6颜色图操纵 214

7.6.1建立颜色图 215

7.6.2把颜色图和窗口联系起来 215

7.6.3拷贝颜色图 216

7.6.4释放颜色图 216

7.6.6处 ColormapNotify事件 217

7.6.5装载与拆卸颜色图 217

7.7小结 218

第八章像图、位图与图像 221

8.1像图资源 221

8.1.1使用像图 223

8.1.2建立像图 223

8.1.3确定像图大小 224

8.2位图 225

8.2.1位图文件格式 225

8.1.4像图删除 225

8.2.2读位图文件 226

8.2.3写位图文件 228

8.2.4从数据中建立位图资源 228

8.3图像 230

8.3.1图像建立 231

8.3.2子图像 233

8.3.3像素存取 234

8.3.4发送图像到工作站 235

8.3.5从工作站检索图像 236

8.3.6图像删除 238

8.3.7图像数据结构 238

8.4小结 243

第九章鼠标与指针 244

9.1鼠标使用策略 244

9.2指针控制 245

9.2.1读当前指针位置 246

9.2.2控制指针动作特性 248

9.2.3移动——扭曲——指针 249

9.3光标 251

9.3.1建立、改变和破坏光标 252

9.3.2显示窗口内光标 254

9.4鼠标事件 255

9.4.1请求ButtonPress和ButtonRelease事件 255

9.4.2请求EnterNotify和LeaveNotify事件 257

9.4.3请求MotionNotify事件 257

7.4.5如何处理指针动作暗示 261

9.4.6 EnterNotify和LeaveNotify事件——细节 263

9.4.8 InputOnly窗口 266

9.4.7在嵌套窗口内的事件 266

9.5小结 267

第十章键盘 269

10.1键盘事件 269

10.1.1控制键盘事件的发送 270

10.1.2接收和处理键盘事件 271

10.2键码、键图、键符号和文本 273

10.2.1基础 274

10.2.2键转换服务函数 275

10.3键盘聚焦 278

10.2.3键符号分类宏 278

10.3.1 XGetInputFocus 279

10.3.2 XSetInputFocus 279

10.3.3聚焦模型 280

10.3.4请求FocusOut和FocusIn事件 281

10.3.5 FocusIn和FocusOut事件——细节 281

10.3.6请求KeymapNotify事件 287

10.3.7接收和处理KeymapNotify事件 287

10.4.1轮询键盘 288

10.4控制键盘 288

10.4.2 鸣键盘上的铃 289

10.4.3键盘控制设置 289

10.5小结 292

第十一章高级事件处理 294

11.1轮询队列 294

11.1.1在事件队列中往前看几个 295

11.1.2根据窗口及事件类型读事件 295

11.1.3用布尔函数选择事件 297

11.2事件压缩 298

11.2.1压缩MotionNotify事件 299

11.2.2压缩EnterNotify和LeaveNotify事件对 299

11.3多个显示器连接 301

11.4放回和发送事件 303

11.5获取指针 305

11.5.1开始一个指针获取 306

11.5.2修改一个指针获取 308

11.5.3结束一个指针获取 308

11.5.4指针获取与EnterNotify/LeaveNotify事件 308

11.5.5在ButtonPress和ButtonRelease之间 309

11.6获取鼠标按钮 310

11.7获取键盘 312

11.7.1开始一个键盘获取 312

11.7.2结束一个键盘获取 314

11.7.3键盘获取和聚焦变化事件 314

11.8获取特别键 315

11.9同时发送被获取的的事件 316

11.11小结 319

11.10被动获取的活动 319

第十二章应用程序之间的通信 321

12.1截取缓冲区(Cut Butfer) 321

12.1.1在截取缓冲区内存储数据 322

12.1.2在截取缓冲区中检查数据 323

12.1.3在截取缓冲区中交换数据 323

12.2特性 324

12.2.1特性的生存期 325

12.2.2原子和特性名 326

12.2.3特性数据格式和类型 327

12.2.4建立和存储数据到特性中 328

12.2.5从特性中检索数据 329

12.2.6交换特性数据 332

12.2.7为一个窗口列表特性 333

12.2.8删除特性 333

12.2.9 PropertyNotify事件 334

12.2.10使用特性传送信息 335

12.3选择 336

12.3.1声明选择占有权 337

12.3.2失去选择占有权 339

12.3.3请求选择的数据 340

12.3.4为选择响应请求 345

12.4小结 348

附录A helloworld.c 350

附录B X协议请求代码 352

附录C LATIN-1和标准键符号 354

附录D字体 359

附录E颜色名字 366

附录F标准光标形状与符号 368

附录G预定义原子 371