一种实现图形用户交互界面的方法、设备及系统的制作方法_2

文档序号:9374765阅读:来源:国知局
,类型 (实线/虚线/点划线等)确定出所有需要描绘的点。
[0067] 步骤dl :根据需要描绘点的位置与父窗口对应DDR起始地址,转换得来所需描绘 点的DDR地址。
[0068] 步骤el :根据颜色值,设置各个点对应双倍速率同步动态随机存储器ddr地址的 内容。
[0069] 步骤Π :保存该命令到父窗口的操作列表中,以备可视区域变更后的重画之用。 (注:窗口布局变更时需要重新计算可视区域变更)。
[0070] 需要说明的是:每个窗口有一块独立的内存区域,用于存放该窗口对应的解析输 出(即:画面),这样做的目的是可视区域变更之后,不需要重新解析一次。每个窗口的解 析输出变更只取决于对应GUI元素/动作的变更。如果CPU计算能力较强或者负荷较轻, 然后需要着重考虑降低DDR的访问带宽的话,可以取消每个窗口的独立内存,直接写往统 一的⑶I内存。
[0071] (2)在指定窗口画一幅位图的实现过程:
[0072] 第一步:主控制器将表示在指定窗口画一幅位图的这一动作的执行结果的⑶I画 面转化为位图的描述,该位图的描述中包括:命令标识ID、父窗口标识ID、左上角坐标、右 下角坐标(左上角坐标和右下角坐标也可表示了位图的高度和宽度),具体的设置可如下表 (2)所示:
[0073]
[0074] 表(2)
[0075] 第二步:主控制器将第一步中所述的位图的描述通过显示数据总线发送给显示模 块;
[0076] 第三步:显示模块执行以下步骤a2_d2的操作:
[0077] 步骤a2 :收到命令后,根据父窗口 ID从已有窗口列表搜索出父窗口,若搜索成功 执行步骤b2 ;若搜索失败则表示新加窗口。
[0078] 步骤b2 :根据位图ID,从已有的位图列表,搜索出位图,失败意味着本次命令数据 区非空,成功则表示本次数据区为空,直接使用已缓存的位图。
[0079] 步骤c2 :设置硬件的画刷加速器,等待完成刷新位图。
[0080] 步骤d2 :保存该命令到父窗口的操作/元素列表中。
[0081] 所述画刷加速器工作原理如下:
[0082] 画刷加速器的接口如表(3)所示:
[0083]
[0084] 表(3)
[0085] 画刷加速器的工作过程:填写位图缓存地址到"源数据地址"寄存器;填写位图缓 存字节数到"源数据字节数"寄存器;填写1到"源数据重复次数"寄存器;若该位图的矩形 区域在其父窗口区域内做边界超出裁剪,则获得新的位置信息。根据该位图新的左上角位 置信息,结合父窗口对应内存起始地址,换算出在内存里的目标地址,填写至"目标地址"寄 存器;根据该位图新的宽度信息,结合RGB888,颜色空间,计算出:跨度=宽度*3字节,填 写至"目标跨度"寄存器;在"状态"寄存器为0时,填写1至"控制"寄存器;等待"状态"寄 存器为0,表明完成位图的刷新。
[0086] (3)新建一个窗口的实现过程:
[0087] 第一步:主控制器将表示新建一个窗口的这一动作的执行结果的⑶I画面转化为 面的描述(由于矩形即可表不窗口,因此一个窗口可以简化为一个面),该面的描述中包括: 命令标识ID、父窗口标识ID、左上角坐标、右下角坐标(左上角坐标和右下角坐标也可表示 了位图的顶点坐标、高度和宽度)和背景色(也即填充色),具体的设置可如下表(4)所示:
[0088]
[0089]表(4)
[0090] 第二步:主控制器将第一步中所述的面的描述通过显示数据总线发送给显示模 块;
[0091 ] 第二步:显旲块执彳丁步骤a3-步骤e3 :
[0092] 步骤a3 :收到命令后,解析层首先新建一个窗口实例。
[0093] 步骤b3 :初始化窗口属性中的"操作及元素"队列。
[0094] 步骤c3 :初始化子窗口队列。
[0095] 步骤d3 :在其父窗口的子窗口队列中加入该窗口。
[0096] 步骤e3 :以画矩形的方式画出该窗口,并且以背景色填充矩形。
[0097] 其中,父窗口和子窗口的操作原则为:子窗口有其区域,但是该区域不能大于其父 窗口区域,而且根据其父窗口的子窗口队列存放顺序,该子窗口会被队列内其后的兄弟窗 口覆盖;子窗口的坐标都是相对于其父窗口的,是相对坐标,在父窗口移动时,其内的所有 子窗口都会同水平/垂直幅度移动;父窗口 ID为空的窗口,为独立窗口,根据顺序,为其分 配一个从0开始自增的层次号给这些独立窗口,层次号决定了其相互覆盖关系。
[0098] 实施例二
[0099] 本发明实施例二提供一种实现GUI的方法,其流程图如图3所示,具体包括以下步 骤:
[0100] 步骤301 :显示模块接收主控制器通过显示数据总线发送的⑶I基本元素的描述。
[0101] 所述⑶I基本元素的描述是主控制器对⑶I画面进行转化后得到的。
[0102] 所述⑶I基本元素包括:点、线、面、位图和字符;
[0103] 针对点这一基本元素,其描述包括:坐标、粗细和颜色;
[0104] 针对线这一基本元素,其描述包括:起点坐标、终点坐标、粗细、颜色和类型;
[0105] 针对面这一基本元素,其描述包括:顶点坐标、宽度、高度、填充色和类型;
[0106] 针对位图这一基本元素,其描述包括:顶点坐标、宽度、高度和位图标识;
[0107] 针对字符这一基本元素,其基本描述包括:顶点坐标、高度、宽度、字体标识、大小、 颜色、类别和区位码。
[0108] 较优的,所述显示模块包括与构成拼接器屏幕的显示器数目相同的显示子模块, 所述步骤301,具体包括:
[0109] 显示子模块接收主控制器发送的⑶I基本元素的描述,所述主控制器针对每一 GUI基本元素的描述,根据该GUI基本元素的坐标范围,确定该GUI基本元素的描述所要发 送至的显示子模块。
[0110] 例如:针对属于面这一⑶I基本元素的矩形,可能分布在多个拼接器屏幕上,根据 其起点坐标、宽度和高度,以及每个拼接器屏幕的分辨率,可以计算出该矩形框在哪几个拼 接器屏幕上。以3x3个1080P的显示器拼接成的拼接器屏幕,该拼接器屏幕的左上角为原 点,X坐标:[0,1920*3),y坐标:[0,1080*3)为例,一个顶点坐标为(1900,1000),宽度为 800和高度为600的矩形,分布在4个显示器上,因此该矩形的描述需要同时发送至所述4 个显示器对应的显示子模块上。
[0111] 步骤302 :显示模块将接收到的GUI基本元素的描述转换成像素数值;
[0112] 所述显示模块包括与构成拼接器屏幕的显示器数目相同的显示子模块时,本步骤 302具体包括:
[0113] 显示子模块将接收到的⑶I基本元素的描述转换成像素数值。
[0114] 较优的,在初始化时,显示子模块接收主控制器发送的点阵字库文件、位图数据及 位图数据对应的位图标识;所述显示子模块将接收到的GUI基本元素的描述转换成像素数 值,具体包括:
[0115] 在接收到点的描述时,显示子模块确定点的描述中的坐标、粗细及颜色,按照下述 点的像素数值的确定方法确定该点的像素数值;
[0116] 在接收到线的描述时,显示子模块根据线的描述中的起点坐标和终点坐标及类 型,确定构成该线的每一个点及该点的坐标,将线的粗细和颜色作为确定的构成该线的每 一个点的粗细和颜色,针对确定的每一个点,按照下述点的像素数值的确定方法确定该点 的像素数值;
[0117] 在接收到面的描述时,显示子模块根据顶点坐标、宽度、高度和类型,确定构成该 面的每一个点,将面的填充色作为确定的构成该面的每一个点的颜色,按照下述点的像素 数值的确定方法确定该点的像素数值;
[0118] 在接收到位图的描述时,显示子模块根据位图的描述中的位图标识,从以存储的 位图数据与位图标识的对应关系中,确定与所述描述中的位图标识对应的位图数据,并将 确定的该位图数据作为位图的像素数值;
[0119] 在接收到字符的描述时,显示子模块根据字符的描述中的字体标识、大小、区位 码,从以存储的点阵字库文件中,确定该字符的点阵数据,并结合所述字符的描述中的字体 颜色,确定的该字符的像素数值;
[0120] 所述点的像素数值的确定方法包括:根据该点的坐标和粗细,以及拼接器屏幕的 分辨率,确定该点显示模块的显卡设备中对应的填写地址,结合显卡设备使用的颜色标准, 在该填写地址上填写该点的颜色或填充色对应的红绿蓝RGB值。
[0121] 步骤303 :显示模块将该像素数值发送至拼接器屏幕进行显示。
[0122] 在步骤302中,显示子模块将接收到的GUI基本元素的描述转换成像素数值时,则 在本步骤303中,显示子模块将该像素数值发送至拼接器屏幕进行显示。
[0123] 较优的,在初始化时,显示子模块接收主控制器发送的点阵字库文件、位图数据及 位图数据对应的位图标识;所述显示子模块接收主控制器发送的GUI基本元素的描述,具 体包括:
[0124] 在接收到位图的描述时,显示子模块读取该位图的描述中的位图标识,并在确定 读取的所述位图标识与,存储的位图数据与位图标识的对应关系中的任一位图标识均不匹 配时,向主控制器发送携带有位图标识的获取位图数据请求,其中,携带的所述位图标识是 读取的所述位图标识;
[0125] 在接收到字符的描述时,显示子模块读取该字符的描述中的区位码,并在确定读 取的所述区位码与所述点阵字库文件中的任一区位码均不匹配时,向主控制器发送携带有 区位码的获取点阵数据请求,其中,携带的所述区位码是读取的所述区位码。
[0126] 需要说明的是,不同的显示数据总线,有不同的传输实现,便于描述起见,以下对
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1