2图形标准化和窗口系统.ppt
2004 Dept.of Computer Science and Engineer 第二章计算机图形标准化和窗口系统2022/12/27 2004 Dept.of Computer Science and Engineer 图形系统标准图形系统标准目的:目的:提高图形软件、应用软件、相关开发人员在计算机之提高图形软件、应用软件、相关开发人员在计算机之间和图形设备间的间和图形设备间的可移植性可移植性。发展历程:发展历程:-1974 1974 美国国家标准化局(美国国家标准化局(ANSIANSI):):“与机器无关的图形技术与机器无关的图形技术”图图形标准化和有关标准的规则;形标准化和有关标准的规则;-美国计算机协会(美国计算机协会(ACMACM):成立图形标准化委员会):成立图形标准化委员会核心图形系统核心图形系统(CGSCGS,19771977);第二版();第二版(19791979););-二十年来:出现二十年来:出现GKS,GKS-3D,PHIGS,CGM,CGI,IGES,STEP.GKS,GKS-3D,PHIGS,CGM,CGI,IGES,STEP.概念概念(两个层面):(两个层面):-图形系统及相关应用系统中各界面间进行图形系统及相关应用系统中各界面间进行数据传送和通信的接口标准数据传送和通信的接口标准数据及文件格式标准;数据及文件格式标准;-供图形应用程序调用的供图形应用程序调用的子程序功能及其格式标准子程序功能及其格式标准子程序界面标准子程序界面标准。2022/12/272 2004 Dept.of Computer Science and Engineer 图形系统标准图形系统标准图形系统标准图形系统标准分类分类(3类类):-面向图形设备的面向图形设备的接口标准接口标准:计算机图形元文件计算机图形元文件(CGM)(CGM):CRT,Mouse,CRT,Mouse,计算机图形接口计算机图形接口(CGI)(CGI):设备驱动程序;:设备驱动程序;-面向面向应用软件的标准应用软件的标准:程序员层次交互式图形系统(程序员层次交互式图形系统(PHIGSPHIGS),GL(,GL(图形程序包图形程序包)(三维)图形核心系统(三维)图形核心系统(3D-)GKS3D-)GKS-面向图形应用系统中面向图形应用系统中工程和产品数据模型及其文件格式工程和产品数据模型及其文件格式:基本图形转换规范(基本图形转换规范(IGESIGES)产品数据转换规范(产品数据转换规范(STEPSTEP)2022/12/273 2004 Dept.of Computer Science and Engineer 图形系统中各界面的标准图形系统中各界面的标准 图形(工程)数据库应用程序图形程序包设备驱动程序设备驱动程序设备驱动程序磁盘屏幕键盘鼠标IGES,STEPGKS,GKS-3D,PHIGS,GLCGICGM图形系统标准图形系统标准2022/12/274 2004 Dept.of Computer Science and Engineer 主要内容:主要内容:计算机图形接口计算机图形接口(CGICGI)计算机图形元文件(计算机图形元文件(CGMCGM)图形核心系统(图形核心系统(GKSGKS)程序员层次交互式图形系统(程序员层次交互式图形系统(PHIGSPHIGS)基本图形转换规范(基本图形转换规范(IGESIGES)产品模型数据转换标准(产品模型数据转换标准(STEPSTEP)窗口系统窗口系统2022/12/275 2004 Dept.of Computer Science and Engineer 计算机图形接口计算机图形接口(CGICGI)(ISO DP 9636)目的:目的:提供控制图形硬件的一种与提供控制图形硬件的一种与设备无关设备无关的方法:的方法:-使有经验的用户最大限度的直接控制图形设备;使有经验的用户最大限度的直接控制图形设备;-也可看作也可看作图形设备驱动程序图形设备驱动程序的一种标准。的一种标准。-在在用户程序和虚拟设备用户程序和虚拟设备间,以一种独立于设备的方式提供图形信息的描述和间,以一种独立于设备的方式提供图形信息的描述和通信;通信;由一系列的功能集合组成:由一系列的功能集合组成:-控制功能集控制功能集:图形图像以及接口的图形与非图形部分的内部关系的管理;:图形图像以及接口的图形与非图形部分的内部关系的管理;虚拟设备管理:启动虚拟设备管理:启动/终止用户与终止用户与CGICGI虚拟设备的对话期,管理虚拟设备上的图形虚拟设备的对话期,管理虚拟设备上的图形坐标空间:两个坐标系:虚拟设备坐标系坐标空间:两个坐标系:虚拟设备坐标系VDCVDC,设备坐标系,设备坐标系DCDC;裁剪功能;裁剪功能;出错控制:出错控制:9 9类错误:出错检测、出错报告、出错处理;类错误:出错检测、出错报告、出错处理;系统控制:建立对受系统控制:建立对受CGICGI数据流接口上精度影响的各种数据类型:颜色、整型数据流接口上精度影响的各种数据类型:颜色、整型.询问功能:提供各种描述表信息存取的手段:如设备表示、输出设备等描述表;询问功能:提供各种描述表信息存取的手段:如设备表示、输出设备等描述表;2022/12/276 2004 Dept.of Computer Science and Engineer 计算机图形接口计算机图形接口(CGICGI)(ISO DP 9636)-输出功能集输出功能集:涉及图元、属性、对象的构成以及相关的控制和询问;:涉及图元、属性、对象的构成以及相关的控制和询问;图元功能:用以描述图元功能:用以描述CGICGI中图形的构成;中图形的构成;属性功能:设置状态表中的值,确定图元的可视性等性质;属性功能:设置状态表中的值,确定图元的可视性等性质;通用属性和输出控制:规定图元的操作方式、图形设备的属性设置、图形对象的通用属性和输出控制:规定图元的操作方式、图形设备的属性设置、图形对象的定义;定义;检索功能:返回与正文对象定位有关的信息;检索功能:返回与正文对象定位有关的信息;输出询问:返回输出及属性描述表和状态表有关的信息;输出询问:返回输出及属性描述表和状态表有关的信息;特点(特点(4 4个):个):-复合对象的概念:几个图元组成的复合体,与图元属同一级;复合对象的概念:几个图元组成的复合体,与图元属同一级;-颜色处理:提供直接和索引方式两种颜色选择机制;颜色处理:提供直接和索引方式两种颜色选择机制;-裁剪处理:提供三种裁剪形式:轨迹裁剪、形状裁剪、先轨迹后形状裁剪;裁剪处理:提供三种裁剪形式:轨迹裁剪、形状裁剪、先轨迹后形状裁剪;-扩展图元:增加了不连接的直线段、圆弧、椭圆弧、区域正文;支持多字符集扩展图元:增加了不连接的直线段、圆弧、椭圆弧、区域正文;支持多字符集多边形、椭圆弧区域填充图案等;多边形、椭圆弧区域填充图案等;2022/12/277 2004 Dept.of Computer Science and Engineer 计算机图形接口计算机图形接口(CGICGI)(ISO DP 9636)-图段功能集图段功能集:定义图形对象如何组合到图段中,并用唯一的图段标志符标识;定义图形对象如何组合到图段中,并用唯一的图段标志符标识;提供产生、修改和操纵图段的功能;提供产生、修改和操纵图段的功能;包括:包括:-图段操纵:图段的产生、关闭、删除、重命名、复制等;图段操纵:图段的产生、关闭、删除、重命名、复制等;-图段属性:设置与修改;图段属性:设置与修改;-图段询问:获取与图段描述表和状态表相关信息;图段询问:获取与图段描述表和状态表相关信息;另:复制图段时,提供另:复制图段时,提供“继承过滤继承过滤”、“剪裁继承剪裁继承”等功能等功能控制复制图段的属性和裁剪区域;控制复制图段的属性和裁剪区域;2022/12/278 2004 Dept.of Computer Science and Engineer 计算机图形接口计算机图形接口(CGICGI)(ISO DP 9636)-输入和应答功能集输入和应答功能集:将逻辑输入设备分为将逻辑输入设备分为8 8类类 :-定位、笔画、取值、选择、拾取、字符串、光栅、其它输入设备(声音定位、笔画、取值、选择、拾取、字符串、光栅、其它输入设备(声音输入等);输入等);-光栅功能集光栅功能集:提供产生、检索、修改和显示象素数据功能;:提供产生、检索、修改和显示象素数据功能;光栅控制光栅控制:-可显示位图:可显示位图:-不可显示位图:不可显示位图:全深度位图:与显示器上每个象素用多少位来表示相匹配;全深度位图:与显示器上每个象素用多少位来表示相匹配;映象位图:位图的每个象素只有一位;映象位图:位图的每个象素只有一位;光栅操作光栅操作:象素阵列数据的检索和显示,各种位图运算、位图区域:象素阵列数据的检索和显示,各种位图运算、位图区域的移动、联合、复制等操作;的移动、联合、复制等操作;光栅属性光栅属性:设置源与目的位图之间进行象素操作的绘图方式和填充:设置源与目的位图之间进行象素操作的绘图方式和填充位图区域的功能;位图区域的功能;2022/12/279 2004 Dept.of Computer Science and Engineer 计算机图形接口计算机图形接口(CGICGI)计算机图形元文件(计算机图形元文件(CGMCGM)图形核心系统(图形核心系统(GKSGKS)程序员层次交互式图形系统(程序员层次交互式图形系统(PHIGSPHIGS)基本图形转换规范(基本图形转换规范(IGESIGES)产品模型数据转换标准(产品模型数据转换标准(STEPSTEP)窗口系统窗口系统主要内容:主要内容:2022/12/2710 2004 Dept.of Computer Science and Engineer 计算机图形元文件(计算机图形元文件(CGMCGM)(ISO IS8632)定义:定义:与与设备无关设备无关的语义、词法定义的的语义、词法定义的图形文件格式图形文件格式。组成组成:-功能描述功能描述:以抽象的词法描述相应的文件格式:元素标志符、语义的说:以抽象的词法描述相应的文件格式:元素标志符、语义的说明、以及参数描述;明、以及参数描述;-描述词法三种形式的编码描述词法三种形式的编码:字符、二进制数、正文编码;:字符、二进制数、正文编码;图形元文件:规定图形元文件:规定生成、存储、传送图形信息生成、存储、传送图形信息的格式;的格式;-两种图形生成元文件:两种图形生成元文件:图形生成元文件(图形生成元文件(CGMCGM)、图段生成元文件(、图段生成元文件(GKSGKS元文件:元文件:GKSMGKSM););-关键属性关键属性:通用性。通用性。图形元文件的解释:图形元文件的解释:-生成生成CGMCGM元文件的两种方式:图元文件的两种方式:图2.2.22.2.2;-CGMCGM解释器的三种方式:图解释器的三种方式:图2.2.3;2.2.3;CGMCGM面向系统和系统开发者,和面向系统和系统开发者,和CGICGI配套提供。配套提供。2022/12/2711 2004 Dept.of Computer Science and Engineer 计算机图形接口计算机图形接口(CGICGI)计算机图形元文件(计算机图形元文件(CGMCGM)图形核心系统(图形核心系统(GKSGKS)程序员层次交互式图形系统(程序员层次交互式图形系统(PHIGSPHIGS)基本图形转换规范(基本图形转换规范(IGESIGES)产品模型数据转换标准(产品模型数据转换标准(STEPSTEP)窗口系统窗口系统主要内容:主要内容:2022/12/2712 2004 Dept.of Computer Science and Engineer 图形核心系统(图形核心系统(GKSGKS)功能:提供应用程序和图形输入输出设备间的功能:提供应用程序和图形输入输出设备间的功能接口功能接口;与语言无关的图形核心系统;与语言无关的图形核心系统;GKS GKS提供了一个称为提供了一个称为元文件的顺序文件接口元文件的顺序文件接口;应用程序的所有图形资源由应用程序的所有图形资源由GKSGKS控制(通过控制(通过GKSGKS元文件元文件-GKSMGKSM););GKSM GKSM的作用的作用:-图形信息存档;系统传送图形信息;图形信息存档;系统传送图形信息;-在在GKSGKS应用程序间传送图形信息;应用程序间传送图形信息;-与图形信息相关的非图形信息的存储和复用。与图形信息相关的非图形信息的存储和复用。2022/12/2713 2004 Dept.of Computer Science and Engineer 图形核心系统(图形核心系统(GKSGKS)GKSGKS在应用中的地位在应用中的地位:每层可以调用下层功能;:每层可以调用下层功能;GKSGKS的体系结构的体系结构:所有图形资源由:所有图形资源由GKSGKS控制,应用程序控制,应用程序(DDPiDDPi)不能绕过)不能绕过GKSGKS直接使用图形资源;直接使用图形资源;2022/12/2714 2004 Dept.of Computer Science and Engineer 计算机图形接口计算机图形接口(CGICGI)计算机图形元文件(计算机图形元文件(CGMCGM)图形核心系统(图形核心系统(GKSGKS)程序员层次交互式图形系统(程序员层次交互式图形系统(PHIGSPHIGS)基本图形转换规范(基本图形转换规范(IGESIGES)产品模型数据转换标准(产品模型数据转换标准(STEPSTEP)窗口系统窗口系统主要内容:主要内容:2022/12/2715 2004 Dept.of Computer Science and Engineer 程序员层次交互式图形系统(程序员层次交互式图形系统(PHIGSPHIGS)ISO IS9592ISO 1986ISO 1986年公布的计算机图形系统标准;年公布的计算机图形系统标准;三层含义三层含义:-向应用程序员提供的控制图形设备的图形系统接口;向应用程序员提供的控制图形设备的图形系统接口;-图形数据按层次结构组织;图形数据按层次结构组织;-提供动态修改和绘制显示图形数据的手段。提供动态修改和绘制显示图形数据的手段。一个高度动态化和交互式图形系统。一个高度动态化和交互式图形系统。特点:特点:-在系统中高效地描述应用模型;在系统中高效地描述应用模型;-迅速修改图形模型的数据;迅速修改图形模型的数据;-显示修改后的图形模型;显示修改后的图形模型;-在应用程序和图形设备之间提供了一个功能接口;在应用程序和图形设备之间提供了一个功能接口;-图形数据组织上,建立独立于工作站的中心存储区与图形档案管理文件图形数据组织上,建立独立于工作站的中心存储区与图形档案管理文件-图形操作上,建立适应网状的图形结构模式的各种操作;图形操作上,建立适应网状的图形结构模式的各种操作;-象素设置上,既考虑二维与三维的结合,也满足矢量和光栅图形设备的象素设置上,既考虑二维与三维的结合,也满足矢量和光栅图形设备的特点;特点;2022/12/2716 2004 Dept.of Computer Science and Engineer 程序员层次交互式图形系统(程序员层次交互式图形系统(PHIGSPHIGS)ISO IS9592模块化功能结构模块化功能结构328328个用户功能子程序,个用户功能子程序,按内容由控制、输出图按内容由控制、输出图元等;元等;模块相对独立:模块调模块相对独立:模块调用通过公共数据结构与用通过公共数据结构与其它模块其它模块间接连接间接连接;结构清晰:没有重复的结构清晰:没有重复的程序功能;程序功能;2022/12/2717 2004 Dept.of Computer Science and Engineer 程序员层次交互式图形系统(程序员层次交互式图形系统(PHIGSPHIGS)ISO IS9592动态的结构、元素管理动态的结构、元素管理高变化度动态化和高变化度动态化和交互式的图形系统;交互式的图形系统;现实问题数据量变现实问题数据量变化大化大系统状态系统状态变化难以预测变化难以预测静态数据结构难以静态数据结构难以满足要求满足要求利用利用UNIXUNIX操作系统动态操作系统动态存储管理功能存储管理功能将变化大的数据、将变化大的数据、状态以动态链表的状态以动态链表的形式存储;形式存储;2022/12/2718 2004 Dept.of Computer Science and Engineer 程序员层次交互式图形系统(程序员层次交互式图形系统(PHIGSPHIGS)ISO IS9592与与GKS-3DGKS-3D比较:比较:-1 1)数据结构:拓扑结构不同)数据结构:拓扑结构不同GKS-3D:GKS-3D:单层、平面的图形数据结构;单层、平面的图形数据结构;PHIGS:PHIGS:在造型空间中定义数据,如图在造型空间中定义数据,如图2.4.52.4.5-2 2)可修改性:)可修改性:GKS-3D:GKS-3D:内容不可修改,但影响图段整体特征的某些属性:可见性、可检测性内容不可修改,但影响图段整体特征的某些属性:可见性、可检测性等;等;PHIGSPHIGS:任何结构、结构中的任何一部分元素在任何时候都可以修改;:任何结构、结构中的任何一部分元素在任何时候都可以修改;-3 3)属性的存储:)属性的存储:GKS-3D:GKS-3D:图素属性和图素一起存入图形数据结构中,入修改某个图素的属性,图素属性和图素一起存入图形数据结构中,入修改某个图素的属性,必须生成新属性;必须生成新属性;PHIGSPHIGS:修改容易;:修改容易;-4 4)输出流水线:)输出流水线:GKS-3D:GKS-3D:采用三种坐标;采用三种坐标;PHIGS:5PHIGS:5种坐标系;种坐标系;2022/12/2719 2004 Dept.of Computer Science and Engineer GL 工作站上,工业标准图形程序库,工作站上,工业标准图形程序库,UNIX UNIX下运行,具有下运行,具有C,Fortran,PascalC,Fortran,Pascal三种语言联编形式。三种语言联编形式。OpenGL OpenGL微机,微机,按功能分类:按功能分类:-基本图素:直线、多边形、三角形、曲线、曲面等以及读写象素操作基本图素:直线、多边形、三角形、曲线、曲面等以及读写象素操作-坐标变换:旋转、平移、比例变换、投影变换、剪裁等;坐标变换:旋转、平移、比例变换、投影变换、剪裁等;-设置属性和显示方式:线型选择、图案填充、字体等;设置属性和显示方式:线型选择、图案填充、字体等;-I/O I/O 处理:启动处理:启动I/OI/O设备,并对相应的事件队列进行处理;设备,并对相应的事件队列进行处理;-真实图形显示:消除隐藏线、面、光照处理和深度排队等;真实图形显示:消除隐藏线、面、光照处理和深度排队等;2022/12/2720 2004 Dept.of Computer Science and Engineer 计算机图形接口计算机图形接口(CGICGI)计算机图形元文件(计算机图形元文件(CGMCGM)图形核心系统(图形核心系统(GKSGKS)程序员层次交互式图形系统(程序员层次交互式图形系统(PHIGSPHIGS)基本图形转换规范(基本图形转换规范(IGESIGES)产品模型数据转换标准(产品模型数据转换标准(STEPSTEP)窗口系统窗口系统主要内容:主要内容:2022/12/2721 2004 Dept.of Computer Science and Engineer 基本图形转换规范(基本图形转换规范(IGESIGES)ISO IS9592 Initial Graphics Exchange Specification Initial Graphics Exchange Specification 作用作用:不同的:不同的CAD/CAMCAD/CAM系统之间交换数据。系统之间交换数据。文件格式文件格式是是ASCIIASCII码:可改变复杂结构及其关系;便于各种码:可改变复杂结构及其关系;便于各种CAD/CAMCAD/CAM系系统的处理;统的处理;基本单元基本单元:实体,分有三类:实体,分有三类:-几何实体:点,直线段等;几何实体:点,直线段等;-描述实体:尺寸标注、绘图说明;描述实体:尺寸标注、绘图说明;-结构实体:组合项、图组、特性等;结构实体:组合项、图组、特性等;文件结构分五节文件结构分五节:如图:如图:-开始节;开始节;-目录入口目录入口(DE)(DE);-参数参数(DP)(DP)节;节;-整体节;整体节;-结束节;结束节;2022/12/2722 2004 Dept.of Computer Science and Engineer 计算机图形接口计算机图形接口(CGICGI)计算机图形元文件(计算机图形元文件(CGMCGM)图形核心系统(图形核心系统(GKSGKS)程序员层次交互式图形系统(程序员层次交互式图形系统(PHIGSPHIGS)基本图形转换规范(基本图形转换规范(IGESIGES)产品模型数据转换标准(产品模型数据转换标准(STEPSTEP)窗口系统窗口系统主要内容:主要内容:2022/12/2723 2004 Dept.of Computer Science and Engineer 产品模型数据转换标准(产品模型数据转换标准(STEPSTEP)Standard for the Exchange of Product model Data.Standard for the Exchange of Product model Data.覆盖产品整个生命周期覆盖产品整个生命周期 强调建立能存入数据库中的一个产品模型的完整表示。强调建立能存入数据库中的一个产品模型的完整表示。克服克服IGESIGES中的问题和缺点:中的问题和缺点:-不能精确地完整转换数据:不能精确地完整转换数据:CAD/CAMCAD/CAM系统间概念不一致;系统间概念不一致;-不能转换属性信息;不能转换属性信息;-层信息经常丢失;层信息经常丢失;-两个零部件信息不能放在一个文件中;两个零部件信息不能放在一个文件中;-产生的数据量过大;产生的数据量过大;-数据转换过程中产生的错误难以确定:需要人工处理数据转换过程中产生的错误难以确定:需要人工处理IGESIGES文件文件2022/12/2724 2004 Dept.of Computer Science and Engineer 计算机图形接口计算机图形接口(CGICGI)计算机图形元文件(计算机图形元文件(CGMCGM)图形核心系统(图形核心系统(GKSGKS)程序员层次交互式图形系统(程序员层次交互式图形系统(PHIGSPHIGS)基本图形转换规范(基本图形转换规范(IGESIGES)产品模型数据转换标准(产品模型数据转换标准(STEPSTEP)窗口系统窗口系统主要内容:主要内容:2022/12/2725 2004 Dept.of Computer Science and Engineer 窗口系统(窗口系统(1)窗口系统的特点窗口系统的特点-定义简洁定义简洁-界面清晰界面清晰 :应用界面、编程界面、窗口管理界面;:应用界面、编程界面、窗口管理界面;-目标明确:提供各种界面的机制;目标明确:提供各种界面的机制;-实现紧凑:采用两种类型:实现紧凑:采用两种类型:基于核心的窗口(基于核心的窗口(Ms-Windows,Ms-Windows,把核心放置于把核心放置于O.SO.S););基于基于C/SC/S模型的窗口(模型的窗口(X-Windows)X-Windows);-功能齐全(功能齐全(X X协议,协议,XLIBXLIB,X X工具箱,字体标准格式);工具箱,字体标准格式);-使用方便(一致性的用户接口,与设备无关的图形接口);使用方便(一致性的用户接口,与设备无关的图形接口);2022/12/2726 2004 Dept.of Computer Science and Engineer 窗口系统(窗口系统(2)几种常见的窗口系统几种常见的窗口系统-Smalltalk Smalltalk-Macintosh Macintosh-NeWSNeWS-X-Windows X-Windows-Ms-windows Ms-windows窗口系统的输入处理窗口系统的输入处理-是用户控制窗口的基础;是用户控制窗口的基础;-窗口系统输入的基础:对事件的产生、分发、接收和处理;窗口系统输入的基础:对事件的产生、分发、接收和处理;2022/12/2727 2004 Dept.of Computer Science and Engineer 窗口系统(窗口系统(3)窗口系统的输入处理:输入和事件窗口系统的输入处理:输入和事件-通常有多个输入设备,并有多个应用程序同时运行;通常有多个输入设备,并有多个应用程序同时运行;-具备管理多个输入设备以及把他们所产生的事件分发到各个应用程序应用具备管理多个输入设备以及把他们所产生的事件分发到各个应用程序应用程序程序 窗口管理系统窗口管理系统输入设备;输入设备;-事件(事件(Event)Event):窗口系统中的输入;窗口系统中的输入;WindowsWindows中,用户或系统中所发生的任何活动被当作事件来处理,例:中,用户或系统中所发生的任何活动被当作事件来处理,例:按下按下MouseMouse,则产生一则产生一 M Mouseouse 事件;事件;对于所发生的每个事件,对于所发生的每个事件,WindowWindow将其转换成消息的形式放在一个称为消将其转换成消息的形式放在一个称为消息队列的内存中,然后由息队列的内存中,然后由WindowWindow的消息发送程序选择合适的对象,将消的消息发送程序选择合适的对象,将消息发送到要接受消息的对象上;息发送到要接受消息的对象上;-事件的时标和队列事件的时标和队列时标:时标:时间邮戳时间邮戳;事件队列:若某一时刻,同时产生多个事件,必须有一个机制能把这些事件队列:若某一时刻,同时产生多个事件,必须有一个机制能把这些同时产生的事件管理起来,在窗口系统中这些机制就是同时产生的事件管理起来,在窗口系统中这些机制就是事件队列事件队列;2022/12/2728 2004 Dept.of Computer Science and Engineer 窗口系统(窗口系统(4)窗口系统中输入的主要组成:窗口系统中输入的主要组成:-生成和分发;生成和分发;-生成事件:把物理设备产生的输入打上一些规定的标志,送入事件队列以生成事件:把物理设备产生的输入打上一些规定的标志,送入事件队列以供客户使用;供客户使用;-工作流程:按照事件产生的时序把他门送入队列,窗口系统再依次向应用工作流程:按照事件产生的时序把他门送入队列,窗口系统再依次向应用程序发送;程序发送;-事件分发事件分发在应用程序和事件队列中加入一个转向开关,开关决定分发的对象在应用程序和事件队列中加入一个转向开关,开关决定分发的对象换向开关的换向策略换向开关的换向策略 :位置决定法(根据定位器当前的位置:位置决定法(根据定位器当前的位置 来确定当来确定当前窗口);收听法(取决于定位器的当前位置前窗口);收听法(取决于定位器的当前位置+定位键指定确认);定位键指定确认);策略图策略图:P98P98-事件处理事件处理为每个窗口建立事件选择集为每个窗口建立事件选择集影射所有窗口影射所有窗口进入事件读取循环:从事件队列中读取事件并做相应的处理进入事件读取循环:从事件队列中读取事件并做相应的处理2022/12/2729 2004 Dept.of Computer Science and Engineer 窗口系统(窗口系统(5)窗口系统的输出处理:窗口系统的输出处理:-把显示屏幕分成不同的区域并加以管理;把显示屏幕分成不同的区域并加以管理;-窗口的窗口的形状与排列形状与排列:通常的形状:矩形;通常的形状:矩形;对屏幕的划分方法:瓦片形、重叠形、层次形;对屏幕的划分方法:瓦片形、重叠形、层次形;排列:窗口系统维护一个优先级队列改变窗口在队列中的位置则改变了排列:窗口系统维护一个优先级队列改变窗口在队列中的位置则改变了窗口的优先级;窗口的优先级;-区域管理区域管理:利用窗口表记录每个窗口在屏幕的位置;利用窗口表记录每个窗口在屏幕的位置;一个记录中包含:窗口标识符;应用程序标识号;窗口间的关系;一个记录中包含:窗口标识符;应用程序标识号;窗口间的关系;单位:像素;单位:像素;-流行的流行的图形用户接口(图形用户接口(GUIGUI):Open LookOpen Look;MotifMotif;WindowsWindows2022/12/2730 2004 Dept.of Computer Science and Engineer 窗口系统(窗口系统(6)GUI的特点:的特点:-增强了软件系统的数据输入;增强了软件系统的数据输入;-对对I/OI/O对象的表示,从按名或按序号指定,扩展为用符号表示;对象的表示,从按名或按序号指定,扩展为用符号表示;-图形方式下的图形方式下的I/OI/O密切相关;密切相关;-具有数据驱动能力;具有数据驱动能力;-具有潜在的并行性;具有潜在的并行性;-用户界面的复杂度和灵活性可大大增强;用户界面的复杂度和灵活性可大大增强;Ms-Windows的组成:的组成:-应用程序接口(应用程序接口(APIAPI)-软件开发工具包(软件开发工具包(SDKSDK)-运行时刻系统(运行时刻系统(RUN_TIME)RUN_TIME)2022/12/2731 2004 Dept.of Computer Science and Engineer 窗口系统(窗口系统(7)Windows:一个:一个CPU,并发接口的运行管理的机制,并发接口的运行管理的机制-把输入事件以消息方式发送到对应的窗口函数;把输入事件以消息方式发送到对应的窗口函数;-窗口函数对其中发生的每一种事件都提供了相应的处理方法,并对各窗窗口函数对其中发生的每一种事件都提供了相应的处理方法,并对各窗口口的输出进行统一管理;的输出进行统一管理;-消息:消息:一种数据对象表示系统中发生一个事件;一种数据对象表示系统中发生一个事件;由一个消息标识符(由一个消息标识符(WM_CHAR)WM_CHAR)和附加参数(和附加参数(Wpara和和Ipara)组成;)组成;应用程序在消息循环中用应用程序在消息循环中用Get Message从消息队列中依次取消息,通从消息队列中依次取消息,通过过Dispatch Message把他们发送给相应的窗口函数或对话框函数把他们发送给相应的窗口函数或对话框函数;2022/12/2732 2004 Dept.of Computer Science and Engineer 窗口系统(窗口系统(8)例如:例如:WinMain()MSG msg;.While(Get Message(&msg,NULL,0,0)/把键盘输入的消息把键盘输入的消息 TranslateMessage(&msg);=对应的字符消息对应的字符消息 DispatchMessage(&msg);把输入消息发送给相应的窗口函数或对话框函数把输入消息发送给相应的窗口函数或对话框函数Ms-Windows系统的控制结构:系统的控制结构:-WinMain 函数函数-若干若干回调函数回调函数:应用程序中定义的,运行时直接被应用程序中定义的,运行时直接被WindowsWindows调用的函数调用的函数;-若若干实现应用语义的子程序(应用子程序)干实现应用语义的子程序(应用子程序);-对话框资源对话框资源:基本对话资源基本对话资源 (*.RC).RC)、复合资源、复合资源-Windows Windows 编程:编程:P122 P122 例例3 32022/12/2733 2004 Dept.of Computer Science and Engineer 谢谢!2022/12/27