MiniGUI 的演变

自 1998 年底推出 MiniGUI 以来,已经过去了 20 年。最初,MiniGUI 的设计目的是为基于 Linux 的控制系统提供一个简单的人机界面;没有人预见到 MiniGUI 会成为一个跨操作系统的嵌入式 GUI 系统。幸运的是,自推出以来,MiniGUI 已广泛应用于各种项目中,实际项目的需求不断增加,使得 MiniGUI 逐渐成长为一种跨操作系统的嵌入式 GUI 中间件产品。

1998 年 12 月,飞漫软件的发起人魏永明开始开发 MiniGUI,并将其应用于计算机数控(CNC)系统。2000 年 3 月,联想采用 MiniGUI 开发 HappyLinux V1.0(Linux 发行版)的安装程序。当时,MiniGUI 已经成为 Linux 的强大嵌入式 GUI 支持系统。从 2000 年 4 月到 2002 年 9 月,作为著名的免费软件之一,MiniGUI 是在 GPL 许可证下开发和发布的。

2002 年 9 月,MiniGUI 的核心开发人员成立了北京飞漫软件技术有限公司,并开始使用免费软件进行商业营销。MiniGUI V1.2.6 和 MiniGUI V1.3.0 分别于 2003 年 5 月和 2003 年 9月 发布。

2003 年 10 月,MiniGUI 被移植到 uClinux 和 eCos 操作系统。因此,MiniGUI 已经成为一个跨操作系统的嵌入式 GUI 系统。

2004 年 8 月,中国最著名的电信设备供应商使用 MiniGUI 作为 STB、手持设备等的平台。2005 年 1 月,主要的 TD-SCDMA 标准制造商选择 MiniGUI 作为其 TD-SCDMA 手机的 MMI 解决方案。
目前,MiniGUI 的最新版本是 3.0.x,它支持 Linux/uClinux、eCos、uC/OS-II、VxWorks、pSOS、ThreadX、Nucleus 和 Win32 平台。

2012 年 1 月,飞漫软件在 GPL 许可证下发布了用于 Linux 的 MiniGUI V3.0.x。

2017 年 8 月,飞漫软件根据 Apache 2.0 许可证发布了 mDolphin V3.0.x。

2018 年 1 月,飞漫软件发布了 miniStudio V1.2.x 作为共享软件。

2018 年 7 月,飞漫软件发布了 MiniGUI V3.2.0。

2019 年 7 月,飞漫软件发布了 MiniGUI V4.0.0。

里程碑

MiniGUI v4.0.0(2019 年 7 月)

  • 支持Unicode 12.0。
  • 支持复杂/混合脚本。
  • 支持额外的输入消息。

MiniGUI v3.2.0(2018 年 7 月)

  • 支持 64 位体系结构。
  • mGNCS4Touch 组件。

miniStudio v1.2.1(2018 年 2 月)

  • 作为共享软件发布。

mDolphin v3.0.4(2017 年 8 月)

  • 在Apache 2.0下发布。

MiniGUI v3.0.x(2012 年 1 月)

  • 双缓冲的主窗口。。
  • 新的控件/小部件集(作为 mGNCS 组件发布)。
  • 新的动画框架(作为mGEff组件发布)。

Version 2.0.x(2005 年 10 月)

MiniGUI 2.0.x 版提供以下关键功能:

  • Linux MiniGUI-Processes 的实时模式。

Version 1.6.x(2004 年 12 月)

MiniGUI 1.6 版本提供了以下新功能:

  • 支持 VxWorks 和 ThreadX 操作系统。MiniGUI 现在可以在 Linux/uClinux、eCos、uC/OS-II、VxWorks、ThreadX 和 Windows 操作系统上运行。
  • 更多控件。Transparent style、ScrollView 和 ScrollWnd 控件、GridView 控件、IconView 控件、Animation 控件以及增强的 SLEdit 和 MLEdit 控件。
  • 增强的 GDI API 提供对高级 2D 图形功能、单击笔宽度、笔样式和画笔模式的支持。
  • 修复了许多 bug。

Version 1.3.x(2003 年 10 月)

MiniGUI 1.3 版本提供了以下新功能:

  • 在核心资源中。您可以将资源(位图、图标和字体)编译到库(libminigui)中,无需从 MiniGUI.cfg 中读取资源配置信息。该功能对于许多缺乏文件系统支持的嵌入式系统非常有用。
  • 新的运行时模式:MiniGUI-Standalone。您可以将 MiniGUI 配置和编译为 MiniGUI 独立版本。这种模式对于一些缺乏 POSIX 线程支持的系统很有用,比如一些 uClinux 系统。
  • 支持 uClinux 和 eCos。
  • 支持皮肤。现在,您可以使用皮肤构建漂亮的 UI。
  • 有用的配置界面。您可以使用 “makemenuconfig” 命令配置 MiniGUI,该命令为您提供了一个非常易于使用的界面来配置 MiniGUI。

旧版本的特性

