mirror of
https://github.com/VincentWei/MiniGUI.git
synced 2026-02-06 02:01:50 +08:00
introduction words for compositing schema; change --enable-compositor to --enable-compositing
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
MAJOR_VERSION = 3
|
||||
MINOR_VERSION = 0
|
||||
MICRO_VERSION = 13
|
||||
MAJOR_VERSION = 4
|
||||
MINOR_VERSION = 1
|
||||
MICRO_VERSION = 0
|
||||
EXTRAVERSION =
|
||||
|
||||
MINIGUI_RELEASE=$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)$(EXTRAVERSION)
|
||||
|
||||
37
README.md
37
README.md
@@ -164,6 +164,43 @@ following repository:
|
||||
If you are interested in hacking the MiniGUI code, please visit this repository.
|
||||
|
||||
|
||||
## NEW FEATURES IN VERSION 4.2.x
|
||||
|
||||
In this version, we enhanced the MiniGUI-Processes runtime mode to support
|
||||
the compositing schema. Under compositing schema, regardless a main window
|
||||
is created by the server (`mginit`) or a client, it renders the content in
|
||||
a separate rendering buffer, and the server composites the contents from
|
||||
all visible main windows to the ultimate scan-out frame buffer according to
|
||||
the z-order information.
|
||||
|
||||
On the contrary, the legacy schema of MiniGUI-Processes uses the same
|
||||
frame buffer for all processes (and all main windows) in the system.
|
||||
|
||||
MiniGUI Core implements the default compositor. But you can implement
|
||||
your own compositor by programming your own server, i.e., `mginit`.
|
||||
|
||||
By enabling the compositing schema, MiniGUI now provides a better
|
||||
implementation for multi-process environment:
|
||||
|
||||
- Easy to implement advanced user interfaces with alpha blending,
|
||||
blurring, and so on.
|
||||
- Easy to implement animations for switching among main windows.
|
||||
- Better security. One client cannot read/write contents in/to
|
||||
another windows owned by other clients.
|
||||
|
||||
The major flaws of the compositing schema are as follow:
|
||||
|
||||
- It needs larger memory than the legacy schema to show multiple
|
||||
windows at the same time. Therefore, we need a client manager to
|
||||
kill the clients which runs in background if you are
|
||||
running MiniGUI on an embedded system. Like Android or iOS does.
|
||||
- It needs a hardware-accelerated NEWGAL engine to get a smooth
|
||||
user experience.
|
||||
|
||||
Usage:
|
||||
|
||||
- Use `--enable-compositing` to enable the compositing schema.
|
||||
|
||||
## NEW FEATURES IN VERSION 4.0.x
|
||||
|
||||
In this version, we enhanced and tuned the APIs related to text rendering,
|
||||
|
||||
16
configure.ac
16
configure.ac
@@ -92,7 +92,7 @@ message_string="no"
|
||||
|
||||
osname="unspecified"
|
||||
runtime_mode="procs"
|
||||
use_compositor="yes"
|
||||
compositing_schema="yes"
|
||||
|
||||
incore_res="no"
|
||||
use_miniguientry="no"
|
||||
@@ -831,9 +831,9 @@ AC_ARG_ENABLE(ctrlanimation,
|
||||
build_ctrl_animation=$enableval)
|
||||
|
||||
if test "x$runtime_mode" == "xprocs"; then
|
||||
AC_ARG_ENABLE(compositor,
|
||||
[ --enable-compositor enable compositor (MiniGUI-Processes runmode only) <default=yes>],
|
||||
use_compositor=$enableval)
|
||||
AC_ARG_ENABLE(compositing,
|
||||
[ --enable-compositing enable compositing schema (MiniGUI-Processes runmode only) <default=yes>],
|
||||
compositing_schema=$enableval)
|
||||
fi
|
||||
|
||||
dnl Set up the Null video driver.
|
||||
@@ -1722,9 +1722,9 @@ case "$runtime_mode" in
|
||||
AC_DEFINE(_MGRM_PROCESSES, 1,
|
||||
[Define if build MiniGUI-Processes])
|
||||
MINIGUI_RUNMODE="procs"
|
||||
if test "x$use_compositor" = "xyes"; then
|
||||
AC_DEFINE(_MGUSE_COMPOSITOR, 1,
|
||||
[Define if use compositor for MiniGUI-Processes])
|
||||
if test "x$compositing_schema" = "xyes"; then
|
||||
AC_DEFINE(_MGUSE_COMPOSITING, 1,
|
||||
[Define if use compositing schema for MiniGUI-Processes])
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
@@ -2705,7 +2705,7 @@ AC_MSG_NOTICE([
|
||||
## Global Features:
|
||||
* Operating system: ${osname}
|
||||
* Runtime mode: ${runtime_mode}
|
||||
* Compositor: ${use_compositor}
|
||||
* Compositing schema: ${compositing_schema}
|
||||
* Incore resource: ${incore_res}
|
||||
* Developer mode: ${devel_mode}
|
||||
* Target name: ${with_targetname}
|
||||
|
||||
Reference in New Issue
Block a user