- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
适用于数字电视机顶盒的嵌入式窗口系统开发
【中心议题】
介绍了一种轻量级嵌入式窗口系统结构
以在机顶盒软件中的应用为例阐述了该窗口系统开发的关键技术问题
【解决方案】
新增了一个位于中间层的软件模块,为图形界面的开发提供必要的支持
采用基于窗口系统的图形界面系统?
1引言
作为一种面向最终用户的消费电子产品,用户界面的设计在机顶盒软件的开发中占有越来越重要的地位。界面软件的设计以用户为中心,其目的是让用户能够用最简单有效的方式完成交互操作,图形界面作为有效提高用户易用性的手段被广泛使用。图形用户界面的设计具有复杂度高、需求多变、可重用性差的特点,而在实际工程中具有开发周期长、稳定性低、模块化程度低等问题。
导致产生上述问题的一个重要因素是:机顶盒软件基于嵌入式实时操作系统开发,而此类操作系统一般没有对图形用户界面的特殊支持,用户界面往往被简单划分为用户层软件的一部分,其实现与具体的界面设计方案耦合过强。解决此问题的有效方法是:定义一个适用于界面开发的中间层模块,为图形界面的开发提供必要支持。图1为一个典型的采用此种设计模式的机顶盒系统结构。
与传统的机顶盒软件相比,其最显著的区别是新增了一个位于中间层的软件模块,为图形界面的开发提供必要的支持。而基于窗口系统的图形界面系统是目前应用最为广泛的技术。由于硬件机能的限制,机顶盒通常不能支持PC上常见的复杂图形系统。笔者介绍了一种适用于机顶盒的轻量级图形系统,该系统能够有效完成大多数界面设计的需求,同时保持很高的性能和灵活性。
2窗口系统的整体结构
本设计中的窗口系统的基本功能包括标量及矢量图形绘制、屏幕区域管理、窗口管理和分发输入事件,提供常用界面控件以及应用编程接口。该系统采用层次化设计思想,每一层均可根据工程中的实际需要进行修改,而不会对系统的整体结构造成影响。该系统的结构模型如图2所示。
在底层,驱动程序为访问图形设备和输入设备提供最基本的支持。在目前常见的机顶盒系统中,图形硬件通常包括二维图形加速器,而输入设备在多数情况下为遥控器和机顶盒控制面板。
在中间层,该系统实现了一个与硬件无关的绘图引擎,提供了常用的标量图绘制和少量的矢量图绘制功能,同时提供对屏幕缓冲区的管理和裁剪区域的支持。
在上层,窗口管理器提供了窗口系统的大部分核心功能,如窗口的创建和管理、窗口的重绘,以及对输入事件的分发等功能。
应用程序通过窗口管理器提供了编程接口与图形系统交互,为保证用户界面的一致性并提高开发效率,该系统同时包含常用的界面控件库,提供诸如按钮、列表等常用图形控件。基于该系统开发的应用完全与具体的硬件和操作系统隔离,可以很方便地移植到不同的机顶盒平台上。
3绘图引擎
绘图引擎是整个图形系统的重要组成部分,主要功能包括[6]:1)管理屏幕缓冲区和显示内存。2)提供对窗口区域的管理和屏幕裁剪的支持。3)提供对矢量图、标量图以及矢量字库的支持。4)为上层模块提供与设备无关的编程接口。绘图引擎的结构如图3所示。
绘图引擎直接操纵下层硬件设备,并为上层模块提供与设备无关的编程接口,是整个图形系统跨平台性的保证。绘图引擎所提供的各项功能对窗口系统也是非常关键的。
3.1屏幕缓冲区管理
当前主流机顶盒系统的显示设备无一例外地采用帧缓存设计,屏幕上显示的内容对应于显示内存中的一帧图像数据。机顶盒软件向帧缓存中写入数据,显示设备从同一个缓存中读取数据,进而更新屏幕上显示的图像内容。
管理屏幕缓冲区需要解决2个基本问题:确保写入缓存的数据符合当前显示设备的显示模式,以及保证帧缓存中数据的完整性,避免在机顶盒软件更新帧缓存时,屏幕图像产生抖动。
图形显示模式决定了帧缓存中的数据格式,即色深和内存排布方式。机顶盒软件必须采用设备要求的显示模式向缓存中写入图像数据,否则显示设备无法显示正确的图像信息。不同的硬件设备和图形模式下,写入帧缓存中的数据格式差异很大。为了避免这些差异对上层软件的影响,图形引擎通过一系列宏定义,为不同的显示模式生成正确的颜色数据,例如定义如下的宏来写入32位的像素数据:#define ARGB_8888(a,r,g,b),(a)24|(r)|(g)8|(b)16。
不同于桌面计算机系统,机顶盒系统的显示模式在出厂后是不可改变的,因此图形引擎通过条件编译,选择一种匹配当前系统颜色模式的数据格式作为通用的像素表示:#define ARGB ARGB_8888。上层模块只需统一使用ARGB宏定义颜色即可,无须考虑具体的硬件显示模式。在保证数据格式正确的同时,机顶盒软件还会面临屏幕内容与帧缓存内容同步的问题。在软件绘制屏幕图像的过程中,往往会多次更新屏幕同一个像素的内容。例如,应用程序需要更改屏幕上显示的文字,通常的做法是先将屏幕上相应的区域用背景色完全填充,然后重新绘制新的文字内容。这样做比先计算不同的文字更改了哪些像素,然后只更
您可能关注的文档
最近下载
- 20171017_宁波新世界明楼项目汇报文件.pptx VIP
- (人教PEP版2024)英语五年级上册 Unit2 大单元教学设计.docx VIP
- 劳务合同模板2025.docx VIP
- 高性能探针卡生产线项目规划设计方案.docx
- 2024年秋新沪科版物理八年级上册 第五章大单元整体设计 教学课件.pptx VIP
- 数字赋能乡村治理的实践探索与优化路径——以晋南S村为例.pdf
- 《道路运输管理实务》第2版综合测试题.docx VIP
- 《人工智能导论》课件.ppt VIP
- 第一章 大学生心理健康教育.pdf VIP
- 《铁路线路养护与维修》课件全套 模块1、2 基础知识;普速铁路线路工务作业.pptx
文档评论(0)