1.2.x 版本之后的功能:

  • 增强 MiniGUI Lite 并提供对层的支持。同一层上的多个客户端可以同时输出到屏幕。
  • 加强 GAL 引擎的接口,清理 IAL 引擎的接口。
  • 重写 GDI API,并为高级图形功能提供支持,如 alpha 混合、透明 blitting 和光栅操作。
  • 支持其他图形模板,如 X 或 SVGALib。
  • 清理窗口管理器的代码,并增强内置控件。
  • 实现窗口和控件的布局主题。
  • 在 MiniGUI Lite 中提供对矢量字体的支持。

1.0.x 版本之后的功能:

  • MiniGUI Lite:以进程的形式启动应用程序。
  • 多个窗口(在单独的线程或单线程)。
  • 主窗口托管(单线程)。
  • 预定义的控制类(STATIC、EDIT、BUTTON、PROGRESSBAR、TRACKBAR、LISTBOX、MENUBUTTON 等)。
  • 对话框。
  • 消息传递和调度。
  • GDI 函数(MoveTo、LineTo、FillBox、Rectangle、Circle、TextOut、DrawText 等)。
  • 支持 Windows 位图、图标和光标资源文件。
  • Caret.
  • 类似 Win32 的计时器。
  • 加速键。
  • GB2312、BIG5、EUCKR、UJIS 字符集支持。您可以轻松添加新的字符集支持。
  • 多字体支持。
  • 中文(GB2312)输入法。
  • GIF、JPG 和 PNG 图像支持。
  • Miscellouse。(蜂鸣声,ETC/INI 文件操作)

0.9.x 版本之后的功能:

  • MiniGUI Lite 增强,并修复了一些错误。
  • TrackBar 控件增强。
  • MiniGUI.cfg 的格式发生了变化。
  • 添加新 API:SetWindowBkColor。
  • API 现在是稳定的。MiniGUI-Lite enhanced and some bugs fixed.
  • MiniGUI Lite 版本加入到 0.9.98 版本。请使用 “./configure——enable-lite” 启用 lite 版本。Lite 版本为默认设置。你可以用 “./configure——disable-lite” 来制作基于pthreads 的 MiniGUI。注意 Lite 版本只能在 NATIVE 引擎上运行,不提供对 TTF 和 Adobe Type1 字体的支持。
  • 添加了一个新控件:TrackBar。
  • Song Lixin 的原生引擎。该引擎基于 framebuffer directly。目前支持 Linear 16bpp、Linear 8bpp 驱动程序。
  • 支持 Sub-control。您可以在控件中创建子控件,而不仅仅限于在主窗口中,还可以创建子子控件。
  • 编辑框控件增强。使用 MiniGUI 的多字体和多字符集界面。参见“笔记本”。
  • 工具栏控件增强。可以添加不同大小的工具按钮。
  • 添加了菜单按钮控件。菜单按钮表现为下拉组合框,但在弹出菜单中显示列表项,而不是在列表框中。
  • 为控件添加扩展样式 WS_EX_CTRLASMAINWIN。可以使用此样式创建一个控件,该控件可以在该控件所属的主窗口外显示其内容。
  • 支持 TrueType 字体和 Adobe Type1 字体。
  • 支持 PCX, TGA, GIF, JPG 图像通过 LoadBitmap 函数调用。
  • 工具栏控件已添加。
  • 增强了多行编辑器控件。
  • 中文输入法中新增了智能拼音模块
  • 增加了一个基于编辑框控件的应用程序“笔记本”。
  • 在 mywins 库中添加预定义的主窗口 “LogWin”,为基于 MiniGUI 的应用程序提供调试工具。
  • 在 mywins 库中添加预定义的对话框 “FileOpenDialog”,以提供标准的 OpenFile 对话框。
  • 增强或添加一些演示程序。

 

0.3.x 版本之后的功能:

  • 添加新的图形抽象层(GAL)和新的输入抽象层(IAL)。通过使用 GAL 和 IAL,MiniGUI 可以在许多图形引擎上运行,例如 SVGALib 和 LibGGI,我们可以通过实现一个新的符合 GAL 和 ILL 接口的图形引擎,轻松地将 MiniGUI 移植到其他 POSIX 系统。现在,MiniGUI 应用程序可以在 X Window 上运行,我们可以轻松调试 MiniGUI 应用。已在版本 0.3.00 中发布。
  • 添加多字体和多字符集支持。此功能将在 0.3.02 版中出现。
  • GUI 的一些增强功能。此功能将在 0.3.04 版中出现。
  • 向 GDI 添加一些光栅操作。此功能将在 0.3.06 版中出现。
  • 使用 autoconf 和 automake。我们可以轻松制作和安装 MiniGUI。已在版本 0.3.00 中发布。
  • 集成 mywins 库和 vcongui 库。已在版本 0.3.00 中发布。
  • 添加一些有趣的演示程序来展示 MiniGUI 的功能。

延伸阅读

关于 MiniGUI 的特性和历史,请参考 MiniGUI 概述

Last Post
Next Post

Loading Conversation