Files
MiniGUI/doc/man7/libminigui.7
2017-05-29 12:20:05 +08:00

100 lines
4.4 KiB
Groff

.TH libminigui 7 "March 2001" "libminigui" "Introduction to libminigui"
.SH NAME
libminigui \- A compact Graphics User Interface support system for real-time embedded systems based-on Linux.
.SH DESCRIPTION
.PP
MiniGUI is a LGPLed free software project.
Its goal is providing a lightweight Graphics User Interface support system;
especially fit for real-time embedded systems based on Linux. We have released
MiniGUI version 1.0.00Pre1 so far, and the official release version will be born
in the near future.
.PP
MiniGUI defines some Win32-like APIs for the applications. By using the
MiniGUI, one application can create multiple windows, and can draw in
these windows without interfering each other.
.PP
You can find latest information about MiniGUI at our home page:
.PP
http://www.minigui.org
.SH WHAT IS MINIGUI-LITE
.PP
You know that MiniGUI before version 0.9.98 is based on LinuxThreads.
Therefore, if you want to start a program based on MiniGUI, you have to
quit current one and start another one, or you can dynamically load the
program via 'dlopen'. Although the latter can extend your application
in some degrees, but it is not a good way because one thread in a MiniGUI-based
process may damage the whole process.
.PP
Now you can use MiniGUI-Lite to run more than one MiniGUI-based program
in the form of Linux processes at the same time. MiniGUI-Lite is a lightweight
version of original MiniGUI -- because LinuxThreads is not needed any more.
You can run a programm based on MiniGUI-Lite from a program called 'mginit'.
Just like X Window, the former process is called a client, and the latter a server.
.PP
The clients connect to the server via UNIX domain socket, and the server accepts
the request from clients. The server provides the shared resource for the clients,
and sends mouse (touch screen) and keyboard events to the topmost client.
If a client exit or die for a reason, the server will run as normal.
.PP
In our release, there is a package called 'mglite-exec'. In this package,
there is a 'mginit' program which creates a virtual console window. You can start
a program in this package from the command line of the virtual console.
You can even debug this program by using 'gbd'.
.PP
You can create many windows in a program based on MiniGUI-Lite, but you can not
start a new thread to create a window. So some functions in original MiniGUI can
not be used in MiniGUI-Lite, but most of APIs of MiniGUI-Lite are compatible with
original MiniGUI. Porting from original MiniGUI to MiniGUI-Lite is simple.
Please see the programs in 'mglite-exec' package, all programs are porting
from 'miniguiexec' package.
.PP
The source of MiniGUI is configured as MiniGUI-Lite by default.
When you run `./configure' to configure MiniGUI, you can use the command:
.PP
$ ./configure --disable-lite
.PP
to disable MiniGUI-Lite. You will get the original MiniGUI libraries which
run on PThread.
.PP
For clear distinguish, we will call MiniGUI based-on PThread as `MiniGUI-Threads'.
.SH AUTHOR
.PP
The original author of MiniGUI is WEI Yongming (ymwei@minigui.org), but many others added some features to MiniGUI, and some code of MiniGUI comes from other free software. For instance, the Chinses input method comes from CCE (Console Chinese Environment)
by He Rui and others, and ported it to MiniGUI by KANG Xiaoning and Zheng Xiang.
.PP
For other authors and contributors to see CREDITS.
.SH COPYING
.PP
Copyright (C) 1998, 1999, 2000, 2001, WEI Yongming.
.br
Copyright (C) 2000, 2001, BluePoint Software.
.br
Portion copyright (C) 2000, Song Lixin.
.br
Portion copyright (C) 2000, Zheng Xiang.
.PP
MiniGUI is free woftware; you can redistribute it and/or modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
.PP
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.
.PP
You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA