• 欢迎来到 - 我就爱电子网 - http://www.592dz.com !
您的位置:> 我就爱电子网电子文章嵌入式系统MiniGUI 的技术特点 -- 正文
正文

MiniGUI 的技术特点

[05-04 22:12:52]   来源:http://www.592dz.com  嵌入式系统   阅读:9609

 

概要: 等,同时还提供 Win32 平台上的 SDK 开发包,方便嵌入式应用程序的开发和调试。2) 多运行模式支持,为了适应不同的操作系统运行环境,MiniGUI 可配置成三种运行模式:MiniGUI-Threads、MiniGUI-Processes4 及 MiniGUI-Standalone。3) 内建资源支持。我们可以将 MiniGUI 所使用的资源,诸如位图、图标和字体等编译到函数库中,该特性可提高 MiniGUI 的初始化速度,并且非常适合 eCos/uCOS-II/ThreadX 等无文件系统支持的实时嵌入式操作系统。4) 完备的多窗口机制和消息传递机制。5) 提供常用的控件类,包括静态文本框、按钮、单行和多行编辑框、列表框、组合框、菜单按钮、进度条、滑块、属性页、工具栏、树型控件、月历控件、旋钮控件、酷工具栏、网格控件、动画控件等。6) 对话框和消息框支持。7) 其它 GUI 元素,包括菜单、加速键、插入符、定时器等。8) 界面皮肤支持。用户可通过皮肤支持获得华丽的图形界面。9) 支持低端显示设备(比如单色 LCD)和高端显示设备(8 位色及以上显示设备)。通过 MiniGUI的图形抽象层及图形引擎技术,还可以支持特殊的显示设备,比如 YUV 显示设备。10) 提供有增强 G

MiniGUI 的技术特点,http://www.592dz.com

MiniGUI 的技术特点
MiniGUI 为实时嵌入式操作系统提供了非常完善的图形(Graphics)及用户界面(UI,User
Interface)支持。MiniGUI 本身的可移植性设计,使得不论在哪个硬件平台、哪种操作系统上运行,MiniGUI 均能为上层应用程序提供一致的应用程序编程接口(API)。
首先,MiniGUI 是一个根据嵌入式系统应用特点量身定做的完整的图形支持系统。作为操作系统
和应用程序之间的中间件,MiniGUI 将底层操作系统及硬件平台差别隐藏了起来,并对上层应用程序
提供了一致的功能特性,这些功能特性主要包括:
1) 跨操作系统支持,具体包括普通嵌入式 Linux/uClinux、VxWorks、eCos、uC/OS-II、pSOS、ThreadX、Nucleus、OSE 等,同时还提供 Win32 平台上的 SDK 开发包,方便嵌入式应用程序的开发和调试。
2) 多运行模式支持,为了适应不同的操作系统运行环境,MiniGUI 可配置成三种运行模式:
MiniGUI-Threads、MiniGUI-Processes4 及 MiniGUI-Standalone。
3) 内建资源支持。我们可以将 MiniGUI 所使用的资源,诸如位图、图标和字体等编译到函数库
中,该特性可提高 MiniGUI 的初始化速度,并且非常适合 eCos/uCOS-II/ThreadX 等无文件
系统支持的实时嵌入式操作系统。
4) 完备的多窗口机制和消息传递机制。
5) 提供常用的控件类,包括静态文本框、按钮、单行和多行编辑框、列表框、组合框、菜单按钮、
进度条、滑块、属性页、工具栏、树型控件、月历控件、旋钮控件、酷工具栏、网格控件、动
画控件等。
6) 对话框和消息框支持。
7) 其它 GUI 元素,包括菜单、加速键、插入符、定时器等。
8) 界面皮肤支持。用户可通过皮肤支持获得华丽的图形界面。
9) 支持低端显示设备(比如单色 LCD)和高端显示设备(8 位色及以上显示设备)。通过 MiniGUI
的图形抽象层及图形引擎技术,还可以支持特殊的显示设备,比如 YUV 显示设备。
10) 提供有增强 GDI 函数,包括光栅操作、复杂区域处理、椭圆、圆弧、多边形以及区域填充等
函数。在提供有兼容于 C99 规范的数学库平台上,还提供有高级二维绘图函数,可设置线宽、
线型以及填充模式等。通过 MiniGUI 的图形抽象层及图形引擎技术,我们也可以让上述高级
GDI 接口在低端显示屏上实现。
11) Windows 的资源文件支持,如位图、图标、光标等。
12) 各种流行图像文件的支持,包括 Windows BMP、GIF、JPEG、PNG 等(JPEG 及 PNG 的
支持通过 libjpeg 及 libpng 函数库提供)。
13) 多字符集和多字体支持,目前支持 ISO8859-1~ISO8859-15、GB2312、GBK、GB18030、BIG5、EUC-JP、Shift-JIS、EUC-KR、UNICODE(UTF-8、UTF-16 编码)等字符集,支持等宽点阵字体、变宽点阵字体、Qt/Embedded 使用的嵌入式字体 QPF、TrueType 以及
Adobe Type1 等矢量字体(TrueType 及 Type1 的支持分别通过 freetype 1.3 及 libt1 函数
库提供)。同时,对于点阵字体 MiniGUI 也可以进行自动放大处理,并可针对电视等特殊显
示设备实现防锯齿功能。

