《unix系统v第4版-程序员指南:x11/news图形窗口系统news》求取 ⇩

前言1

0.1 引言1

0.2 记号约定1

目录1

第一章 导论3

1.1 引言3

1.2 NeWS程序设计概况3

1.2.1 POSTSCRIPT语言3

1.2.2 NeWS数据类型3

1.2.3 NeWS操作命令4

1.2.4 X11/NeWS服务器4

1.2.5 客户—服务器通信4

1.2.6 C客户接口5

1.2.7 画布5

1.2.9 事件6

1.2.10 存储器管理6

1.2.8 NeWS成像模型6

1.2.11 颜色支撑7

1.2.12 字型支撑7

1.3 用于服务器的POSTSCRIPT语言文件7

1.3.1 窗口管理程序8

1.3.2 类8

1.3.3 调试8

2.1.1 扩展的类型canvastype9

2.1 引言9

第二章 画布9

2.1.2 画布操作命令10

2.2 坐标系统综述10

2.3 创建和显示画布11

2.3.1 创建画布11

2.3.2 形成画布12

2.3.3 设置当前画布12

2.3.4 映射画布至屏幕13

图与表14

图2—1:在0,0处映射的画布14

2.4.1 移动画布14

2.4 操纵画布14

图2—2:在25,25处映射的画布15

2.4.2 透明与非透明画布16

图2—3:一个被映射的子画布17

图2—5:非透明并重涂色了的父画布18

图2—4:透明的父画布18

2.4.3 可保留和非保留画布19

2.4.3.1 关于破损的进一步信息20

图2—6:非保留画布上的破损20

2.5.1 同辈表21

2.5 父辈、子辈以及同辈画布21

2.4.4 关键字SaveBehind21

图2—8:年长的同辈遮掩了年幼者23

图2—7:年幼的同辈遮掩了年长者23

2.5.2 建立新辈24

2.6 覆盖式画布24

图2—9:画布间辈份的改变24

2.6.1 在覆盖上绘图25

2.7 画布剪切操作命令25

图2—10:画布剪切操作的结果26

2.8 光标26

2.9 画布、文件和成像过程27

2.9.1 把画布写入文件27

2.9.2 从文件中读出画布27

2.9.4 成像28

图2—11:映射的画布28

2.9.3 其它与文件相关的操作命令28

2.10.1 事件29

2.10 其它的字典关键字29

图2—12:用buildimage操作命令映射的画布29

2.10.5 文件共享30

2.10.4 抓取状态30

2.10.3 X专有特征30

2.10.2 颜色30

第三章 事件31

3.1.1 扩展的类型eventtype31

3.1 引言31

3.1.2 事件操作命令32

3.2 事件发布概况32

3.3 创建事件33

3.4.1 表示兴趣前拷贝事件34

3.4 表示兴趣34

3.4.2 更改和重用兴趣点34

3.5 事件与兴趣点的匹配规则35

3.5.2 关键字Process的匹配规则35

3.5.1 关键字Name和Action的匹配规则35

3.5.3 关键字Serial的匹配规则36

3.6 事件送入发布机构36

3.7 等待事件36

3.8 关键字Name、Action和Canvas表示为字典37

3.8.1 不可执行的字典值37

3.8.2 可执行的字典值39

3.9 使用关键字Canvas:匹配多个兴趣点40

3.9.1 两种兴趣表40

3.9.2.3 关键字Canvas为空值41

3.9.2.2 关键字Canvas为数组或字典41

3.9.2.1 关键字Canvas为单个画布41

3.9.2 兴趣点的匹配顺序41

3.9.3 使用关键字EventsConsumed42

3.9.4 多个Post-child兴趣点匹配的实例43

图3—1:画布的初始外观45

3.9.5 多个Pre—child兴趣点匹配的实例46

图3—2:Pre—Child兴趣点匹配后的结果46

图3—3:多个Pre—Child兴趣点匹配后的结果47

3.10 系统生成事件47

3.10.1 鼠标事件47

3.10.2.1 关键字Name的值50

3.13 使用关键字Exclusivity50

3.10.2 进入和退出事件50

图3—4:FirstCanvas和SecondCanvas的初始外观51

图3—7:第三个进入事件,被FirstCanvas匹配52

图3—6:第二个进入事件,被SecondCanvas匹配52

图3—5:第一个进入事件,被FirstCanvas匹配52

3.10.3 使用关键字XLocation和YLocation53

3.10.2.2 关键字Action的值53

3.10.2.3 使用操作命令Postcrossings53

表3—1:边界跨越事件53

图3—8:鼠标生成事件的结果54

表3—2:输入焦点55

3.10.4 使用关键字Coordinates55

3.10.5 焦点事件55

3.10.6 键盘事件55

3.10.6.1 重复键字典56

