自 2019 年 4 月 16 日发布 MiniGUI 4.0.0 预览版本以来,又经过了三个月的紧张开发,飞漫软件在 MiniGUI 官网上发布了 MiniGUI 4.0.0 正式版本!
MiniGUI 4.0 主要围绕 HybridOS 的需求而开发,主要的新增特性有:
-
完整的 Unicode 支持接口,符合最新的 Unicode 12.0.0 标准及相关规范。
-
用于支持复杂书写系统(如阿拉伯文、泰文、印度语、蒙文、藏文等)的相关接口,用于复杂或者混合文字的排版、字体成型和渲染。这些接口的设计主要依照 CSS Text Module Level 3 规范进行,用于支持 HybridOS 基础类库的文本排版及渲染功能。
-
为支持复杂文字,在保持接口稳定性的基础上增强了 MiniGUI 逻辑字体和设备字体的相关接口。
-
其他增强,如解决 GCC 7.3 编译器的兼容性问题,支持 Ubuntu 18.04 LTS 等。
在 MiniGUI 4.0.0 预览版本基础上,正式版本又新增了如下新的特性:
-
支持除键盘鼠标之外的其他输入设备,如多点触摸屏、手势、游戏杆、平板笔等。为此,我们增加了若干 MSG_EXIN 消息,用于支持来自这些设备的输入事件,并新增了 libinput 输入引擎,可在 Linux 上直接使用 libinput 来支持这些输入设备,同时新增了 random 输入引擎,用来支持测试扩展输入事件。
-
新增 dri 图形引擎,用于通过全新的 Linux DRI/DRM 图形栈支持现代的显示卡或者 GPU,用于实现硬件加速的 2D/3D 图形渲染。dri 图形引擎采用了一种可扩展设计,为支持特定的显示卡或 GPU,开发者无需直接修改 MiniGUI 源代码,通过为该显示卡或 GPU 编写子驱动程序(若干回调函数),即可在 MiniGUI 核心库之外实现对硬件的支持。具体可参考 mg-tests/dri-engine,其中以 Intel i915 GPU 为例,实现了对应的硬件加速渲染功能。
MiniGUI 4.0 是 MiniGUI 3.2 基础上的一次重大更新,新增或修改的代码达 20 万行之巨(包括自动生成的代码)。为确保代码质量,开发者针对每个新增或者修改的接口编写了针对性的单元测试代码,并利用 efence、valgrind 等工具检测可能的内存泄露、越界访问等常见问题。
详情请访问: