Compare commits

...
69 Commits
Author SHA1 Message Date
Vincent Wei 28e49dd768 Version -> Version.md 2019-12-24 11:49:56 +08:00
Vincent Wei d5200eec58 add ignored subdirectories 2019-12-24 10:44:59 +08:00
Vincent Wei d35bde9a4c fix some misspells 2019-12-24 10:02:49 +08:00
Vincent Wei daab1ae19b Merge branch 'gpu-integration' 2019-12-24 10:00:19 +08:00
Vincent Wei 3e8e8a5984 4.1.0 -> 4.0.4; release notes 2019-12-24 09:59:48 +08:00
Vincent Wei 3f80c9f3c0 check surface for GetVideoHandle 2019-12-12 15:01:44 +08:00
Vincent Wei 548117ac06 call drmModeAddFB2 for scanout buffer 2019-12-02 17:27:48 +08:00
VincentWei 6339a7417b __dri_ex_driver_get to __drm_ex_driver_get 2019-12-02 14:31:48 +08:00
Vincent Wei a2e4b55966 cleanup 2019-12-02 11:09:12 +08:00
Vincent Wei fb90d5e164 debug 2019-12-01 14:01:11 +08:00
Vincent Wei 68a29d0e53 check whether the driver is initialized 2019-12-01 12:46:10 +08:00
Vincent Wei 117b79e51c change default DRM driver name 2019-12-01 12:45:46 +08:00
Vincent Wei 3df060c5da add argument name to InitGUI 2019-11-28 12:30:09 +08:00
Vincent Wei cd558b1739 add prime_fd and name fields for DrmSurface object and info 2019-11-25 17:12:17 +08:00
Vincent Wei 873e88313b dri -> drm 2019-11-21 10:57:33 +08:00
Vincent Wei f0975518b1 change since 4.0.4 to since 4.1.0 2019-11-21 10:25:59 +08:00
Vincent Wei 14075969bd user DRM/drm instead of DRI/dri for DRM engine and APIs 2019-11-21 10:25:03 +08:00
Vincent Wei 47ec0374c5 change version to 4.1.0 2019-11-20 13:52:32 +08:00
Vincent Wei 6af2f7a67b change version to 4.1.0 and fix bad libdrm includ path 2019-11-20 11:28:54 +08:00
Vincent Wei db0956431d add exdrv_handle for the handle of the shared library for the external DRM driver 2019-11-20 10:35:04 +08:00
Vincent Wei de64d2ac96 use dlopen to load external DRM driver 2019-11-20 10:34:21 +08:00
Vincent Wei 38234739e5 add a new argument to __dri_ex_driver_get: device_fd 2019-11-20 10:33:40 +08:00
Vincent Wei c6a4943aae add new key for dri section: exdriver 2019-11-20 10:32:59 +08:00
Vincent Wei 7a7dd5b6e5 implement IsScreenDC and IsWindowDC 2019-11-19 15:59:40 +08:00
Vincent Wei 7123f08da6 add IsScreenDC and IsWindowDC 2019-11-19 15:59:10 +08:00
Vincent Wei 13348f18be tune calls of _WRN_PRINTF 2019-11-19 09:42:08 +08:00
Vincent Wei 064ceade0f tune _WRN_PRINTF and _DBG_PRINTF 2019-11-19 09:41:47 +08:00
Vincent Wei 8832f051a8 add create_buffer_from_prime_fd operation 2019-11-19 09:41:13 +08:00
Vincent Wei add133abd4 add implementation for driCreateDCFromPrimeFd 2019-11-19 09:40:33 +08:00
Vincent Wei def8833037 add driCreateDCFromPrimeFd 2019-11-19 09:40:06 +08:00
Vincent Wei b1913b67d6 tune 2019-11-18 19:02:29 +08:00
Vincent Wei ef9afd0f55 GetSurfaceHandle -> GetVideoHandle; tune driGetDeviceFD and driGetSurfaceInfo; add driCreateDCFromName and driCreateDCFromHandle 2019-11-18 19:02:22 +08:00
Vincent Wei 5b340d82dc GetSurfaceHandle -> GetVideoHandle; tune driGetDeviceFD and driGetSurfaceInfo; add driCreateDCFromName and driCreateDCFromHandle 2019-11-18 19:01:33 +08:00
Vincent Wei 64be953123 tune interface of create_buffer_from_name; add DRI driver method create_buffer_from_handle 2019-11-18 18:59:27 +08:00
Vincent Wei 580cf66695 make fbcon engine disabled by default 2019-11-14 09:04:57 +08:00
Vincent Wei 637dbbce68 change link to licensing policy 2019-11-13 11:53:59 +08:00
Vincent Wei bb63875964 new API: IsMemDC 2019-11-06 17:04:24 +08:00
Vincent Wei fe26d71145 change version to 4.0.3 2019-11-06 17:04:16 +08:00
Vincent Wei 9095139bf7 cleanup DriDriverOps, use DriSurfaceBuffer object for addressing the surface buffer 2019-11-04 11:16:03 +08:00
Vincent Wei 0581365fcd merge pull request for checking AARCH64 and RISCV architectures 2019-11-04 08:47:31 +08:00
Vincent Wei 9ae865eb3e Merge branch 'master' of github.com:VincentWei/minigui into gpu-integration 2019-11-04 08:42:48 +08:00
Vincent Wei 5c531a6154 Merge pull request #24 from wangrunji0408/master
Fix byte order for aarch64 and riscv
2019-11-04 08:34:29 +08:00
Runji Wang df93b74fca fix byte order for aarch64 and riscv 2019-11-02 00:38:50 +08:00
Vincent Wei 9af014c045 New API: GetSurfaceHandle, driGetDeviceFD, driGetSurfaceInfo; Tune operations of DriDriverOps 2019-11-01 17:47:15 +08:00
Vincent Wei 9823a00352 global variable current_video -> __mg_current_video 2019-11-01 14:18:37 +08:00
Vincent Wei 38aa40042c release version 4.0.2 2019-10-31 11:29:24 +08:00
Vincent Wei 991472894b tune configure output 2019-10-24 17:33:45 +08:00
Vincent Wei ca249ba378 change version to 4.0.2 2019-10-24 17:27:51 +08:00
Vincent Wei 04adac288f change version to 4.0.2 2019-10-24 17:26:08 +08:00
Vincent Wei fcd401128c add configure options for RT-Thread, RTEMS, FreeRTOS 2019-10-24 17:24:37 +08:00
Vincent Wei 067df2ea37 tune for minigui-docs 2019-10-23 19:08:03 +08:00
Vincent Wei c47dad1ad5 restore build/rules-pc.linux and fix errors in makefile.ng files 2019-10-18 16:56:05 +08:00
Vincent Wei 28d907165f remove standalone option 2019-10-17 16:41:36 +08:00
Vincent Wei 8a8cdd18ed tune readme 2019-07-29 16:34:33 +08:00
Vincent Wei 2e5a8804bf tune api desc 2019-07-29 10:03:27 +08:00
Vincent Wei 173171b653 use -1 instead of 0xFFFFFFFF for ON_UPDSECDC_DONOTHING; chang return type of GetGDCapability to Uint32 2019-07-26 12:07:32 +08:00
Vincent Wei b4e46463cd remove _DEBUG 2019-07-19 15:49:16 +08:00
Vincent Wei d7c818080c libdrm does not need udev 2019-07-19 15:32:08 +08:00
Vincent Wei c03ed8d23a change version 2019-07-19 14:56:58 +08:00
Vincent Wei f965c4b8ea notes for ver-4-0-1 2019-07-19 14:45:24 +08:00
Vincent Wei 3710611ebd restore GetResPath 2019-07-19 14:08:08 +08:00
VincentWei d50c5c25ed use %zu instead of %lu for size_t values 2019-07-19 12:23:54 +08:00
Vincent Wei b7820d888f use DWORD for RES_KEY 2019-07-19 11:21:54 +08:00
Vincent Wei a068f25519 use FNV 1a algrithm for Str2Key 2019-07-19 11:11:34 +08:00
Vincent Wei f6ad9a960e cleanup 2019-07-18 14:59:12 +08:00
Vincent Wei 29a6e0f0f9 tune api desc 2019-07-18 12:44:24 +08:00
Vincent Wei 868548cf0d fix typos 2019-07-17 17:23:14 +08:00
Vincent Wei a9daa05807 - [Overview](#overview) 2019-07-17 17:22:41 +08:00
Vincent Wei 5e0500411e struct description for _DriDriverOps 2019-07-16 11:36:27 +08:00
1000 changed files with 3105 additions and 2163 deletions
+4
View File
@@ -24,3 +24,7 @@ Makefile.in
/*config.h.in
/*config.h.in~
/src/font/utils/emoji/
/src/font/utils/ucd/
/src/sysres/font_list
/src/sysres/license/dat_files/
+3 -3
View File
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Processes)"
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = v4.0.0
PROJECT_NUMBER = v4.0.4
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.
OUTPUT_DIRECTORY = doc-api-ref-minigui-procs-4.0.0
OUTPUT_DIRECTORY = doc-api-ref-minigui-procs-4.0.4
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
@@ -2102,7 +2102,7 @@ PREDEFINED = _MGRM_PROCESSES \
_MGFONT_FT2 \
_MGFONT_UPF \
_MGFONT_BMPF \
_MGGAL_DRI \
_MGGAL_DRM \
_MGGAL_COMMLCD \
_MGIAL_COMM
+3 -3
View File
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Standalone)"
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = v4.0.0
PROJECT_NUMBER = v4.0.4
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.
OUTPUT_DIRECTORY = doc-api-ref-minigui-sa-4.0.0
OUTPUT_DIRECTORY = doc-api-ref-minigui-sa-4.0.4
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
@@ -2102,7 +2102,7 @@ PREDEFINED = _MGRM_STANDALONE \
_MGFONT_FT2 \
_MGFONT_UPF \
_MGFONT_BMPF \
_MGGAL_DRI \
_MGGAL_DRM \
_MGGAL_COMMLCD \
_MGIAL_COMM
+3 -3
View File
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Threads)"
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = v4.0.0
PROJECT_NUMBER = v4.0.4
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.
OUTPUT_DIRECTORY = doc-api-ref-minigui-ths-4.0.0
OUTPUT_DIRECTORY = doc-api-ref-minigui-ths-4.0.4
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
@@ -2102,7 +2102,7 @@ PREDEFINED = _MGRM_THREADS \
_MGFONT_FT2 \
_MGFONT_UPF \
_MGFONT_BMPF \
_MGGAL_DRI \
_MGGAL_DRM \
_MGGAL_COMMLCD \
_MGIAL_COMM
+2 -2
View File
@@ -2,8 +2,8 @@ SUBDIRS = src 3rd-party include rtos etc m4 cmake build
EXTRA_DIST = minigui.pc.in \
GNUmakefile makefile.ng makefile.msvc rules.make \
Version INSTALL LICENSE \
README.md RELEASE-NOTES.md \
INSTALL LICENSE \
Version.md README.md RELEASE-NOTES.md \
LICENSE-POLICY-en.md LICENSE-POLICY-zh.md
# The directory where the include files will be installed
+101 -128
View File
@@ -5,17 +5,20 @@ A mature and proven cross-platform GUI system for embedded and smart IoT devices
## TABLE OF CONTENTS
1. Introduction
1. A brief building instruction
1. New features in version 4.0.x
1. New features in version 3.2.x
1. The runtime modes of MiniGUI
1. History
1. About the authors
1. If you have a problem
1. A little FAQ
1. Not free for commercial use
1. Copying
- [INTRODUCTION](#introduction)
- [A BRIEF BUILDING INSTRUCTION](#a-brief-building-instruction)
* [Prerequisites](#prerequisites)
* [Building MiniGUI Core](#building-minigui-core)
* [Building the Comprehensive Demo](#building-the-comprehensive-demo)
* [Unit Tests](#unit-tests)
- [NEW FEATURES IN VERSION 4.0.x](#new-features-in-version-40x)
- [NEW FEATURES IN VERSION 3.2.x](#new-features-in-version-32x)
- [THE RUNTIME MODES OF MINIGUI](#the-runtime-modes-of-minigui)
- [HISTORY](#history)
- [AUTHORS AND COPYING](#authors-and-copying)
* [Not Free for Commercial Use](#not-free-for-commercial-use)
* [Special Statement](#special-statement)
- [A LITTLE FAQ](#a-little-faq)
## INTRODUCTION
@@ -30,43 +33,37 @@ use.
MiniGUI aims to provide a fast, stable, full-featured, 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 VxWorks, ThreadX, Nucleus, pSOS, uC/OS-II,
and OSE.
traditional RTOSes, such as RT-Thread, FreeRTOS, RTEMS, VxWorks, ThreadX,
Nucleus, pSOS, uC/OS-II, and OSE.
This is the MiniGUI core source tree, which provides windowing
and graphics interfaces as well as a lot of standard controls (tookit).
and graphics interfaces as well as a lot of standard controls (toolkit).
Besides MiniGUI core, FMSoft also provides some components
for the developers to develop app much easier:
* mGUtils: A MiniGUI component which contains miscellaneous utilities
like ColorSelectionDialogBox, FileOpenDialogBox, and so on.
* mGPlus: A MiniGUI component which provides support for advanced graphics
functions like path, gradient, anti-aliase stretch, and color combination.
* mGEff: mGEff 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.
* mGNCS4Touch: This component provides some new controls, which are
compliant to the new control API spec of mGNCS, for devices with
touch screens.
* mGUtils: A MiniGUI component which contains miscellaneous utilities
like `ColorSelectionDialogBox`, `FileOpenDialogBox`, and so on.
* mGPlus: A MiniGUI component which provides support for advanced graphics
functions like path, gradient, anti-aliased stretch, and color combination.
* mGEff: mGEff 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.
* mGNCS4Touch: This component provides some new controls, which are
compliant to the new control API spec of mGNCS, for devices with
touch screens.
There are also some legacy MiniGUI components. But we will not maintain these
components since MiniGUI v3.2.0:
* mGi: An input method component for MiniGUI. This component provides
some typical input methods (such as softkey, hand-writing, and predict
text input for mobile phone) for MiniGUI apps.
* mGp: A printing component for MiniGUI. By using mGp, you can print
out the graphics created by MiniGUI app to general-purpose printers.
* mG3d: A simple three-dimension component for MiniGUI. This component
provides a simple 3D API for app. You can use mG3d to create simple
3D UI.
* mGi: An input method component for MiniGUI. This component provides
some typical input methods (such as soft keyboard, hand-writing, and predict
text input for mobile phone) for MiniGUI apps.
* mGp: A printing component for MiniGUI. By using mGp, you can print
out the graphics created by MiniGUI app to general-purpose printers.
* mG3d: A simple three-dimension component for MiniGUI. This component
provides a simple 3D API for app. You can use mG3d to create simple
3D UI.
MiniGUI is a free software project. In December 1998, the initiator of
FMSoft, Wei Yongming, began to develop MiniGUI under the GNU General Public
@@ -78,34 +75,34 @@ as a free software project.
You can download the source code tarball of MiniGUI and the dependent libraries
from the download zone of the site:
http://www.minigui.com
<http://www.minigui.com>
FMSoft also releases some open source apps for MiniGUI on the site above,
for examples:
* mDolphin, licensed under Apache 2.0, is a full-featured
WEB/WAP browser, which is developed based on the open source browser
core WebKit and uses MiniGUI as its underlying graphics support system.
* mGallery, licensed under Apache 2.0, intends to
provide a total solution for PMP (Portable Multimedia Player),
which uses MiniGUI as the graphics platform.
* mSpider, licensed under GPL 3.0, intends to provide a
light-weight MiniGUI-based web browser (HTML 3.2 and part JavaScript)
* mEagle, licensed under GPL 3.0, is an embedded GIS development platform
which addresses the needs of map browse, query, analysis, etc
* mDolphin, licensed under Apache 2.0, is a full-featured
WEB/WAP browser, which is developed based on the open source browser
core WebKit and uses MiniGUI as its underlying graphics support system.
* mGallery, licensed under Apache 2.0, intends to
provide a total solution for PMP (Portable Multimedia Player),
which uses MiniGUI as the graphics platform.
* mSpider, licensed under GPL 3.0, intends to provide a
light-weight MiniGUI-based web browser (HTML 3.2 and part JavaScript)
* mEagle, licensed under GPL 3.0, is an embedded GIS development platform
which addresses the needs of map browse, query, analysis, etc
FMSoft had created the public repositories for MiniGUI core, MiniGUI
components, and other open source apps on GitHub. You can visit them on:
https://github.com/VincentWei
<https://github.com/VincentWei>
We now maintain the documents about MiniGUI on GitHub Wiki:
and
https://github.com/VincentWei/minigui/wiki
<https://github.com/FMSoftCN>
We now maintain all documents about MiniGUI on the following public repo:
<https://github.com/VincentWei/minigui-docs>
## A BRIEF BUILDING INSTRUCTION
@@ -150,11 +147,11 @@ and MiniGUI components, please fetch one of the following repositories
from GitHub and follow the instructions to build the samples and
the demonstration programs:
https://github.com/VincentWei/build-minigui-4.0
<https://github.com/VincentWei/build-minigui-4.0>
or
https://github.com/VincentWei/build-minigui-3.2
<https://github.com/VincentWei/build-minigui-3.2>
### Unit Tests
@@ -162,7 +159,7 @@ https://github.com/VincentWei/build-minigui-3.2
Since MiniGUI 4.0.0, we organize the unit test code of MiniGUI APIs in the
following repository:
https://github.com/VincentWei/mg-tests
<https://github.com/VincentWei/mg-tests>
If you are interested in hacking the MiniGUI code, please visit this repository.
@@ -172,37 +169,31 @@ If you are interested in hacking the MiniGUI code, please visit this repository.
In this version, we enhanced and tuned the APIs related to text rendering,
in order to support [HybridOS Foundation Class Library].
* Since 4.0.2, MiniGUI provides support for RTEMS, RT-Thread, and FreeRTOS.
* 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.
* 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,
table pad, 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 NEWGAL engine of `dri` to support modern DRI/DRM-driven graphics cards
or GPUs on Linux.
* The IAL engine of `libinput` to support all modern input devices including
mouse, keyboard, joystick, switch, multiple touch panel, gesture, tablet tool,
and table pad on Linux.
* We introduced a Slice Memory Allocator for fast concurrent memory chunk
allocation.
* Cleanup and tune code for GCC 7.3.
For more information, please refer to `RELEASE-NOTES.md` file:
https://github.com/VincentWei/minigui/blob/master/RELEASE-NOTES.md
<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.
@@ -217,26 +208,26 @@ We introduce some new features in MiniGUI Version 3.2.x:
For more information, please refer to `RELEASE-NOTES.md` file:
https://github.com/VincentWei/minigui/blob/rel-3-2/RELEASE-NOTES.md
<https://github.com/VincentWei/minigui/blob/rel-3-2/RELEASE-NOTES.md>
## THE RUNTIME MODES OF MINIGUI
You can configure and compile MiniGUI as one of three runtime modes:
* `MiniGUI-Threads`: A program running on MiniGUI-Threads can create
multiple cascaded windows in different threads, and all the windows
belong to a single process. MiniGUI-Threads is fit for some real-time
systems on Linux/uClinux, eCos, uC/OS-II, VxWorks, pSOS, ThreadX,
and OSE.
* `MiniGUI-Threads`: A program running on MiniGUI-Threads can create
multiple cascaded windows in different threads, and all the windows
belong to a single process. MiniGUI-Threads is fit for some real-time
systems on Linux/uClinux, eCos, uC/OS-II, VxWorks, pSOS, ThreadX,
and OSE.
* `MiniGUI-Processes`: A program running on MiniGUI-Processes is
an independent process, which can also create multiple windows.
MiniGUI-Processes is fit for some complex embedded systems, such as
PDAs, Thin-Clients or STBs. This mode is only useful for full-featured
UNIX-like operating systems, like Linux.
* `MiniGUI-Processes`: A program running on MiniGUI-Processes is
an independent process, which can also create multiple windows.
MiniGUI-Processes is fit for some complex embedded systems, such as
PDAs, Thin-Clients or STBs. This mode is only useful for full-featured
UNIX-like operating systems, like Linux.
* `MiniGUI-Standalone`: A single process version of MiniGUI. This mode
is useful for some small systems, like uClinux or RTOSes.
* `MiniGUI-Standalone`: A single process version of MiniGUI. This mode
is useful for some small systems, like uClinux or RTOSes.
The original MiniGUI (version 1.0) run in MiniGUI-Threads mode.
It is based on POSIX-compliant thread library. And this thread-based
@@ -251,7 +242,7 @@ You can use MiniGUI-Processes to run more than one MiniGUI-based
program in the form of UNIX process at the same time. MiniGUI-Processes
is a full-featured multi-process version of original MiniGUI -- You
can run a program based on MiniGUI-Processes from a program called
'mginit'. Just like X Window, the former process is called a client,
`mginit`. Just like X Window, the former process is called a client,
and the latter the server.
Clients connect to the server via UNIX domain socket, and the server
@@ -363,58 +354,12 @@ A brief history description of the development progress lay below:
1. Apr., 2019: FMSoft released MiniGUI version 3.2.2.
1. Jul., 2019: FMSoft released MiniGUI version 4.0.0.
## ABOUT THE AUTHORS
## AUTHORS AND COPYING
The original author of MiniGUI is WEI Yongming, and now MiniGUI is
maintained by FMSoft. For more information, please refer to
<http://www.fmsoft.cn>.
## IF YOU HAVE A PROBLEM
If you have any technical problem, advice or comment, please send
messages to consult@minigui.com.
## A LITTLE FAQ
Q: Is GPL'd MiniGUI free for commercial use?
A: Simply no. FMSoft releases MiniGUI under GPLv3 license.
It is free for those who are 100% GPL and those who never copy, modify
and distribute MiniGUI. But if you want to use these GPL'd versions
for commerce, you should get the commercial license from FMSoft first.
Q: Which operating system does MiniGUI support?
A: MiniGUI can run on Linux/uClinux, uC/OS-II, eCos, ThreadX, pSOS,
VxWorks, ThreadX, OSE, and even Win32. Any other real-time OSes can
be supported theoretically.
Q: Which architecture does MiniGUI support?
A: x86 32/64-bit, ARM 32/64-bit (e.g., ARMv7 and ARM Cortex-A7),
PowerPC, MIPS, DragonBall, ColdFire, Blackfin, and so on.
Q: Does MiniGUI offer the support for grey LCD with 4bpp (bits per pixel)?
A: Yes, it offers. It even offers the support for 1bpp and 2bpp LCD.
## NOT FREE FOR COMMERCIAL USE
MiniGUI and its components are licensed under the GPL license.
So any links about MiniGUI must follow GPL. If you cannot accept GPL,
you need to be licensed from FMSoft. If you wonder that if you need
the commercial license of MiniGUI, please refer to the LICENSE-POLICY file.
We provide you the commercial license of MiniGUI according to the number
of the run-time binary copies of MiniGUI. If you are interested in
the commercial license of MiniGUI, please write to sales@minigui.com.
## COPYING
Copyright (C) 2002 ~ 2019, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998 ~ 2002, WEI Yongming
@@ -441,7 +386,7 @@ If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
### Special Statement
@@ -460,3 +405,31 @@ The Exception List is published by FMSoft and may be updated
from time to time. For more information, please see
<https://www.fmsoft.cn/exception-list>.
### Not Free for Commercial Use
As stated above, MiniGUI and its components are licensed under GPL.
So any links about MiniGUI must follow GPL. If you cannot accept GPL,
you need to be licensed from FMSoft.
We provide you the commercial license of MiniGUI according to the number
of the run-time binary copies of MiniGUI. If you are interested in
the commercial license of MiniGUI, please write to <sales@minigui.com>.
## A LITTLE FAQ
Q: Which operating systems does MiniGUI support?
A: MiniGUI can run on Linux/uClinux, uC/OS-II, eCos, ThreadX, pSOS,
VxWorks, ThreadX, OSE, and even Win32. Any other real-time OSes can
be supported theoretically.
Q: Which architecture does MiniGUI support?
A: x86 32/64-bit, ARM 32/64-bit (e.g., ARMv7 and ARM Cortex-A7),
PowerPC, MIPS, DragonBall, ColdFire, Blackfin, and so on.
Q: Does MiniGUI offer the support for grey LCD with 4bpp (bits per pixel)?
A: Yes, it offers. It even offers the support for 1bpp and 2bpp LCD.
Q: Can I get the tech support from MiniGUI team?
A: Yes, FMSoft can provide you with guaranteed commercial technical
support services. Please send messages to <sales@minigui.com>.
+136 -68
View File
@@ -1,5 +1,73 @@
# Release Notes
## Version 4.0.4
The MiniGUI development team announces the availability of MiniGUI 4.0.4.
We strongly recommend that you use this version for any new MiniGUI
apps, especially if the new features of MiniGUI 4.0 are must for your
new apps.
Please report any bugs and incompatibilities in
<https://github.com/VincentWei/minigui>
### What's new in this version
In this version, we mainly enhanced the DRM engine of MiniGUI in order
to integrate MiniGUI with Mesa and Cairo, for example, to implement EGL
for MiniGUI platform.
* MODIFICATIONS:
- Change the name of old `dri` NEWGAL engine to `drm`.
- Change the configuration option of DRM engine to `--enable-videodrm`.
- Change the macro for DRM engine to `_MGGAL_DRM`.
- Change the runtime configuration section for DRM engine to `drm`.
* ENHANCEMENTS:
- New APIs for GPU integration, such as `IsMemDC`, `IsScreenDC`, `IsWindowDC`, `GetVideoHandle`, and `drmGetDeviceFD`.
- Add new operation for DRM engine: `create_buffer_from_prime_fd`.
- Use `dlopen` to load the external DRM driver.
- Add a new runtime configuration key for DRM engine `drm.exdriver` to define the external DRM driver.
## Version 4.0.2
The MiniGUI development team announces the availability of MiniGUI 4.0.2.
We strongly recommend that you use this version for any new MiniGUI
apps, especially if the new features of MiniGUI 4.0 are must for your
new apps.
Please report any bugs and incompatibilities in
<https://github.com/VincentWei/minigui>
### What's new in this version
* ENHANCEMENTS:
- Support for RTEMS operating system
- Basic support for RT-Thread and FreeRTOS operating systems.
* BUGFIXES:
- Fixed errors in makefile.ng files.
* CLEANUP:
- `README.md` for correct markdown tags.
## Version 4.0.1
The MiniGUI development team announces the availability of MiniGUI 4.0.1.
We strongly recommend that you use this version for any new MiniGUI
apps, especially if the new features of MiniGUI 4.0 are must for your
new apps.
Please report any bugs and incompatibilities in
<https://github.com/VincentWei/minigui>
### What's new in this version
This version mainly fixed some minor issues:
- Use FVN algorithm to implement `Str2Key`.
- Tune some API description.
- Tune format string to use '%z' instead of '%l' or '%ll' for `size_t` values.
## Version 4.0.0
The MiniGUI development team announces the availability of MiniGUI 4.0.0.
@@ -9,7 +77,7 @@ new apps.
Please report any bugs and incompatibilities in
https://github.com/VincentWei/minigui
<https://github.com/VincentWei/minigui>
### What's new in this version
@@ -26,7 +94,7 @@ rendering in order that MiniGUI can handle complex writing systems
* MiniGUI also provides new APIs to lay out, shape, and render glyphs
from complex and mixed scripts, such as Arabic, Thai, and Indic.
The new APIs also conform to the specification of [CSS Text Module Level 3]
The new APIs also conform to the specifications of [CSS Text Module Level 3]
and [CSS Writing Modes Level 3].
* We tuned and optimized MiniGUI's logical and device font interfaces to
@@ -114,7 +182,7 @@ function. You can call `CreateLogFontForMChar2UChar` function to create
a dummy logfont object for this purpose in order to expense a minimal memory.
If the text is in simple scripts, like Latin or Chinese, you can call
`GetGlyphsExtentPointEx` function to lay out the paragraph. This function
`GetGlyphsExtentFromUChars` function to lay out the paragraph. This function
returns a glyph string which can fit in a line with the specified
maximal extent and rendering flags. After this, you call
`DrawGlyphStringEx` function to draw the glyph string to the
@@ -271,7 +339,7 @@ run MiniGUI apps on a Linux box on which the DRI
The `dri` engine uses `libdrm` developed by Free Desktop project:
https://dri.freedesktop.org/wiki/
<https://dri.freedesktop.org/wiki/>
Libdrm is a user-space library implements the Direct Rendering Manager.
MiniGUI mainly uses this library to support the dumb frame buffer
@@ -822,38 +890,38 @@ The MiniGUI development team announces the availability of MiniGUI 3.0.13.
All users of MiniGUI are encouraged to test this version carefully, and
report any bugs and incompatibilities in
https://github.com/VincentWei/minigui.
<https://github.com/VincentWei/minigui>.
### What's new in this version
* Merge new APIs which are introduced by miniStudio.
* The autoconf/automake config scripts are cleaned up.
* Remove most of compilation warnings (not used variables).
* Remove some inline function definitions, especially GetIMEPos/SetIMEPos.
* Fix some bugs.
* Merge new APIs which are introduced by miniStudio.
* The autoconf/automake config scripts are cleaned up.
* Remove most of compilation warnings (not used variables).
* Remove some inline function definitions, especially GetIMEPos/SetIMEPos.
* Fix some bugs.
### API changes
* [NEW] CopyCursor: Copies a cursor object.
* [NEW] GetKeyboardState: Gets status of all keys on keyboard.
* [NEW] ToUnicode/ToAscii: Converts the key code between Unicode and ASCII.
* [NEW] GetWindowRegion: The function obtains a copy of the window region of a window.
* [NEW] InvalidateRegion: Invalidates the client area within the specified region.
* [NEW] ValidateRect: Validates the client area within a rectangle by removing the
rectangle from the update region of the specified window.
* [NEW] ValidateRegion: Validates the client area within a region by removing the
region from the current update region of the specified window.
* [NEW] GetUpdateRegion: Copy the update region of a window to a region.
* [NEW] AdjustWindowRectEx: Calculates the required size of the window rectangle
based on the desired size of the client rectangle.
* [NEW] WindowFromPointEx: Retrieves a handle to the window that contains the specified point.
* [NEW] ChildWindowFromPointEx: Retrieves a handle to the child window that contains the
speicified point and meets the certain criteria.
* [NEW] ScrollWindowEx: Scrolls the content of a window's client area.
* [ADJUST] GetIMEPos/SetIMEPos: inline functions -> normal functions.
* [ADJUST] WindowFromPoint: normal function -> inline function.
* [ADJUST] ChildWindowFromPoint: normal function -> inline function.
* [ADJUST] ScrollWindow: normal function -> inline function.
* [NEW] CopyCursor: Copies a cursor object.
* [NEW] GetKeyboardState: Gets status of all keys on keyboard.
* [NEW] ToUnicode/ToAscii: Converts the key code between Unicode and ASCII.
* [NEW] GetWindowRegion: The function obtains a copy of the window region of a window.
* [NEW] InvalidateRegion: Invalidates the client area within the specified region.
* [NEW] ValidateRect: Validates the client area within a rectangle by removing the
rectangle from the update region of the specified window.
* [NEW] ValidateRegion: Validates the client area within a region by removing the
region from the current update region of the specified window.
* [NEW] GetUpdateRegion: Copy the update region of a window to a region.
* [NEW] AdjustWindowRectEx: Calculates the required size of the window rectangle
based on the desired size of the client rectangle.
* [NEW] WindowFromPointEx: Retrieves a handle to the window that contains the specified point.
* [NEW] ChildWindowFromPointEx: Retrieves a handle to the child window that contains the
speicified point and meets the certain criteria.
* [NEW] ScrollWindowEx: Scrolls the content of a window's client area.
* [ADJUST] GetIMEPos/SetIMEPos: inline functions -> normal functions.
* [ADJUST] WindowFromPoint: normal function -> inline function.
* [ADJUST] ChildWindowFromPoint: normal function -> inline function.
* [ADJUST] ScrollWindow: normal function -> inline function.
## Version 3.0.2
@@ -866,48 +934,48 @@ https://github.com/VincentWei/minigui.
### What's new in this version
* Append non-rectangle window support.
* Append support of double buffer of maindow.
* Support for Look and Feel (LF) concept.
* Remove SKIN interfaces of MGExt library, move MGExt library and vcongui into mGUtils component.
* Newly added bitmap font.
* Developing interfaces of desktop for MiniGUI.
* Support direct draw to DC for higher efficiency.
* Enhancement of resource management
* Enhancement of controls: Support of independent scrollbar and transparent control.
* Enhancement of font and character set, support bidi text support.
* Enhancement of zoom of picture
* Append non-rectangle window support.
* Append support of double buffer of maindow.
* Support for Look and Feel (LF) concept.
* Remove SKIN interfaces of MGExt library, move MGExt library and vcongui into mGUtils component.
* Newly added bitmap font.
* Developing interfaces of desktop for MiniGUI.
* Support direct draw to DC for higher efficiency.
* Enhancement of resource management
* Enhancement of controls: Support of independent scrollbar and transparent control.
* Enhancement of font and character set, support bidi text support.
* Enhancement of zoom of picture
### API changes
* [NEW] ScaleBitmapEx: a bilinear interpolation algorithm which is better than the original.
* [NEW] GetWindowInfo: get New structure WINDOWINFO.
* [NEW] CreateMainWindowEx: enhance of CreeateMainWindow, compatiable with CreeateMainWindow.
* [NEW] CreateWindowEx2enhance of CreateWindowEx2, compatiable with CreateWindowEx2.
* [NEW] DialogBoxIndirectParamEx: new create dialog.
* [NEW] CreateMainWindowIndirectParamEx:new create dialog.
* [NEW] GetWindowRendererFromName: get LF renderer by name
* [NEW] AddWindowElementRenderer: append a LF renderer to MiniGU
* [NEW] RemoveWindowElementRenderer: delete a LF renderer from MiniG
* [NEW] GetDefaultWindowElementRenderer: get default LF renderer
* [NEW] SetDefaultWindowElementRenderer: set default LF renderer
* [NEW] SetWindowElementRenderer: set a LF renderer for one windows render
* [NEW] SetWindowElementAttr: set windows attributes.
* [NEW] GetWindowElementAttr: get windows attributes value
* [NEW] CreateBMPDevFont: create an bitmap device font.
* [NEW] AddGlyphsToBMPFont: add an bitmap font glyph.
* [NEW] DestroyBMPFont: destroy bitmap device font.
* [NEW] SetCustomDesktopOperationSet: set the custom desktop operation set.
* [NEW] DesktopUpdateAllWindow: refresh all windows on the desktop.
* [NEW] PopupDesktopMenu: pop up a menu on the desktop
* [NEW] GetTextAlign: get the current text-alignment flags of a DC.
* [NEW] SetTextAlign: set text-alignment flags of a DC.
* [NEW] SetWindowMask: set non-rectangle window mask rect.
* [NEW] SetWindowRegion: set non-rectangle window visible region
* [NEW] LockDCEx: support for directly read and write the pixels in a DC.
* [NEW] CreateSecondaryDC: Creates a secondary window DC of a window.
* [NEW] SetSecondaryDC:set a window's secondary DC and the callback for double buffer window.
* [NEW] ScaleBitmapEx: a bilinear interpolation algorithm which is better than the original.
* [NEW] GetWindowInfo: get New structure WINDOWINFO.
* [NEW] CreateMainWindowEx: enhance of CreeateMainWindow, compatiable with CreeateMainWindow.
* [NEW] CreateWindowEx2enhance of CreateWindowEx2, compatiable with CreateWindowEx2.
* [NEW] DialogBoxIndirectParamEx: new create dialog.
* [NEW] CreateMainWindowIndirectParamEx:new create dialog.
* [NEW] GetWindowRendererFromName: get LF renderer by name
* [NEW] AddWindowElementRenderer: append a LF renderer to MiniGU
* [NEW] RemoveWindowElementRenderer: delete a LF renderer from MiniG
* [NEW] GetDefaultWindowElementRenderer: get default LF renderer
* [NEW] SetDefaultWindowElementRenderer: set default LF renderer
* [NEW] SetWindowElementRenderer: set a LF renderer for one windows render
* [NEW] SetWindowElementAttr: set windows attributes.
* [NEW] GetWindowElementAttr: get windows attributes value
* [NEW] CreateBMPDevFont: create an bitmap device font.
* [NEW] AddGlyphsToBMPFont: add an bitmap font glyph.
* [NEW] DestroyBMPFont: destroy bitmap device font.
* [NEW] SetCustomDesktopOperationSet: set the custom desktop operation set.
* [NEW] DesktopUpdateAllWindow: refresh all windows on the desktop.
* [NEW] PopupDesktopMenu: pop up a menu on the desktop
* [NEW] GetTextAlign: get the current text-alignment flags of a DC.
* [NEW] SetTextAlign: set text-alignment flags of a DC.
* [NEW] SetWindowMask: set non-rectangle window mask rect.
* [NEW] SetWindowRegion: set non-rectangle window visible region
* [NEW] LockDCEx: support for directly read and write the pixels in a DC.
* [NEW] CreateSecondaryDC: Creates a secondary window DC of a window.
* [NEW] SetSecondaryDC:set a window's secondary DC and the callback for double buffer window.
[HybridOS]: https://github.com/FMSoftCN/hybridos
-9
View File
@@ -1,9 +0,0 @@
Version 4.0.0 (2019/06/30)
This release needs the following resource packages:
* minigui-res-4.0.0.tar.gz
The latest samples package is:
* mg-samples-4.0.0.tar.gz
+8
View File
@@ -0,0 +1,8 @@
Version 4.0.4 (2019/12/24)
This release needs the following packages:
- The resource package: `minigui-res-4.0.0.tar.gz`
- The sample package: `mg-samples-4.0.1.tar.gz`
- The test cases package: `mg-tests-4.0.4.tar.gz`
+36
View File
@@ -0,0 +1,36 @@
# rules for pc-linux
# set your own targaet_os
TARGET_OS=linux
##################################################
# set your compile tool #
CC=gcc
CXX=g++
CPP=g++
AR=ar
AS=as
RANLIB=ranlib
MAKE=/usr/bin/make
##################################################
ARFLAGS=-rc
COFLAG=-c
OBJ=o
LIBA=a
##################################################
# if you don't want to create dynamic, delete it #
LIBSO=so
SOFLAGS=-fPIC -shared -o
##################################################
##################################################
# set your compile flags and install prefix path #
PREFIX=/usr/local
CFLAGS+=-g -Wall -fPIC `pkg-config --cflags freetype2` -I/usr/local/include/harfbuzz
LDFLAGS+=
##################################################
+60 -32
View File
@@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.60)
AC_INIT(libminigui, 4.0.0)
AC_INIT(libminigui, 4.0.4)
AC_CONFIG_SRCDIR(src/main/main.c)
dnl Set various version strings - taken gratefully from the SDL sources
@@ -16,7 +16,7 @@ dnl Set various version strings - taken gratefully from the SDL sources
#
MINIGUI_MAJOR_VERSION=4
MINIGUI_MINOR_VERSION=0
MINIGUI_MICRO_VERSION=0
MINIGUI_MICRO_VERSION=4
MINIGUI_INTERFACE_AGE=0
MINIGUI_BINARY_AGE=0
MINIGUI_VERSION=$MINIGUI_MAJOR_VERSION.$MINIGUI_MINOR_VERSION.$MINIGUI_MICRO_VERSION
@@ -62,7 +62,7 @@ dnl ========================================================================
dnl Checks for header files.
AC_HEADER_STDC
AC_HEADER_DIRENT
AC_CHECK_HEADERS(sys/types.h sys/time.h termio.h unistd.h math.h locale.h)
AC_CHECK_HEADERS(limits.h math.h locale.h unistd.h termio.h sys/types.h sys/time.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
@@ -90,10 +90,9 @@ detail_debug="no"
trace_message="no"
message_string="no"
osname="unspecified"
runtime_mode="procs"
stand_alone="no"
incore_res="no"
use_miniguientry="no"
fixed_math="yes"
@@ -265,8 +264,8 @@ enable_video_dfb="no"
enable_video_dfb_st7167="no"
enable_video_stgfb="no"
enable_video_fbcon="yes"
enable_video_dri="yes"
enable_video_drm="yes"
enable_video_fbcon="no"
enable_video_commlcd="no"
enable_video_shadow="no"
enable_video_mlshadow="no"
@@ -314,10 +313,6 @@ AC_ARG_WITH(runmode,
[ --with-runmode=procs/ths/sa the MiniGUI runtime mode <default=procs>],
runtime_mode=$withval)
AC_ARG_ENABLE(standalone,
[ --enable-standalone build MiniGUI-Standalone version <default=no>],
stand_alone=$enableval)
AC_ARG_ENABLE(incoreres,
[ --enable-incoreres use incore resource instead file IO to initialize MiniGUI <default=no>],
incore_res=$enableval)
@@ -754,9 +749,8 @@ AC_ARG_ENABLE(ctrlbidisledit,
[ --enable-ctrlbidisledit include Single-Line BIDI EDIT control <default=no>],
build_ctrl_bidisledit=$enableval)
dnl enable new textedit
AC_ARG_ENABLE(newtextedit,
[ --enable-ctrlnewtextedit include the new implementation of TEXTEDIT control <default=yes>],
AC_ARG_ENABLE(ctrlnewtextedit,
[ --disable-ctrlnewtextedit include the new implementation of TEXTEDIT control <default=yes>],
build_ctrl_textedit_new=$enableval)
AC_ARG_ENABLE(ctrllistbox,
@@ -892,25 +886,24 @@ dnl Find the DRM includes
CheckDRM()
{
if test "x$runtime_mode" = "xprocs"; then
enable_video_dri="no; DRI engine does not support MiniGUI-Processes runtime mode currently"
enable_video_drm="no; DRI engine does not support MiniGUI-Processes runtime mode currently"
else
AC_ARG_ENABLE(videodri,
[ --enable-videodri include Linux DRI NEWGAL engine <default=yes>],
enable_video_dri=$enableval)
if test "x$enable_video_dri" = "xyes"; then
PKG_CHECK_MODULES(DRM, [libdrm >= 2.4], video_dri="yes",
video_dri="no; Linux DRI NEWGAL engine requires libdrm 2.4+")
if test "x$video_dri" = "xyes"; then
AC_DEFINE(_MGGAL_DRI, 1,
AC_ARG_ENABLE(videodrm,
[ --enable-videodrm include Linux DRI NEWGAL engine <default=yes>],
enable_video_drm=$enableval)
if test "x$enable_video_drm" = "xyes"; then
PKG_CHECK_MODULES(DRM, [libdrm >= 2.4], video_drm="yes",
video_drm="no; Linux DRI NEWGAL engine requires libdrm 2.4+")
if test "x$video_drm" = "xyes"; then
AC_DEFINE(_MGGAL_DRM, 1,
[Define if include Linux DRI NEWGAL engine])
VIDEO_SUBDIRS="$VIDEO_SUBDIRS dri"
VIDEO_DRIVERS="$VIDEO_DRIVERS dri/libvideo_dri.la"
DEP_LIBS="$DEP_LIBS -ldrm"
need_udev="yes"
DRM_INC_DIR="`$PKG_CONFIG --variable includedir libdrm`/drm"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS drm"
VIDEO_DRIVERS="$VIDEO_DRIVERS drm/libvideo_drm.la"
DEP_LIBS="$DEP_LIBS -ldrm -ldl"
DRM_INC_DIR="`$PKG_CONFIG --variable includedir libdrm`/libdrm"
AC_SUBST(DRM_INC_DIR)
else
AC_MSG_WARN([$video_dri])
AC_MSG_WARN([$video_drm])
fi
fi
fi
@@ -1486,7 +1479,7 @@ case "$with_libsuffix" in
esac
AC_ARG_WITH(osname,
[ --with-osname=linux/uclinux/ecos/ucos2/swlinux/vxworks/win32/darwin/threadx/cygwin/nucleus/ose/psos])
[ --with-osname=linux/uclinux/rtt/rtems/freertos/ecos/ucos2/swlinux/vxworks/win32/darwin/threadx/cygwin/nucleus/ose/psos])
dnl configure.in file is used only for the following OSes: linux/uclinux/swlinux/ecos/darwin/cygwin
dnl for other OSes, you should use makefile.ng or else.
@@ -1495,18 +1488,42 @@ case "$with_osname" in
uclinux)
AC_DEFINE(__uClinux__, 1,
[Define if compile for uClinux])
osname="uClinux"
;;
rtt)
AC_DEFINE(__RTTHREAD__, 1,
[Define if compile for RT-Thread])
AC_DEFINE(__NOUNIX__, 1,
[Define if compile for non-UNIX like OS])
osname="RT-Thread"
;;
rtems)
AC_DEFINE(__RTEMS__, 1,
[Define if compile for RTEMS])
AC_DEFINE(__NOUNIX__, 1,
[Define if compile for non-UNIX like OS])
osname="RTEMS"
;;
freertos)
AC_DEFINE(__FREERTOS__, 1,
[Define if compile for FreeRTOS])
AC_DEFINE(__NOUNIX__, 1,
[Define if compile for non-UNIX like OS])
osname="FreeRTOS"
;;
ecos)
AC_DEFINE(__ECOS__, 1,
[Define if compile for eCos])
AC_DEFINE(__NOUNIX__, 1,
[Define if compile for non-UNIX like OS])
osname="eCos"
;;
ucos2)
AC_DEFINE(__UCOSII__, 1,
[Define if compile for uC/OS-II])
AC_DEFINE(__NOUNIX__, 1,
[Define if compile for non-UNIX like OS])
osname="uC/OS-II"
incore_res="yes"
use_own_malloc="yes"
use_own_stdio="yes"
@@ -1517,32 +1534,38 @@ case "$with_osname" in
[Define if compile for Winbond SWLinux])
AC_DEFINE(__NOUNIX__, 1,
[Define if compile for non-UNIX like OS])
osname="SWLinux"
;;
vxworks)
AC_DEFINE(__VXWORKS__, 1,
[Define if compile for VxWorks])
AC_DEFINE(__NOUNIX__, 1,
[Define if compile for non-UNIX like OS])
osname="VxWorks"
;;
cygwin)
AC_DEFINE(__CYGWIN__, 1,
[Define if compile for Cygwin platform])
osname="Cygwin"
;;
win32)
AC_DEFINE(WIN32, 1,
[Define if compile for Win32 platform])
AC_DEFINE(__NOUNIX__, 1,
[Define if compile for non-UNIX like OS])
osname="Windows"
;;
darwin)
AC_DEFINE(__DARWIN__, 1,
[Define if compile for OpenDarwin])
osname="macOS"
;;
threadx)
AC_DEFINE(__THREADX__, 1,
[Define if compile for ThreadX])
AC_DEFINE(__NOUNIX__, 1,
[Define if compile for non-UNIX like OS])
osname="ThreadX"
incore_res="yes"
use_own_malloc="yes"
use_own_stdio="yes"
@@ -1553,6 +1576,7 @@ case "$with_osname" in
[Define if compile for Nucleus])
AC_DEFINE(__NOUNIX__, 1,
[Define if compile for non-UNIX like OS])
osname="Nucleus"
incore_res="yes"
use_own_malloc="yes"
use_own_stdio="yes"
@@ -1563,6 +1587,7 @@ case "$with_osname" in
[Define if compile for OSE])
AC_DEFINE(__NOUNIX__, 1,
[Define if compile for non-UNIX like OS])
osname="OSE"
incore_res="yes"
use_own_pthread="yes"
;;
@@ -1571,9 +1596,11 @@ case "$with_osname" in
[Define if compile for pSOS])
AC_DEFINE(__NOUNIX__, 1,
[Define if compile for non-UNIX like OS])
osname="pSOS"
;;
*)
with_osname="linux"
osname="Linux"
AC_DEFINE(__LINUX__, 1,
[Define if compile for Linux])
;;
@@ -2609,7 +2636,7 @@ src/font/Makefile
src/font/in-core/Makefile
src/newgal/Makefile
src/newgal/fbcon/Makefile
src/newgal/dri/Makefile
src/newgal/drm/Makefile
src/newgal/qvfb/Makefile
src/newgal/pcxvfb/Makefile
src/newgal/wvfb/Makefile
@@ -2675,6 +2702,7 @@ AC_MSG_NOTICE([
# Main building configuration:
## Global Features:
* Operating system: ${osname}
* Runtime mode: ${runtime_mode}
* Incore resource: ${incore_res}
* Developer mode: ${devel_mode}
@@ -2685,7 +2713,7 @@ AC_MSG_NOTICE([
* dummy: ${enable_video_dummy}
* pc_xvfb: ${enable_video_pc_xvfb}
* usvfb: ${enable_video_usvfb}
* dri: ${enable_video_dri}
* drm: ${enable_video_drm}
* fbcon: ${enable_video_fbcon}
* commlcd: ${enable_video_commlcd}
+10 -2
View File
@@ -22,10 +22,13 @@
[system]
# GAL engine and default options
# The equivalent environment variable: MG_GAL_ENGINE
gal_engine=pc_xvfb
# The equivalent environment variable: MG_DEFAULTMODE
defaultmode=800x600-16bpp
# IAL engine
# The equivalent environment variable: MG_IAL_ENGINE
ial_engine=pc_xvfb
mdev=/dev/input/mice
mtype=IMPS2
@@ -33,8 +36,8 @@ mtype=IMPS2
# Linux IAL engine based on libinput
# ial_engine=libinut
#{{ifdef _MGGAL_DRI
[dri]
#{{ifdef _MGGAL_DRM
[drm]
defaultmode=1024x768-32bpp
# We use DRM fourcc code to defined the pixel format of the video surface.
@@ -44,10 +47,15 @@ pixelformat=XR24
# The DRI device
device=/dev/dri/card0
# The resolution of the display
# It is defined in dots (physical pixels) per inch
# The default value is 96.
dpi=96
# The filename of the shared library for the external driver.
# The equivalent environment variable: MG_GAL_DRM_DRIVER
exdriver=libhidrmdrivers.so.0
#}}
#{{ifdef _MGIAL_LIBINPUT
+6 -5
View File
@@ -50,7 +50,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
@@ -306,7 +306,8 @@ MGUI_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8);
*/
#if defined(__i386__) || defined(__ia64__) || defined(__x86_64__) || defined(__amd64) || \
(defined(__alpha__) || defined(__alpha)) || \
defined(__arm__) || \
defined(__arm__) || defined(__aarch64__) || \
defined(__riscv) || \
(defined(__CC_ARM) && !defined(__BIG_ENDIAN)) || \
(defined(__mips__) && defined(__MIPSEL__)) || \
defined(__LITTLE_ENDIAN__) || \
@@ -1963,7 +1964,7 @@ typedef struct _GAL_Rect {
#endif
/* Commonly used definitions */
#if !defined(__NOUNIX__) || defined (__ECOS__)
#ifdef HAVE_LIMITS_H
#include <limits.h>
#endif
@@ -2317,7 +2318,6 @@ int init_minigui_printf (int (*output_char) (int ch),
TCS_BROWN (stderr); \
fprintf (stderr, "%s: ", __FUNCTION__); \
fprintf (stderr, fmt, ##__VA_ARGS__); \
fprintf (stderr, "\n"); \
TCS_NONE (stderr); \
} while (0)
@@ -2332,11 +2332,12 @@ int init_minigui_printf (int (*output_char) (int ch),
# define _DBG_PRINTF(fmt, ...) \
do { \
TCS_YELLOW (stderr); \
fprintf (stderr, "%s: ", __FUNCTION__); \
fprintf (stderr, fmt, ##__VA_ARGS__); \
TCS_NONE (stderr); \
} while (0)
# else
# define _DBG_PRINTF(fmt, ...)
# define _DBG_PRINTF(fmt, ...) do { } while (0)
#endif
#ifdef _MGRM_THREADS
+1 -1
View File
@@ -49,7 +49,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -48,7 +48,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -47,7 +47,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -52,7 +52,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+281 -90
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -49,7 +49,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+182 -5
View File
@@ -23,7 +23,7 @@
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 2002~2019, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This program is free software: you can redistribute it and/or modify
@@ -49,7 +49,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
@@ -1155,7 +1155,7 @@ MG_EXPORT BOOL GUIAPI InitPolygonRegion (PCLIPRGN dst,
#define GDCAP_DPI_MINIMAL 36
/**
* \fn unsigned int GUIAPI GetGDCapability (HDC hdc, int iItem)
* \fn Uint32 GUIAPI GetGDCapability (HDC hdc, int iItem)
* \brief Returns a capability of a DC.
*
* This function returns the capability of the specified item \a iItem of
@@ -1201,7 +1201,7 @@ MG_EXPORT BOOL GUIAPI InitPolygonRegion (PCLIPRGN dst,
*
* \return The capbility.
*/
MG_EXPORT unsigned int GUIAPI GetGDCapability (HDC hdc, int iItem);
MG_EXPORT Uint32 GUIAPI GetGDCapability (HDC hdc, int iItem);
/**
* \fn HDC GUIAPI GetDC (HWND hwnd)
@@ -1389,6 +1389,48 @@ MG_EXPORT HDC GUIAPI CreateCompatibleDCEx (HDC hdc, int width, int height);
*/
MG_EXPORT BOOL GUIAPI IsCompatibleDC (HDC hdc1, HDC hdc2);
/**
* \fn BOOL GUIAPI IsMemDC (HDC hdc)
* \brief Check whether a given DC is a memory DC.
*
* This function checks whether a give DC \a hdc is a memory DC.
*
* \param hdc The handle to the DC.
*
* \return TRUE for memory DC, otherwise FALSE.
*
* \sa CreateMemDCEx
*/
MG_EXPORT BOOL GUIAPI IsMemDC (HDC hdc);
/**
* \fn BOOL GUIAPI IsScreenDC (HDC hdc)
* \brief Check whether a given DC is a screen DC.
*
* This function checks whether a give DC \a hdc is a screen DC.
*
* \param hdc The handle to the DC.
*
* \return TRUE for screen DC, otherwise FALSE.
*
* \sa CreateMemDCEx
*/
MG_EXPORT BOOL GUIAPI IsScreenDC (HDC hdc);
/**
* \fn BOOL GUIAPI IsWindowDC (HDC hdc)
* \brief Check whether a given DC is a window DC.
*
* This function checks whether a give DC \a hdc is a window DC.
*
* \param hdc The handle to the DC.
*
* \return TRUE for window DC, otherwise FALSE.
*
* \sa CreateMemDCEx
*/
MG_EXPORT BOOL GUIAPI IsWindowDC (HDC hdc);
/**
* \fn HDC GUIAPI CreateMemDCEx (int width, int height, int depth, DWORD flags, \
Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask,
@@ -1911,7 +1953,7 @@ typedef int (* ON_UPDATE_SECONDARYDC)(HWND hwnd, HDC secondary_dc,
const RECT* main_update_rc);
#define ON_UPDSECDC_DEFAULT ((ON_UPDATE_SECONDARYDC)0)
#define ON_UPDSECDC_DONOTHING ((ON_UPDATE_SECONDARYDC)0xFFFFFFFF)
#define ON_UPDSECDC_DONOTHING ((ON_UPDATE_SECONDARYDC)-1)
/**
* \fn HDC GUIAPI SetSecondaryDC (HWND hwnd, HDC secondary_dc, \
@@ -13646,6 +13688,141 @@ MG_EXPORT int GUIAPI SetUserCompositionOps (HDC hdc,
CB_COMP_PUTHLINE comp_puthline,
void* user_comp_ctxt);
/**
* This function gets the video handle which corresponds to the given
* device context.
*
* \param hdc The device context.
*
* \return The handle to the video; NULL on error.
*
* Since 4.0.4
*/
MG_EXPORT GHANDLE GetVideoHandle (HDC hdc);
#ifdef _MGGAL_DRM
/**
* \defgroup gdi_drm_fns Functions for Linux DRM integration
*
* These functions can be used to get the DRM device file descriptor and the
* information of the hardware surface corresponding to the DC which is
* created by the Linux DRM engine. By using the information, we can
* integrate MiniGUI with other graphics libraries, such as Cairo
* (vector graphics) and Mesa (3D graphics).
*
* \note Only available when support for Linuxe DRM NEWGAL engine
* (`_MGGAL_DRM`) is enabled.
*
* Since 4.0.4
*
* @{
*/
/**
* This function gets the file descriptor opened by the Linux DRM engine.
*
* \param video The video handle returned by \a GetVideoHandle.
*
* \return The DRM device file descriptor opened by the Linux DRM engine;
* >= 0 for success and < 0 on error. If \a surface is not a hardware
* surface created by the DRM engine, this function returns -1.
*/
MG_EXPORT int drmGetDeviceFD (GHANDLE video);
/**
* THe struct type defines the DRM surface information.
*/
typedef struct _DrmSurfaceInfo {
/** The prime fd of the buffer object. */
int prime_fd;
/** The global name of the buffer object. */
uint32_t name;
/** The local handle of the buffer object. */
uint32_t handle;
/** The buffer identifier. */
uint32_t id;
/** The width of the surface. */
uint32_t width;
/** The height of the surface. */
uint32_t height;
/** The row stride of the surface. */
uint32_t pitch;
/** The DRM pixel format. */
uint32_t drm_format;
/** Size in bytes of the buffer object. */
unsigned long size;
} DrmSurfaceInfo;
/**
* This function gets the DRM surface information from specified device context.
*
* \param video The handle to the video.
* \param hdc The handle to the device context.
* \param info The pointer to a DrmSurfaceInfo structure to hold
* the surface information.
*
* \return TRUE for success, FALSE for failure.
*/
MG_EXPORT BOOL drmGetSurfaceInfo (GHANDLE video, HDC hdc, DrmSurfaceInfo* info);
/**
* This function creates a memory DC with a DRM surface which is created by
* a foreign process and identified by a global name handle.
*
* \param video The video handle.
* \param name The name handle of the DRM surface.
* \param drm_format The DRM pixel format.
* \param width The width of the DRM surface.
* \param height The height of the DRM surface.
* \param pitch The pitch (row stride) of the DRM surface.
*
* \return The handle to the memory DC for success, HDC_INVALID for failure.
*/
MG_EXPORT HDC drmCreateDCFromName (GHANDLE video,
uint32_t name, uint32_t drm_format,
unsigned int width, unsigned int height, uint32_t pitch);
/**
* This function creates a memory DC with a DRM surface which is created by
* a foreign process and identified by a PRIME file descriptor.
*
* \param video The video handle.
* \param prime_fd The PRIME file descriptor.
* \param size The size of the DRM surface in bytes.
* \param drm_format The DRM pixel format.
* \param width The width of the DRM surface.
* \param height The height of the DRM surface.
* \param pitch The pitch (row stride) of the DRM surface.
*
* \return The handle to the memory DC for success, HDC_INVALID for failure.
*/
MG_EXPORT HDC drmCreateDCFromPrimeFd (GHANDLE video,
int prime_fd, unsigned long size, uint32_t drm_format,
unsigned int width, unsigned int height, uint32_t pitch);
/**
* This function creates a memory DC with a DRM surface which is created by
* a foreign graphics component.
*
* \param video The video handle.
* \param handle The handle of the DRM surface.
* \param size The size of the DRM surface in bytes.
* \param drm_format The DRM pixel format.
* \param width The width of the DRM surface.
* \param height The height of the DRM surface.
* \param pitch The pitch (row stride) of the DRM surface.
*
* \return The handle to the memory DC for success, HDC_INVALID for failure.
*/
MG_EXPORT HDC drmCreateDCFromHandle (GHANDLE video,
uint32_t handle, unsigned long size, uint32_t drm_format,
unsigned int width, unsigned int height, uint32_t pitch);
/** @} end of gdi_drm_fns */
#endif /* _MGGAL_DRM */
/** @} end of gdi_fns */
#ifdef _MGGAL_HI3560
+3 -3
View File
@@ -49,7 +49,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
@@ -274,13 +274,13 @@ extern MG_EXPORT MG_Layer* mgLayers;
*/
/**
* \fn int GUIAPI InitGUI (int, const char **)
* \fn int GUIAPI InitGUI (int argc, const char *argv[])
* \brief Initialize MiniGUI.
*
* The meaning of two parameters is same with parameters of main function.
*
**/
MG_EXPORT int GUIAPI InitGUI (int, const char **);
MG_EXPORT int GUIAPI InitGUI (int argc, const char *argv[]);
/**
* \fn void GUIAPI TerminateGUI (int not_used)
+1 -1
View File
@@ -54,7 +54,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -57,7 +57,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -57,7 +57,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -49,7 +49,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -49,7 +49,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -57,7 +57,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/
+1 -1
View File
@@ -57,7 +57,7 @@
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
<http://www.minigui.com/blog/minigui-licensing-policy/>.
\endverbatim
*/

Some files were not shown because too many files have changed in this diff Show More