3.10.7 破损事件56

3.10.8 废弃事件56

3.11 使用关键字ClientData57

3.10.9 ProcessDied事件57

3.12 使用关键字Priority58

3.13.1 使用操作命令redistrbuteevent60

3.14 使用关键字TimeStamp61

3.14.1 使用操作命令recallevent62

3.15 使用关键字Process63

3.16 多进程的输入同步64

3.17 事件登录65

3.16.1 使用blockinputqueue65

4.2 基本术语和概念67

第四章 类67

4.1 引言67

4.2.1 类与实例67

4.2.2 继承性与类树68

4.2.2.1 超类与子类68

图4—1:一个简单的类树69

4.2.2.2 直接超类69

4.2.2.3 继承性69

4.2.2.4 单继承性与多继承性69

4.2.2.5 继承性数组70

图4—2:一个带有多继承性的类树70

4.2.3 单继承性实例71

图4—3:一个单继承性的例子71

4.2.4 术语摘要72

表4—1:术语摘要73

4.3.1 定义类73

4.3 创建新类73

4.3.3 操作命令classend74

4.3.4 操作命令redef74

4.3.5 初始化新类74

4.3.2 操作命令classbegin74

4.4 用操作命令send发送消息75

4.4.1 send的通常形式75

4.4.1.1 send中执行步骤75

4.4.2 用send调用方法76

4.4.3 嵌套式send76

图4—4:一个嵌套式send执行之前和其间的字典堆栈77

4.4.4 用send创建新实例78

4.4.5 send的另一种形式78

4.4.6 用send改变实例变量的值78

4.4.7 用send改变类变量的值79

4.5 伪变量self和super79

4.5.1 伪变量self81

4.5.2 super伪变量82

4.5.3 super将消息沿着超类链上传83

4.5.4 self和super使用限制84

4.6 方法编译84

4.6.1 编译selfsend84

4.6.2 编译supersend85

4.6.3 本地字典85

4.6.4 控制方法编译86

4.6.5 /methodcompile86

4.6.7 /doit87

4.6.6 /installmethod87

4.6.8 SetLocalDicts88

4.7 创建新实例90

4.7.1 /new90

4.7.2 /newobject91

4.7.3 /newinit92

4.7.4 /newmagic93

4.8 内部类94

4.8.1 /newdefault95

4.8.2 /defaultclass95

4.8 /SubClassResponsibility96

4.9 用UserProfile取代类变量96

4.9.1 取代DefaultClass97

4.10.1 promote97

4.10 将类变量提升为实例变量97

4.10.2 unpromote98

4.10.3 promoted?98

4.10.4 避免意外的提升98

4.11.2 classdestroy99

4.12 类系统中的废弃对象99

4.11.3 /cleanoutclass99

4.11 消毁类和实例99

4.11.1 /destroy99

4.13 多重继承性100

4.12.1 /obsolete100

4.13.1 简单的多重继承性例子:一个公用类101

图4—5:多继承性例子中基本的类层次结构101

图4—6:具有utility类的层次结构102

4.13.2 复杂多重继承性的例子103

图4—7:LabeledDial例子中的类树104

4.13.2.2 例中可能的继承性数组104

4.13.2.1 有效继承性数组次序的规则104

图4—8:LabeledDial的继承性数组中的广度优先次序105

4.13.2.3 次序选择106

图4—9:LabeledDial的继承性数组中的深度优先次序106

4.13.2.4 限制继承性数组的次序107

4.13.2.5 super与多重继承性107

4.14 设置和找取类的Name和Classname的公用程序108

4.14.1 /name108

4.14.2 /setname108

4.14.3 /classname109

4.15 询问对象状态的公用程序109

4.15.1 isobject?109

4.15.2 isclass?109

4.15.3 isinstance?109

4.16 询问对象继承者的公用程序109

4.16.1 /superclasses109

4.16.3 /instanceof?110

4.17 send堆栈上查找对象的公用程序110

4.16.6 /class110

4.16.5 /understand?110

4.16.4 /descendantof?110

4.16.2 /subclasses110

4.18 类操作命令111

4.17.3 /sendtopmost111

4.17.2 /topmostdescendant111

4.17.1 /topmostinstance111

4.19 类方法112

5.2 CPS设施113

5.1 引言113

第五章 客户—服务器界面113

5.3 创建·cps文件114

5.3.1 变元类型115

表5—1:CPS变元类型116

5.3.2 发送POSTSCRIPT语言代码而无返回值116

5.3.3 接受同步回答117

5.3.4 接收异步回答119

5.4 创建·h文件120

5.4.1 CPS公用程序120

表5—2:CPS所提供的C公用子程序121

5.5 创建·c文件121

5.5.1 POSTSCRIPT语言通信文件122

5.5.2 读客户的输入队列122