14) 多种键盘布局的支持。MiniGUI 除支持常见的美式 PC 键盘布局之外,还支持法语、德语等
西欧语种的键盘布局。
15) 输入法支持,用于提供各种可能的输入形式;内建有适合 PC 平台的汉字(GB2312)输入
法支持,包括内码、全拼、智能拼音、五笔及自然码等。
16) 针对嵌入式系统的特殊支持,包括一般性的 I/O 流操作,字节序相关函数等。
17) 副屏支持。当系统中有多个视频设备时,可将一个作为MiniGUI 的主屏,实现完整的多窗口
系统;而其它设备作为副屏,在其上通过MiniGUI 的图形接口来实现文字渲染、图形显示等
功能。
其次,在 MiniGUI 近九年的发展过程中,有许多值得一提的技术创新点。正是由于这些技术上的
创新,才使得 MiniGUI 更加适合实时嵌入式系统,而且也使得 MiniGUI 的灵活性非常好,可以应用
在包括手持设备、机顶盒、游戏终端等等在内的各种高端或低端的嵌入式系统当中。这些技术创新包括:
1) 图形和输入抽象层。图形和输入抽象层对顶层 API 基本没有影响,但大大方便了 MiniGUI 自
身以及应用程序的移植、调试等工作。MiniGUI 现在已经被证明能够在基于 i386、ARM(包
括 StrongARM、xScale 等)、MIPS、PowerPC,以及低端的 DragonBall、ColdFire 等 CPU
嵌入式系统上流畅运行。利用图形和输入抽象层,我们还可以实现基于软件结构的引擎。比
如模拟现实输入的 random 输入引擎,通过它,我们可以完成应用程序的自动测试。再比如,
我们可以通过 Shadow 图形引擎支持 YUV 输出设备、提供对无法直接访问显示帧缓冲区的
图形芯片的支持、提供对低于 8 位色显示屏的支持、实现屏幕旋转功能等等。
2) 多字体和多字符集支持。这部分通过设备上下文(DC)的逻辑字体(LOGFONT)实现,不
管是字体类型还是字符集,都可以非常方便地进行扩充。利用 DrawText 等函数时,可通过
指定字体而获得对各种字符集的支持,比如 GB2312、GBK、BIG5、EUCKR、ShiftJIS、
UNICODE(UTF-8、UTF-16 编码)等等。这样,在单个 MiniGUI 应用程序中,同时显示多
个不同语种的文字非常容易。MiniGUI 的这种字符集支持不同于通过 UNICODE 内码实现的
传统多字符集支持,这种实现占用资源少,更加适合于嵌入式系统

[1] [2]  下一页


标签:嵌入式系统嵌入式系统开发大全,嵌入式开发嵌入式系统
《MiniGUI 的技术特点》相关文章