上篇 基础知识 4
第一部分 绝对的起始点 4
第1章 面向开发人员的UNIX 4
man命令 4
组织与定位 5
目录 8
权限 11
隐含的权限 12
chmod 12
cd命令 13
C编译器 13
目标文件 14
源文件 15
vi编辑器 16
ce命令 18
make工具 18
Makefile 22
注释 23
变量 23
目标 24
ln-s命令 31
系统工具与有用的命令 32
grep、管道、重定向、more 32
find命令 33
下一步 34
第2章 编程结构 35
判定 35
if语句 36
else语句 37
条件的类型 37
字符串 39
case语句 41
for循环 43
循环 43
while循环 44
do while循环 45
函数 45
声明 46
返回类型 47
函数名称 47
参数 47
定义 48
return语句 48
数据 49
数据类型 50
int数据类型 52
下一步 56
Hello World 57
第3章 C语言的语法与约定 57
注释符 58
函数main 58
代码体 59
变量作用域 60
内置函数 62
内存管理 69
动态内存分配 72
定义与宏 73
结论 74
下一步 74
第二部分 X的组成 76
第4章 窗口概念 76
X Window系统的起源 76
X的组成 76
客户机/服务器模式 76
窗口层次结构 81
下一步 83
第5章 窗口组件集 84
窗口组件集的功能与方便之处 84
Athena窗口组件集 86
Core组件 87
管理其他组件的组件 90
Box组件 90
Form组件 91
Lable组件 92
Command组件 93
Motif组件 93
Core 与ApplicationShell组件 94
XmRowColumn组件 94
下一步 95
连接X Server 96
第6章 X Window应用程序的组成 96
通过变量参数表应用窗口组件资源 97
建立应用程序界面 102
建立按钮 107
建立Pixmap图标 109
分配操作 115
窗口管理 120
事件处理 120
总结 121
下一步 121
第7章 Xlib图元 122
图形语境 122
CC函数 124
图元函数 129
填充图形 132
下一步 132
第8章 矢量图形与栅格图形 134
第三部分 重返学校 134
矢量图形 135
栅格图形 135
下一步 136
第9章 对象边界检查 137
基于点数组的对象边界 137
弧形对象边界 139
使用对象边界 140
下一步 142
第10章 三角函数与几何函数 143
计算点与线的交点 143
计算斜率 147
计算点与弧的交点 148
下一步 153
移动 154
移动一条线 154
第11章 图形变换 154
移动圆弧 158
缩放 159
缩放一条线 160
缩放圆弧 167
旋转 171
旋转一条线 171
下一步 174
旋转一个圆弧 174
第12章 坐标系 175
直角坐标系 175
极坐标系 176
下一步 177
下篇 图形编辑器应用程序 182
第四部分 结构布局 182
第13章 应用程序结构 182
项目结构 182
美观 184
直观 184
规划用户界面 185
分析命令行 206
getopt函数 206
XtVaGetApplicationResources函数 207
建立画布 211
建立项目 212
下一步 212
第14章 程序流程 213
事件处理 213
X事件挂钩 215
组件的回调 215
事件处理程序 215
组件转换表 215
下一步 216
线形对象数据结构 217
第15章 常用对象的定义 217
文本对象数据结构 218
矢量字体 220
GXText数据结构 223
弧形对象数据结构 224
通用对象数据结构 224
下一步 227
第16章 对象处理 228
复制对象 228
删除对象 229
刷新对象 232
分析对象 233
管理对象控制柄 234
管理对象状态 238
处理用户定位对象 240
下一步 246
通用对象的建立 247
第17章 实用程序与工具 247
链接表管理 249
建立图形语境 250
图形语境平铺显示 251
用光标作为状态指示器 252
下一步 256
第18章 文件格式 257
理解文件 258
二进制文件格式 258
ASCII文件格式 260
标记文件格式 260
指定位置的文件格式 260
幻数 261
下一步 261
文件格式策略 262
第19章 保存与恢复 262
保存与恢复程序挂钩 265
通用对象的保存与恢复 265
指定对象的保存与恢复 270
下一步 272
第五部分 向编辑器添加对象 274
第20章 Latex Line对象 274
建立Latex Line对象 274
绘制与清除Line对象 281
查找Line对象 283
选择与取消选择Line对象 284
移动Line对象 287
缩放Line对象 289
复制Line对象 291
保存与恢复Line对象 292
下一步 294
建立Pencil对象 295
第21章 Pencil Line对象 295
Pencil对象管理 299
下一步 299
第22章 对象模板 300
Box对象 300
Arrow对象 303
下一步 306
第23章 Arc对象 307
建立Arc对象 307
绘制与清除Arc对象 312
查找Arc对象 313
选择与取消选择Arc对象 313
移动Arc对象 315
缩放Arc对象 317
复制Arc对象 318
保存与恢复Arc对象 319
下一步 320
第24章 矢量Text对象 321
建立Text对象 321
绘制与清除Text对象 341
查找Text对象 343
选择与取消选择Text对象 344
移动Text对象 346
缩放Text对象 348
复制Text对象 351
保存与恢复Text对象 351
下一步 353
第六部分 添加打印驱动程序 356
第25章 PostScript简介 356
PostScript 356
学习PostScript 357
堆栈 357
PostScript编程 358
注释 358
PostScript命令 358
查看PostScript文件 362
Ghostscript理解的注释 362
下一步 364
第26章 彩色与黑白 365
确定打印机的性能 365
为黑白打印机定义彩色图像 365
下一步 368
打印画布 369
第27章 使用XImage与Colormap 369
建立XImage 371
建立PostScript序言 372
分析X Colormap 373
编写PostScript页定义文件 375
将输出引向打印机或文件 377
下一步 378
线属性 380
颜色 380
第七部分 项目的扩展 380
属性 380
第28章 扩展图形编辑器 380
弧角 381
旋转对象 381
下一步 381
第29章 添加上下文相关的帮助 382
处理帮助相关的事件 382
组件路径 384
组件与文本的联系 386
下一步 386
第八部分 附录 388
附录A 命令shell与编写脚本 388
附录B 应用程序布局代码清单 400
附录C 附加的矢量字体集与vector_chars.h 416