Linux 第6章 图形界面应用程序开发.ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux 第6章 图形界面应用程序开发

MiniGUI其主要有以下特点: 提供了完备的多窗口机制和消息传递机制。 提供常用的控件类,包括静态文本框、按钮、单行和多行编辑框、列表框、组合框、进度条、属性页、工具栏、拖动条和树型控件等。 支持对话框和消息框。 包含其他GUI辅助元素,如菜单、加速键、插入符及定时器等。 支持界面皮肤,用户可通过皮肤获得外观华丽的图形界面。 通过两种不同的内部软件结构支持低端显示设备(比如单色 LCD)和高端显示设备(比如彩色显示器),后者在前者的基础上提供了更加强大的图形功能。 支持Windows兼容的资源文件,如位图、图标、光标等。 支持各种流行图像文件,包括 JPEG、GIF、PNG、TGA、BMP 等。 支持多字符集和多字体,可以支持ISO8859-1~ISO8859-15、GB2312、GBK、GB18030、BIG5、EUC-JP、Shift-JIS、EUC-KR和UNICODE 等字符集,支持等宽点阵字体、变宽点阵字体、Qt/Embedded 使用的嵌入式字体QPF、TrueType及Adobe Type1等向量字体。 支持多种键盘布局。MiniGUI除支持常见的PC键盘布局之外,还支持法语、德语等西欧语种的键盘布局。 支持汉字(GB2312)输入法,包括内码、全拼、智能拼音等。用户还可以从飞漫软件获得五笔、自然码等输入法支持。 还有一些针对嵌入式系统的特殊支持,包括一般性的I/O流操作,字节序相关函数等。 层的支持,可以使用JoinLayer将一个客户程序加入到某个已由其他客户程序创建好的层中。如果成功,则处于同一个层中的客户能够同时向屏幕上进行图形输出(该功能增加在MiniGUI-Lite 版本中)。 借鉴著名的跨平台游戏和多媒体函数库 SDL(Simple DirectMedia Layer)的新GAL接口即NEWGAL。提供了更快、更强的位块操作,视频加速支持及Alpha混合等功能。 增强的新GDI函数,包括光栅操作、复杂区域处理、椭圆、圆弧、多边形及区域填充等函数。在提供数学库的平台上,还提供有高级二维绘图函数,可设置线宽、线型及填充模式等。 图形抽象层(GAL)及输入抽象层(IAL)。利用GAL和IAL,MiniGUI可以在许多图形引擎上运行,并且可以非常方便地将 MiniGUI移植到其他系统上,而这只需要根据抽象层接口实现新的图形引擎即可。目前,已经编写了基于FrameBuffer、QVFB、eCos LCD的图形引擎,内建有针对Xcopilot仿真器、EP7312开发板、iPAQ 系列和S3C2410开发板等硬件的输入引擎。利用QVFB,MiniGUI应用程序可以运行在X Window上,这将大大方便应用程序的调试。 图6-1中,任何上层都可以调用位于它下面的各层提供的函数,各层的具体含义如下所示。 C层:有两类C库函数可供调用,一类是标准C的库函数,如printf,另一类是Linux的系统调用,如open。 glib层:glib是GDK、GTK+、GNOME工程的基础底层核心程序库。它包括内存分配、字符串操作、日期和时间、定时器等库函数,也包括许多数据结构,如链表、队列、树、hash表等。 X层:是控制图形显示的底层函数库,包括所有的窗口显示函数、响应鼠标和键盘操作的函数。 GDK(GIMP Drawing Kit)层:GDK(GIMP绘图包)是为了简化程序员使用X函数库而开发的。它包括GTK所使用的基本图形操作函数,如基本图元、颜色、事件处理等,X库是其低层函数库,GDK对其进行了包装,从而使程序员的开发效率大大提高。 GTK+层:是GIMP工具包,它把GDK提供的函数组织成对象,使用C语言模拟出面向对象的特征,使得开发出的图形界面程序更为简单和高效,GTK+的一个重要组成部分是widget(控件,也称为小部件),按钮、文本编辑框、标签等都是widget。 GNOME层:GNOME库是对GTK+的扩展,GNOME桌面环境用来控制整个桌面。GNOME使用GNOME对象和函数与桌面小部件交互,基本小部件由GTK+处理。GNOME为了方便程序员还增加了一些专门的小部件。 Application层:Application即应用程序,它完成窗口的初始化,创建并显示窗口,进入消息循环,等待用户使用鼠标或键盘进行操作。 MiniGUI的可配置性集中体现在它的3种运行模式上: MiniGUI-Threads:运行在MiniGUI-Threads上的程序可在不同线程中建立多个窗口,但这些窗口均在一个进程中或地址空间中运行。这种运行模式适合于大多数传统意义上的嵌入式操作系统,如eCos、VxWorks、pSOS、Linux和ucLinux等。 MiniGUI-Lite:MiniGUI-Lite上每个程序是单独的进程

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档