MiniGUI 4.0.0 Official Release

The MiniGUI development team announces the availability of MiniGUI 4.0.0.

We now strongly encourage the MiniGUI users to use this version for any new MiniGUI apps, especially if the new features of MiniGUI 4.0.0 are must for your new apps.

Please report any bugs and incompatibilities in

https://github.com/VincentWei/minigui

New Features in Version 4.0.x

In this version, we mainly enhanced and tuned the APIs related to text rendering in order that MiniGUI can handle complex writing systems (scripts) like Arabic and Indic:

  • MiniGUI now provides complete APIs for Unicode characters processing. These APIs conform to Unicode 12.0.

  • MiniGUI also provides new APIs to lay out, shape, and render glyphs from complex and mixed scripts, such as Arabic, Thai, and Indic.

  • We tuned and optimized MiniGUI's logical and device font interfaces to support the new features above.

Another important enhancement is that the `dri` NEWGAL engine, which can be used to support modern DRM-driven graphics cards or GPUs on Linux. By using `dri` engine, one MiniGUI app can now use the hardware-accelerated graphics rendering for 2D/3D graphics.

MiniGUI now is enhanced to support input events which may be generated by input devices other than standard mouse (or single-touch panel) and keyboard, such as multi-touch panel (gesture), joystick, tablet tool, and switch. In MiniGUI 4.0, we introduce `MSG_EXIN_XXX` messages to support the input events from devices other than standard mouse and keyboard. We call these messages as 'extra input messages':

  • The IAL engine of `libinput` to support all modern input devices including mouse, keyboard, joystick, switch, multi-touch panel, gesture, tablet tool, and table pad.

  • The enhanced IAL engine of `random` to generate extra input messages automatically for testing.

In this version, we introduced a Slice Memory Allocator for fast concurrent memory chunk allocation.

And we cleaned up and tuned code for GCC 7.3.

For more information, please refer to the complete Release Notes:

https://github.com/VincentWei/minigui/blob/master/RELEASE-NOTES.md

Because of the changes of some APIs, we recommended strongly that you use this version for new projects.

Building MiniGUI 4.0.0

If you are anxious to see the comprehensive demo of MiniGUI core and MiniGUI components, please fetch the following repositories from GitHub and follow the instructions to build the samples and the demonstration programs of MiniGUI:

https://github.com/VincentWei/build-minigui-4.0

Unit Tests

Since MiniGUI 4.0.0, we organize the unit test code of MiniGUI APIs in the following repository:

https://github.com/VincentWei/mg-tests

If you are interested in hacking the MiniGUI code, please use this repository.

Resources


Loading Conversation