前言
MiniGUI是一个跨操作系统的、面向嵌入式系统的轻量级图形用户界面支持系统。MiniGUI项目自 1998 年底开始到现在,已历经近八年的开发过程,目前已非常成熟和稳定,并且在许多实际产品或项目中得到了广泛的应用。目前,MiniGUI 的最新稳定版是 2.0.4/1.6.10。本指南是MiniGUI 2.0.4/1.6.10版本1的编程指南,描述如何在MiniGUI之上编写应用程序。
本指南是一本关于MiniGUI编程的完整指南,讲述了MiniGUI编程的基础知识和各种编程方法及技巧,并详细地描述了主要的API函数。虽然本指南试图尽可能详尽地描述MiniGUI编程的各个方面,但它不是一本关于MiniGUI API的完整参考手册,该方面的信息请参考《MiniGUI API Reference Manual》。
相关的文档
除本指南之外,MiniGUI 增值版产品中还包含有如下印刷的文档资料:
- 《MiniGUI用户手册》 V2.0-4。主要描述 MiniGUI 的编译时配置选项和运行时配置选项。
产品光盘的 minigui/docs/ 目录中包含有本指南以及《MiniGUI 用户手册》V2.0-4 的 PDF 格式电子版本。除此之外,该目录中还包含有如下文档的电子版本(PDF 格式):
- 《MiniGUI API Reference Manual》 V2.0.4。对 MiniGUI V2.0.4 接口(MiniGUI-Processes运行模式)的详细描述1。
- 《MiniGUI API Reference Manual》 V1.6.10。对 MiniGUI V1.6.10 接口(MiniGUI-Threads 运行模式)的详细描述2。
- 《MiniGUI 技术白皮书for V2.0.4/1.6.10》以及《Datasheet for MiniGUI V2.0.4/1.6.10》。
产品光盘根目录中的 README 文件详细描述了上述文档对应的文件名称。产品光盘的根目录中还包含有
ReleaseNotes? .pdf 文件,该文件详细描述了新版本中的新增功能、增强或者优化等等;请特别注意可能引起兼容性问题的增强或缺陷修正。
请访问
http://www.minigui.com/product/cindex.shtml 获得飞漫软件其他产品的信息以及购买信息。
本指南的组织
除本前言外,本指南共分四篇共三十八章:
- 第1篇:MiniGUI 编程基础,第2章到第12章。讲述使用 MiniGUI 编程的基本概念。
- 第2篇:MiniGUI 图形编程,第13章到第15章。讲述 MiniGUI 图形相关接口的使用及概念。
- 第3篇:MiniGUI 高级编程主题,第 16 章到第18章。讲述 MiniGUI-Processes 相关的高级编程概念及定制图形引擎和输入引擎的开发。
- 第4篇:MiniGUI 控件编程,第19章到第38章。讲述 MiniGUI 提供的各种控件的使用方法。
注:飞漫软件不再发布包含
MiniGUI-Lite 运行模式支持的MiniGUI-VAR for Linux/uClinux V1.6.10。对 uClinux操作系统,仅发布
MiniGUI-VAR for uClinux V1.6.10,其中不包括
MiniGUI-Processes 的支持。
获得本指南中的例子
本指南中的示例程序部分来自 MDE(MiniGUI 综合演示程序)。我们将其他示例程序组织成了完整的Autoconf/Automake 项目,并以 mg-samples 软件包的形式保存在产品光盘中。
对
MiniGUI-VAR V2.0.4,相关代码包保存在产品光盘的 minigui/2.0.x 目录中,相关文件如下所列:
- libminigui-2.0.4-.tar.gz:针对 (如 linux)操作系统的 MiniGUI V2.0.4 函数库源代码。MiniGUI由三个函数库组成;它们分别是libminigui、libmgext 以及 libvcongui。libminigui 是提供窗口管理和图形接口的核心函数库,也提供了大量的标准控件;libmgext 是 libminigui 的一个扩展库,提供了一些高级控件以及 “文件打开”、“颜色选择”对话框等;libvcongui 则为 Linux 操作系统提供了一个应用程序可用的虚拟控制台窗口,从而可以方便地在 MiniGUI 环境中运行字符界面的应用程序,libmgext和libvcongui库已经包含在这个源代码包中。
- minigui-res-2.0.4.tar.gz:MiniGUI 所使用的资源, 包括基本字体、图标、位图和鼠标光标。
- mg-samples-2.0.4.tar.gz:《MiniGUI 编程指南》的配套示例程序。
- mde-2.0.4.tar.gz:MiniGUI 的综合演示程序包,其中包含有一些较为复杂的示例程序。
对
MiniGUI-VAR V1.6.10,相关代码包保存在产品光盘的 minigui/1.6.x 目录中,相关文件如下所列:
- libminigui-1.6.10-.tar.gz:针对 (如 vxworks)操作系统的 MiniGUI V1.6.10 函数库源代码。MiniGUI由三个函数库组成;它们分别是libminigui、libmgext 以及 libvcongui。libminigui 是提供窗口管理和图形接口的核心函数库,也提供了大量的标准控件;libmgext 是 libminigui 的一个扩展库,提供了一些高级控件以及 “文件打开”、“颜色选择”对话框等;libvcongui 则为 Linux 操作系统提供了一个应用程序可用的虚拟控制台窗口,从而可以方便地在 MiniGUI 环境中运行字符界面的应用程序,libmgext和libvcongui库已经包含在这个源代码包中。
- minigui-res-1.6.10.tar.gz:MiniGUI 所使用的资源, 包括基本字体、图标、位图和鼠标光标。
- mg-samples-1.6.10.tar.gz:《MiniGUI 编程指南》的配套示例程序。
- mde-1.6.10.tar.gz:MiniGUI 的综合演示程序包,其中包含有一些较为复杂的示例程序。
示例程序的编译及运行环境
本指南假定用户使用的是针对 Linux 操作系统的
MiniGUI 增值版产品,因此,某些例子是以用户使用 Linux 操作系统以及 GNU 开发环境为背景讲述的。但是,本指南中的绝大部分概念同时适用于其他操作系统。关于如何在其他操作系统上编译并运行
MiniGUI 应用程序的相关内容,请参阅和特定操作系统相配套的《MiniGUI 移植指南》文档。
我们推荐运行 Linux 的 PC 机配置如下:
- 奔腾III以上 CPU;
- 256MB 以上内存;
- 至少 15GB 空闲的硬盘空间;
- 使用 USB/PS2 接口的鼠标(PS2 或 IMPS2 鼠标协议);
- VESA2 兼容的显示卡,确保能达到 1024x768 分辨率,16位色;
- 选择 Red Hat Linux 9 发行版、Debian Linux 发行版或者 Fedora Linux 3 发行版等。安装时请选择所有的软件包(需为 /usr 文件系统保留至少 5GB 的空间);
- 对硬盘合理分区,将 /usr、/usr/local、/home、/var、/opt 等文件系统挂装在不同的分区上,确保为 /usr/local 和 /opt 文件系统划分至少各 3GB 的空间。
版权和许可条款
为了便于您将
MiniGUI 进行交叉编译并运行在最终的目标版上,飞漫软件在
MiniGUI 增值版产品中提供了针对某特定操作系统的
MiniGUI 完整源代码。飞漫软件仅仅允许您为了支持特定的硬件平台而增加或修改输入引擎、图形引擎以及相关的编译工具文件;飞漫软件不允许您修改
MiniGUI 的其他源代码。有关
MiniGUI 的其他权利均由北京飞漫软件有限公司保留。
本指南中作为例子提供的源代码版权归北京飞漫软件技术有限公司所有,并遵循 GPL 条款发布。有关 GPL 许可证条款的原文,通过如下途径获得:
- mde 或 mg-samples 软件包中的 COPYING 文件
- 访问http://www.gnu.org/licenses/licenses.html 网页
--
QiJinrong - 19 Feb 2009