5.6 记号与记号表123

5.6.1 编译·c文件124

5.6.2 注释124

5.7 调试CPS124

5.8 用其它语言支持NeWS125

5.9 字节流格式126

5.9.1 压缩记号的编码126

5.9.2 对象表127

5.9.3 对照值128

5.9.4 实例128

表5—3:记号值128

表5—4:编码实例中字节的意义129

第六章 调试131

6.1 引言131

6.4 使用调试器131

6.2 装载调试器131

6.3 启动调试器131

6.4.1 多进程调试132

6.5 客户命令132

6.6 用户命令133

6.7 杂项功能137

6.7.1 别名137

6.7.2 多个调试连接138

第七章 存储管理139

7.1 引言139

7.2 引用计数139

7.2.1 对象139

7.2.2 被计数对象的引用139

7.2.2.2 非计数引用140

7.2.2.1 被计数的引用140

7.2.2.3 软引用140

表7—1:非计数对象的类型141

7.2.2.5 引用记分141

7.2.3 对象类型141

7.2.2.4 废弃事件141

7.3 存储管理操作命令142

表7—2:计数对象的类型142

7.4 存储管理的调试操作命令143

7.4.1 使用debugdict143

7.4.2 调试操作命令143

7.5 未用的字型高速缓存146

7.5.1 指定高速缓存的容量146

7.5.2 清除高速缓存147

7.5.3 应用程序147

8.1 引言149

8.2 作为字典的NeWS类型149

第八章 NeWS类型的扩展149

8.3.1 POSTSCRIPT语言类型150

8.3.2 NeWS的扩展类型150

8.3 NeWS类型表150

表8—1:POSTSCRIPT语言中的标准对象类型150

表8—2:附加的NeWS对象类型151

8.4 类型colortype151

8.5 类型graphicsstatetype151

8.6 类型monitortype151

8.7 类型packedarraytype152

8.8 类型pathtype152

8.9 类型canvastype152

8.10 类型colormaptype157

8.11 类型colormapentrytype158

8.12 类型cursortype158

8.13 类型enviromenttype159

8.14 类型eventtype161

8.15 类型fonttype165

8.16 类型processtype165

8.17 类型visualtype169

第九章 NeWS操作命令的扩展171

表9—1:发送给incanvas及其父画布的事件191

表9—2:发送给outcanvas及其父画布的事件192

表9—3:光栅操作代码值200

10.1 引言205

第十章 POSTSCRIPT语言文件的扩展205

10.2 初始化文件205

10.3 用户创建的扩展文件206

10.3.1 其它扩展文件206

10.3.2 扩展文件内容207

10.4 杂类207

10.5 数组操作211

10.6 条件操作命令213

10.7 输入操作命令213

10.8 矩形公用程序216

表10—1:标准NeWS光标216

10.9 类操作命令217

10.10 图形公用程序217

10.11 文件访问实用程序219

10.12 CID实用程序220

10.13 常量221

10.14 键映射公用程序221

10.15 重复键222

10.16 标准颜色223

10.17 登录事件223

10.17.1 未登录的事件224

附录A NeWS操作命令225

A.1 引言225

A.2 按字母顺序排列的NeWS操作命令225

A.3 按功能排列的NeWS操作命令230

A.3.1 画布操作命令230

A.3.2 事件操作命令231

A.3.3 数学操作符231

A.3.4 进程操作命令232

A.3.5 轨道操作命令232

A.3.6 文件操作命令233

A.3.7 颜色操作命令233

A.3.8 键盘与鼠标操作命令234

A.3.9 光标操作命令234

A.3.10 字型操作命令234

A.3.11 杂项操作命令234

附录B 扩展的输入系统237

B.2 Lite用户界面237

B.1 基于NeWS输入设施237

B.3.1 键盘输入:简单的ASCII字符238

B.3 键盘输入238

B.3.2 键盘输入:功能键239

B.3.1.1 撤消对键盘事件的兴趣239

B.3.4 键盘输入:编辑与光标控制240

B.3.3 指派功能键240

B.4 选择241

B.4.1 选择数据结构241

表B—1:选择字典关键字242

表B—2:系统定义的选择属性242

B.4.2 选择进程243

表B—3:请求字典项243

表B—4:高级的与选择有关的事件243

B.4.3 选择事件245

B.5 输入焦点248

表B—5:输入焦点248

附录C 删节和实现限制251

C.1 操作符删节和限制251

表C—1:实现限制252

C.2 映像删节252

C.3 Statusdict字典252

C.4 实现限制252

表C—2:各种POSTSCRIPT语言操作命令的NeWS版本253

C.5 与POSTSCRIPT语言的其它区别253

《unix系统v第4版-程序员指南:x11/news图形窗口系统news》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由 北京:电子工业出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。