序言 1
第一部分 2
第一章:前言 2
1.1 编写用户的设备处理程序 2
1.2 设备处理程序 3
1.3 工作站处理程序 4
第二章:GKS怎样工作 6
2.1 GKS系统 6
2.1.1 询问 6
2.1.2 变换 6
2.1.3 输入 7
2.1.4 输出 8
2.2 核心和用户的处理程序之间通讯 8
2.2.1 VAX GKS数据类型 8
2.2.2 参数传递 9
第二部分 10
第三章:建立一个设备处理程序系统3.1 熟悉用户自己的设备 10
3.2 硬考贝输出设备 11
3.3 建立WDT结构 11
3.3.1 线类型列表(LIST_LINETYPES) 12
3.3.2 予先定义折线束(PREDEF_PLINE_BUNDLES) 12
3.3.3 标记列表(LIST_MARKERS) 13
3.3.4 予先定义多点标记束(PREDEF_PMARK_BUNDLES 13
3.3.5 字体信息列表(LIST_FONT_INFORMATION) 14
3.3.6 正文束(TEXT_BUNDLES) 14
3.3.7 填充束(FILL_BUNDLES) 15
3.3.8 阴影线样式(HATCH_STYLE) 15
3.3.9 图案束(PATT_BUNDLES) 16
3.3.10 颜色束(COLOR_BUNDLES) 16
3.3.11 GDP的列表(LIST_OF_GDP) 17
3.3.12 PET数组(PET_ARRAY) 18
3.3.13 可擦的输入设备(ERASABLE_INPUT_DEVICES) 19
3.3.14 字符信息(CHARACTER_INFO) 20
3.3.15 选择列表(CHOICE_LIST) 21
3.3.16 应答区域数组(ECHO_AREA_ARRAY) 22
3.4 建立工作站说明表 24
3.5 编写设备处理程序功能 29
3.5.1 消息和常数文件 30
3.6 编写输入功能 30
3.6.1 WS_MANAGER—UPDATA_INPUT例程 31
3.7 产生局部数据区表 32
3.8 建立设备功能表 33
3.9 链接用户的处理程序 35
3.10 定义设备处理程序逻辑名 35
3.10.1 处理程序逻辑名 35
3.10.2 重入 36
3.10.3 把逻辑名加入到GKSTARTUP.COM 36
第四章:设备处理程序功能 37
清除工作站(CLEAR_WORKSTATION) 37
绘制象元数组(DRAW_CELL_ARRAY) 37
绘制填充区域(DRAW_FILL_AREA) 39
绘制GDP(DRAW_GDP) 40
画线(DRAW_LINE) 42
绘制标记(DRAW_MARKER) 43
绘制正文(DRAW_TEXT) 43
逸出(ESCAPE) 44
清洗输出(FLUSH_OUTPUT) 44
处理程序输入(HANDLER_INPUT) 45
增辉范围(HIGHLIGHT_EXTENT) 45
初始化处理程序输入(INIT_HANDLER_INPUT) 46
输入线(INPUT LINES) 47
输入正文(INPUT TEXT) 48
询问字体说明(INQUIRE_FONT_DESCRIPTION) 49
询问局部数据(INQUIRE_LOCAL_DATA) 49
询问象素数组(INQUIRE_PIXEL_ARRAY) 50
消息(MESSAGE) 51
置颜色索引(SET_COLOR_INDEX) 51
置颜色表示(SET_COLOR_REP) 52
置输入正文(SET_INPUT_TEXT) 52
置图案表示(SET_PATTERN_REP) 53
置实现的正文值(SET_REALIZED_TEXT_VALUES) 54
退出工作站(WORKSTATION_EXIT) 55
初始化工作站(WORKSTATION_INIT) 56
第三部分 58
第五章:建立一个工作站处理程序系统5.1 必需的能力 58
5.2 硬拷贝输出设备 59
5.3 工作站处理程序数据结构 59
5.3.1 建立工作站说明表(WDT) 59
5.4 工作站状态表 66
5.5 必需的功能 69
5.5.1 图段仿真 69
5.5.2 消息文件和常数文件 70
5.6 产生设备功能表 70
5.7 将处理程序链接到VAX GKS 74
5.8 定义工作站处理程序逻辑名称 74
5.8.1 处理程序逻辑名称 74
5.8.2 重入 75
5.8.3 把逻辑名加到GKSTARTUP.COM 75
第六章:工作站处理程序的控制和变换功能6.1 实际的属性数组 76
6.2 功能说明 77
打开工作站(OPEN WORKSTATION) 77
关闭工作站(CLOSE WORKSTATION) 78
清除工作站(CLEAR WORKSTATION) 78
更新工作站(UPDATA WORKSTATION) 79
完成延迟输出(PERFORM DEFERRED OUTPUT) 80
逸出(ESCAPE) 80
置工作站窗口(SET WORKSTATION WINDOW) 81
置工作站视口(SET WORKSTATION VIEWPORT) 82
置规范化变换(SET NORMALIZATION TRANSFORMATION) 83
置延迟方式(SET DEFERRAL MODE) 83
重画所有工作站图段(REDRAW ALL SEGMENTS ON WORKSTATION) 84
置全局交互作用(SET GLOBAL INTERACTIONS) 85
消息(MESSAGE) 85
置NDC变换(SET NDC TRANSFORMATION) 86
第七章:工作站处理程序输入功能7.1 功能说明 87
初始化定位器(INITIALIZE LOCATOR) 87
初始化笔划(INITIALIZE STROKE) 90
初始化定值器(INITIALIZE VALUATOR) 93
初始化选择(INITIALIZE CHOICE) 94
初始化字符串(INITIALIZE STRING) 95
初始化拣取(INITIALIZE PICK) 96
置定位器方式(SET LOCATOR MODE) 98
置笔划方式(SET STROKE MODE) 98
置定值器方式(SET VALUATOR MODE) 99
置选择方式(SET CHOICE MODE) 99
置字符串方式(SET STRING MODE) 100
置拣取方式(SET PICK MODE) 101
请求定位器(REQUEST LOCATOR) 101
请求笔划(REQUEST STROKE) 102
请求定值器(REQUEST VALUATOR) 103
请求选择(REQUEST CHOICE) 103
请求字符串(REQUEST STRING) 104
请求拣取(REQUEST PICK) 105
第八章:工作站处理程序询问功能 107
询问折线索引列表(INQUIRE LIST OF POLYLINE INDXES) 107
询问折线表示(INQUIRE POLYLINE REPRESENTATION) 108
询问多点标记索引列表(INQUIRE LIST OF POLYMARKER INDEXES) 108
询问多点标记表示(INQUIRE POLYMARKER REPRESEN-TATION) 109
询问正文索引列表(INQUIRE LIST OF TEXT INDEXES) 110
询问正文表示(INQUIRE TEXT REPRESENTATION) 110
询问正文范围(INQUIRE TEXT EXTENT) 111
询问填充区索引列表(INQUIRE LIST OF FILL AREA IN-DEXES) 114
询问填充区表示(INQUIRE FILL AREA REPRESENTATION) 115
询问图案索引列表(INQUIRE LIST OFPATTERN INDEXES) 115
询问图案表示(INQUIRE PATTERN REPRESENTATION) 116
询问颜色索引列表(INQUIRE LIST OF COLOR INDEXES) 117
询问颜色表示(INQUIRE COLOR REPRESENTATION) 118
询问工作站变换(INQUIRE WORKSTATION TRANSFO-RMATION) 118
询问定位设备状态(INQUIRE LOCATOR DEVICE STATE) 119
询问笔划设备状态(INQUIRE STROKE DEVICE STATE) 120
询问定值设备状态(INQUIRE VALUATOR DEVICE STATE) 121
询问选择设备状态(INQUIRE CHOICE DEVICE STATE) 122
询问字符串设备状态(INQUIRE STRING DEVICE STATE) 123
询问拣取设备状态(INQUIRE PICK DEVICE STATE) 124
询问工作站延迟和更新状态(INQUIRE WORKSTATION DEFERRAL AND UPDATA STATES) 125
询问象素数组维数(INQUIRE PIXEL ARRAY DIMENSIONS) 126
询问象素数组(INQUIRE PIXEL ARRAY) 127
询问象素(INQUIRE PIXEL) 128
询问工作站中图段名称(INQUIRE SEGMENT NAMES ON WORKSTATION) 129
询问工作站种类(INQUIRE WORKSTATION CATEGORE) 129
询问工作站级别(INQUIRE WORKSTATION CLASSIFICATION) 130
询问显示空间大小(INQUIRE DISPLAY SPACE SIZE) 130
询问折线设施(INQUIRE POLYLINE FACILITIES) 131
询问予先定义的折线表示(INQUIRE PRE DEFINED POLYLINE REPRESENTATION) 131
询问多点标记设施(INQUIRE POLYMARKER FACILITIES) 132
询问予先定义的多点标记表示(INQUIRE PREDEFINED POLYMARKER REPRESENTATION) 133
询问正文设施(INQUIRE TEXT FACILITIES) 133
询问予先定义的正文表示(INQUIRE PRIDEFINED TEXT REPRESENTATION) 134
询问填充区设施(INQUIRE FILL AREA FACILITIES) 135
询问予先定义的填充区表示(INQUIRE PREDEFINED FILL AREA REPRESENTATION) 136
询问图案设施(INQUIRE PATTERN FACILITIES) 136
询问予先定义的图案表示(INQUIRE PREDEFINED PATTERN REPRESENTATION) 137
询问颜色设施(INQUIRE COLOR FACILITIES) 137
询问予先定义的颜色表示(INQUIRE PREDEFINED COLOR REPRESENTATION) 138
询问GDP图元列表(INQUIRE LIST OF GDP PRIMITIVES) 138
询问广义绘图图元(INQUIRE GENERALIZED DRAWING PRIMITIVE) 139
询问工作站状态表的最大长度(INQUIRE MAXIMUM LENGTH OF WORKSTATION STATE TABLES) 140
询问可用的逻辑输入设备数目(INQUIRE NUMBER OF AVAILABLE LOGICAL INPUT DEVICES) 140
询问缺省的定位设备数据(INQUIRE DEFAULT LOCATOR DEVICE DATA) 141
询问缺省的笔划设备数据(INQUIRE DEFAULT STROKE DEVICE DATA) 142
询问缺省的定值设备数据(INQUIRE DEFAULT VALUATOR DEVICE DATA) 142
询问缺省的选择设备数据(INQUIRE DEFAULT CHOICE DEVICE DATA) 143
询问缺省的字符串设备数据(INQUIRE DEFAULT STRING DEVICE DATA) 144
询问缺省的拣取设备数据(INQUIRE DEFAULT PICK DEVICE DATA) 145
询问工作站属性动态修改(INQUIRE DYNAMIC MODIFICATION OF WORKSTATION ATTRIBUTES) 146
询问缺省的延迟状态值(INQUIRE DEFAULT DEFERRAL STATE VALUES) 147
询问所支撑的图段优先级数(INQUIRE NUMBER OF SEGMENT PRIORITIES SUPPORTED) 148
询问图段属性的动态修改(INQUIRE DYNAMIC MODIFICATION OF SEGMENT ATTRIBUTES) 148
询问处理程序存贮容量(INQUIRE SIZE OF HANDLER STORAGE) 149
第九章:工作站处理程序元文件功能将项目写入元文件 151
从元文件中获取项目类型 151
从元文件中读出项目 152
第十章:工作站处理程序建立表示功能10.1 功能说明 153
置折线表示(SET POLYLINE REPRESENTATION) 153
置多点标记表示(SET POLYMARKER REPERSENTATION) 154
置正文表示(SET TEXT REPRESENTATION) 155
置填充区表示(SET FILL AREA REPRESENTATION) 155
置图案表示(SET PATTERN REPRESENTATION) 156
置颜色表示(SET COLOR REPRESENTATION) 157
第十一章:工作站处理程序输出功能11.1 坐标数据 158
11.2 属性 158
11.3 图段重叠 158
11.4 输出功能说明 159
折线(POLYLINE) 159
多点标记(POLYMARKER) 160
正文(TEXT) 161
填充区(FILL AREA) 162
象元阵列(CELL ARRAY) 164
广义绘图图元(GDP) 165
增辉范围(HIGHLIGHT EXTENT) 166
第十二章:工作站处理程序图段功能建立图段(CREATE SEGMENT) 168
关闭图段(CLOSE SEGMENT) 168
更名图段(RENAME SEGMENT) 168
删除图段(DELETE SEGMENT) 169
置图段变换(SET SEGMENT TRANSFORMATION) 169
置可见性(SET VISIBILITY) 170
置图段优先级(SET SEGMENT PRIORITY) 171
置可检测性(SET DETECTABILITY) 171
置增辉(SET HIGHLIGHTING) 172
附录A:变换 173
A.1 链接变换矩阵 173
A.2 NDC变换和图段仿真 173
A.3 当处理程序支撑图段时的NDC变换 174
A.4 变换的算法 174
A.4.1 假定恒等NDC变换的变换 174
A.4.2 假定非恒等NDC变换的变换 176
A.4.2.1 从NDC变换到LDC 176
A.4.2.2 从WC变换到LDC 177
附录B:笔划正文仿真程序 179
GKS$SIM_STROKE_TEXT 179
GKS$SIMULATE_STROKE_TEXT_EXTENT 181
GKS$SIM_STROKE_INQ_TEXT_FAC 182
附录C:拣取仿真功能 184
GKS$FIND—SEGMENT 184
GKS$FIND—SEG—EXTENT 186
附录D:设备处理程序功能实例D.1 数据结构 188
D.2 控制功能 201
D.3 输出功能 204
D.4 输入功能 213
D.5 询问功能 219
D.6 属性功能 221
D.7 DFT宏 225
D.8 链接命令过程 226
附录E:工作站处理程序功能实例E.1 数据结构 227
E.2 控制功能 237
E.3 变换功能 246
E.4 输出功能 250
E.5 输出属性功能 254
E.6 输入功能 255
E.7 询问功能 259
E.8 DFT构造宏 265
E.9 链接命令过程 267