Preface
MiniGUI is a mature cross-platform windowing system and a GUI (Graphics User Interface) support system for embedded systems and smart IoT devices.
MiniGUI aims to provide a fast, stable, full-featured, tailorable, and cross-platform windowing and GUI support system, which is especially fit for embedded systems or smart IoT devices based-on Linux/uClinux, eCos, and other traditional RTOSes, such as ThreadX, FreeRTOS, RTEMS, RT-Thread, VxWorks, Nucleus, pSOS, uC/OS-II, and OSE.
This handbook is the programming guide for the MiniGUI version 3.2 or later. It describes how to develop applications based on MiniGUI core and the following MiniGUI components:
mGUtils: This component contains miscellaneous utilities like
ColorSelectionDialogBox
,FileOpenDialogBox
, and so on.mGPlus: This component provides support for 2D vector graphics functions like path, gradient, anti-aliased stretch, and color combination.
mGEff: This component provides an animation framework for MiniGUI app. It also provides some popular UI/UE special effects.
mGNCS: This component provides a new control set for MiniGUI app, and a new framework for MiniGUI apps as well. By using mGNCS, you can use miniStudio to develop MiniGUI app in WYSIWYG way.
mGNCS4Touch: This component provides some new controls, which are compliant to the new control API spec of mGNCS, for devices with touch screens.
This handbook is a complete guide on MiniGUI programming, which describes the foundation knowledge of MiniGUI programming and various programming methods and skills, and describes the main API functions in detail. Though the handbook tries to describe various aspects of MiniGUI programming at length, it is not a complete reference manual about MiniGUI APIs; please refer to MiniGUI API Reference Manuals for relevant information.
Related Documents
The documents related to this guide:
MiniGUI Overview - The goals, features, advantages, and road map of MiniGUI.
MiniGUI User Manual - How to configure, install, and run MiniGUI.
MiniGUI Supplementary Documents - Supplementary documents about new features.
API Reference Manuals for MiniGUI Core:
MiniGUI 4.0 API Reference (MiniGUI-Processes mode) - The API reference for MiniGUI V4.0 multi-process runmode.
MiniGUI 4.0 API Reference (MiniGUI-Threads mode) - The API reference for MiniGUI V4.0 multi-thread runmode.
MiniGUI 4.0 API Reference (MiniGUI-Standalone mode) - The API reference for MiniGUI V4.0 standalone runmode.
MiniGUI 3.2 API Reference (MiniGUI-Processes mode) - The API reference for MiniGUI V3.2 multi-process runmode.
MiniGUI 3.2 API Reference (MiniGUI-Threads mode) - The API reference for MiniGUI V3.2 multi-thread runmode.
MiniGUI 3.2 API Reference (MiniGUI-Standalone mode) - The API reference for MiniGUI V3.2 standalone runmode.
API Reference for MiniGUI Components:
mGUtils 1.2 API Reference - The API reference for mGUtils V1.2.
mGPlus 1.4 API Reference - The API reference for mGUtils V1.4.
mGEff 1.2 API Reference - The API reference for mGEff V1.2.
mGNCS 1.2 API Reference - The API reference for mGNCS V1.2.
mGNCS4Touch 1.2 API Reference - The API reference for mGNCS4Touch V1.2.
Links to Release Notes:
Organization of this Guide
Except this preface, the text is divided into six parts (dozens chapters) and an appendix in total:
Part I: Foundation of MiniGUI Programming. We describe the foundation concepts of MiniGUI programming in this part.
Part II: Using mGNCS. We describe the concepts and the use of main APIs of mGNCS in this part.
Part III: MiniGUI Graphics Programming. We describe the use and concepts of MiniGUI graphics related APIs in this part.
Part IV: Visual Effects and Animations. We describe how to program for visual effects and animations in this part.
Part V: MiniGUI Advanced Programming Topics. We describe the concepts of MiniGUI-Processes related advanced programming and the development of customizing GAL and IAL engine in this part.
Part VI: Using MiniGUI Inherent Controls. We describe the use of various controls provided by MiniGUI core in this part.
Appendix: Specifications for MiniGUI Developers. We provide some information for MiniGUI developers in this appendix.
Obtaining Samples of the Guide
We organize the sample programs in this guide into a complete Autoconf/Automake project package called mg-samples
. You can download this source tarball from the download zone of MiniGUI website:
http://www.minigui.com/download
or fetch the source code from the public repository:
https://github.com/VincentWei/mg-samples
Compiling and Running Environment of the Samples
This guide assumes that you run MiniGUI 3.2 or later on Linux operating system. Therefore, some samples are described on the assumption that you are using Linux and GNU GCC toolchain. However, most of the samples in this guide can run on other operating systems.
For the instructions to setup the development environment, you can refer to Quick Start.
Copyright and Licensing
FMSoft releases the sample code (mg-samples) under Apache 2.0 license. The original text of Apache 2.0 license can be obtained by following means:
LICENSE file in
mg-samples
software package
Last updated