mirror of
https://github.com/VincentWei/MiniGUI.git
synced 2026-09-24 09:14:09 +08:00
Compare commits
155
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b4b18828b2 | ||
|
|
36167be7e6 | ||
|
|
4b633c801d | ||
|
|
33fd8a8668 | ||
|
|
94f44890a5 | ||
|
|
cc7441c4dd | ||
|
|
6fdc0281ba | ||
|
|
136a51d9b8 | ||
|
|
5e871c486b | ||
|
|
fdd69bf470 | ||
|
|
10e55b0d4f | ||
|
|
682c81d636 | ||
|
|
9eb4e54b75 | ||
|
|
e43bc07a63 | ||
|
|
508130afdc | ||
|
|
d60c057dc4 | ||
|
|
8f5a741af6 | ||
|
|
bee1bc87c4 | ||
|
|
3a9274e9a0 | ||
|
|
44ee735cd6 | ||
|
|
2c010cdbeb | ||
|
|
a04ae43bdb | ||
|
|
5c333445c5 | ||
|
|
dd93e67a3d | ||
|
|
d886268eee | ||
|
|
090824cb91 | ||
|
|
00eb4e363f | ||
|
|
f73f0786ee | ||
|
|
dacc81cf2a | ||
|
|
97c6249af5 | ||
|
|
7ce1fe47ff | ||
|
|
8e66bb366e | ||
|
|
ce7fd6e776 | ||
|
|
957f9cbb47 | ||
|
|
2a7e3003bd | ||
|
|
19cd208a6e | ||
|
|
6a44111a35 | ||
|
|
fd5d55942b | ||
|
|
d4e7f048f0 | ||
|
|
d90c4d5842 | ||
|
|
0f562cd39f | ||
|
|
fb01003c45 | ||
|
|
9bcea02975 | ||
|
|
c51ae8d1c1 | ||
|
|
b8a5ad2d73 | ||
|
|
39b8c88d1b | ||
|
|
1e73f6713a | ||
|
|
97babaa4e2 | ||
|
|
c6c486f306 | ||
|
|
338f10b896 | ||
|
|
2353a873a8 | ||
|
|
52c539e870 | ||
|
|
64d63a84c5 | ||
|
|
3d80d73450 | ||
|
|
2e04898fbe | ||
|
|
f390e1a091 | ||
|
|
848c1d7ce1 | ||
|
|
0c0becc780 | ||
|
|
0e918da2a4 | ||
|
|
7f36c339b7 | ||
|
|
871486daab | ||
|
|
0cffc8798f | ||
|
|
4d4a3901eb | ||
|
|
50e95cb461 | ||
|
|
d223edf0ba | ||
|
|
8e88082f07 | ||
|
|
5b1762b637 | ||
|
|
6c83ea4ceb | ||
|
|
5aa5e75813 | ||
|
|
1ba35dcbf6 | ||
|
|
8828824b23 | ||
|
|
e3f2cc22ec | ||
|
|
93aae6782e | ||
|
|
b746d2927e | ||
|
|
79e3be705c | ||
|
|
a052b7bf55 | ||
|
|
74a84362ca | ||
|
|
d673008f5a | ||
|
|
09c9438de8 | ||
|
|
0734180d70 | ||
|
|
8ca8deb02d | ||
|
|
9aa719aeb3 | ||
|
|
447eebbafc | ||
|
|
19f8689a20 | ||
|
|
60902f83d5 | ||
|
|
a725acfd5e | ||
|
|
0191772111 | ||
|
|
a11cef5f2e | ||
|
|
cf4c75bcbc | ||
|
|
f85801dcbe | ||
|
|
4e67f8c56b | ||
|
|
1cfd2fe324 | ||
|
|
5ef2e0fa42 | ||
|
|
57b71e985c | ||
|
|
d9d76ec59b | ||
|
|
7935883267 | ||
|
|
0385def7b2 | ||
|
|
565f4b34e5 | ||
|
|
70ba8a0420 | ||
|
|
4bdbe4a002 | ||
|
|
2c98ef96da | ||
|
|
6663c98787 | ||
|
|
bbf2376f7a | ||
|
|
21ac9f2def | ||
|
|
a10d28dd11 | ||
|
|
856126c72e | ||
|
|
547fc0059c | ||
|
|
195363dc82 | ||
|
|
54288e5687 | ||
|
|
9d46406a95 | ||
|
|
d365feca5d | ||
|
|
f34ac9d0fe | ||
|
|
3a02b056ca | ||
|
|
1a1e8cf652 | ||
|
|
94feb0ae44 | ||
|
|
1e1a5edd13 | ||
|
|
ae9b14201b | ||
|
|
742150d4f1 | ||
|
|
03eac03c8c | ||
|
|
8cd6b037ec | ||
|
|
b35e38bdff | ||
|
|
58275c88e9 | ||
|
|
31b43521d0 | ||
|
|
e68ee00b85 | ||
|
|
6e54d4a7d7 | ||
|
|
69b1d63569 | ||
|
|
817f4063a1 | ||
|
|
c9ec23dc70 | ||
|
|
972085fa56 | ||
|
|
c2e24b61e3 | ||
|
|
bd1fb67930 | ||
|
|
0fcedfca08 | ||
|
|
c39ce7c0b8 | ||
|
|
97014ccdc8 | ||
|
|
48e7f6e928 | ||
|
|
473f9f98ff | ||
|
|
95d09a7673 | ||
|
|
53253ed101 | ||
|
|
4bd7c0eef4 | ||
|
|
9af71438dd | ||
|
|
82033a44dd | ||
|
|
1c9537fc63 | ||
|
|
612c395c06 | ||
|
|
8dc0ee2ade | ||
|
|
caefd7355a | ||
|
|
9ea0e15dba | ||
|
|
83c8984c74 | ||
|
|
4761333a1a | ||
|
|
8538f29f70 | ||
|
|
b658413961 | ||
|
|
bb187f1ee3 | ||
|
|
ea8ab93bad | ||
|
|
9226fcff26 | ||
|
|
05cf370155 | ||
|
|
0d2352884a |
@@ -22,5 +22,4 @@ Makefile.in
|
|||||||
/*.pc
|
/*.pc
|
||||||
/*config.h
|
/*config.h
|
||||||
/*config.h.in
|
/*config.h.in
|
||||||
/*config.h.in~
|
|
||||||
|
|
||||||
|
|||||||
+16
@@ -0,0 +1,16 @@
|
|||||||
|
The current main maintainers and/or developers:
|
||||||
|
|
||||||
|
* WEI Yongming
|
||||||
|
|
||||||
|
As employed engineers of [Beijing FMSoft Technologies Co., Ltd.],
|
||||||
|
the following people have participated in the development of MiniGUI Core:
|
||||||
|
|
||||||
|
* HOU Huihua
|
||||||
|
* WAN Zheng
|
||||||
|
* DONG Kai
|
||||||
|
* DONG Junjie
|
||||||
|
* YAN Xiaowei
|
||||||
|
|
||||||
|
For community contributors, please see RELASENOTES.md documentation.
|
||||||
|
|
||||||
|
[Beijing FMSoft Technologies Co., Ltd.]: http://www.fmsoft.cn
|
||||||
@@ -3216,7 +3216,7 @@ alExtra.(xwyan)
|
|||||||
* src/gui/lf_flat.c
|
* src/gui/lf_flat.c
|
||||||
* src/gui/lf_skin.c
|
* src/gui/lf_skin.c
|
||||||
|
|
||||||
08/24: ENHANCEMENT #1: Add a new method for FONTOPS: get_glyph_type to return
|
08/24: ENHANCEMENT #1: Add a new method for FONTOPS: get_char_type to return
|
||||||
the glyph type the devfont can give us.
|
the glyph type the devfont can give us.
|
||||||
* src/include/devfont.h
|
* src/include/devfont.h
|
||||||
* src/font/*.c
|
* src/font/*.c
|
||||||
@@ -4761,7 +4761,7 @@ create_skin_main_window_ex:
|
|||||||
* ext/skin/skin.c
|
* ext/skin/skin.c
|
||||||
|
|
||||||
05/16. ENHANCEMENT #8: Support for UTF-16LE and UTF-16BE charsets/encodings.
|
05/16. ENHANCEMENT #8: Support for UTF-16LE and UTF-16BE charsets/encodings.
|
||||||
* Change the definition of UChar32 to 'int'.
|
* Change the definition of Uchar32 to 'int'.
|
||||||
* include/gdi.h
|
* include/gdi.h
|
||||||
|
|
||||||
05/16. ENHANCEMENT #11: Support for FreeType2.
|
05/16. ENHANCEMENT #11: Support for FreeType2.
|
||||||
|
|||||||
+1
-1
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Standalone)"
|
|||||||
# could be handy for archiving the generated documentation or if some version
|
# could be handy for archiving the generated documentation or if some version
|
||||||
# control system is used.
|
# control system is used.
|
||||||
|
|
||||||
PROJECT_NUMBER = v3.2.0
|
PROJECT_NUMBER = v3.4.0
|
||||||
|
|
||||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
# 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
|
# for a project that appears at the top of each page and should give viewer a
|
||||||
|
|||||||
@@ -2,10 +2,12 @@
|
|||||||
|
|
||||||
A mature and proven cross-platform GUI system for embedded and smart IoT devices.
|
A mature and proven cross-platform GUI system for embedded and smart IoT devices.
|
||||||
|
|
||||||
|
|
||||||
## TABLE OF CONTENTS
|
## TABLE OF CONTENTS
|
||||||
|
|
||||||
1. Introduction
|
1. Introduction
|
||||||
1. A brief building instruction
|
1. A brief building instruction
|
||||||
|
1. New features in version 3.4.x
|
||||||
1. New features in version 3.2.x
|
1. New features in version 3.2.x
|
||||||
1. The runtime modes of MiniGUI
|
1. The runtime modes of MiniGUI
|
||||||
1. History
|
1. History
|
||||||
@@ -21,7 +23,7 @@ A mature and proven cross-platform GUI system for embedded and smart IoT devices
|
|||||||
MiniGUI is a mature cross-platform windowing system and a GUI (Graphics
|
MiniGUI is a mature cross-platform windowing system and a GUI (Graphics
|
||||||
User Interface) support system for embedded systems and smart IoT devices.
|
User Interface) support system for embedded systems and smart IoT devices.
|
||||||
This is the version 3.2.x of MiniGUI maintained by WEI Yongming
|
This is the version 3.2.x of MiniGUI maintained by WEI Yongming
|
||||||
(Vincent Wei, <https://github.com/VincentWei>).
|
(Vincent Wei, https://github.com/VincentWei).
|
||||||
|
|
||||||
MiniGUI is released under GPLv3 and the dual-licensing applies to commercial
|
MiniGUI is released under GPLv3 and the dual-licensing applies to commercial
|
||||||
use.
|
use.
|
||||||
@@ -29,39 +31,45 @@ use.
|
|||||||
MiniGUI aims to provide a fast, stable, full-featured, and cross-platform
|
MiniGUI aims to provide a fast, stable, full-featured, and cross-platform
|
||||||
windowing and GUI support system, which is especially fit for
|
windowing and GUI support system, which is especially fit for
|
||||||
embedded systems or smart IoT devices based-on Linux/uClinux, eCos, and other
|
embedded systems or smart IoT devices based-on Linux/uClinux, eCos, and other
|
||||||
traditional RTOSes, such as RTEMS, VxWorks, ThreadX, Nucleus, pSOS, uC/OS-II,
|
traditional RTOSes, such as VxWorks, ThreadX, Nucleus, pSOS, uC/OS-II,
|
||||||
and OSE.
|
and OSE.
|
||||||
|
|
||||||
This is the MiniGUI core source tree, which provides windowing
|
This is the MiniGUI core source tree, which provides windowing
|
||||||
and graphics interfaces as well as a lot of standard controls (toolkit).
|
and graphics interfaces as well as a lot of standard controls (tookit).
|
||||||
|
|
||||||
Besides MiniGUI core, FMSoft also provides some components
|
Besides MiniGUI core, FMSoft also provides some components
|
||||||
for the developers to develop app much easier:
|
for the developers to develop app much easier:
|
||||||
|
|
||||||
* mGUtils: A MiniGUI component which contains miscellaneous utilities
|
* mGUtils: A MiniGUI component which contains miscellaneous utilities
|
||||||
like `ColorSelectionDialogBox`, `FileOpenDialogBox`, and so on.
|
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.
|
* mGPlus: A MiniGUI component which provides support for advanced graphics
|
||||||
* mGEff: mGEff provides an animation framework for MiniGUI app.
|
functions like path, gradient, anti-aliase stretch, and color combination.
|
||||||
It also provides some popular UI/UE special effects.
|
|
||||||
* mGNCS: This component provides a new control set for MiniGUI app.
|
* mGEff: mGEff provides an animation framework for MiniGUI app.
|
||||||
By using mGNCS, you can use miniStudio to develop MiniGUI app in
|
It also provides some popular UI/UE special effects.
|
||||||
WYSIWYG way.
|
|
||||||
* mGNCS4Touch: This component provides some new controls, which are
|
* mGNCS: This component provides a new control set for MiniGUI app.
|
||||||
compliant to the new control API spec of mGNCS, for devices with
|
By using mGNCS, you can use miniStudio to develop MiniGUI app in
|
||||||
a touch screen.
|
WYSIWYG way.
|
||||||
|
|
||||||
|
* mGNCS4Touch: This component provides some new controls, which are
|
||||||
|
compliant to the new control API spec of mGNCS, for devices with
|
||||||
|
a touch screen.
|
||||||
|
|
||||||
There are also some legacy MiniGUI components. We will not maintain these
|
There are also some legacy MiniGUI components. We will not maintain these
|
||||||
components for MiniGUI 3.2.x:
|
components for MiniGUI core v3.2:
|
||||||
|
|
||||||
* mGi: An input method component for MiniGUI. This component provides
|
* mGi: An input method component for MiniGUI. This component provides
|
||||||
some typical input methods (such as soft keyboard, hand-writing, and predict
|
some typical input methods (such as softkey, hand-writing, and predict
|
||||||
text input for mobile phone) for MiniGUI apps.
|
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.
|
* mGp: A printing component for MiniGUI. By using mGp, you can print
|
||||||
* mG3d: A simple three-dimension component for MiniGUI. This component
|
out the graphics created by MiniGUI app to general-purpose printers.
|
||||||
provides a simple 3D API for app. You can use mG3d to create simple
|
|
||||||
3D UI.
|
* 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
|
MiniGUI is a free software project. In December 1998, the initiator of
|
||||||
FMSoft, Wei Yongming, began to develop MiniGUI under the GNU General Public
|
FMSoft, Wei Yongming, began to develop MiniGUI under the GNU General Public
|
||||||
@@ -73,34 +81,34 @@ as a free software project.
|
|||||||
You can download the source code tarball of MiniGUI and the dependent libraries
|
You can download the source code tarball of MiniGUI and the dependent libraries
|
||||||
from the download zone of the site:
|
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,
|
FMSoft also releases some open source apps for MiniGUI on the site above,
|
||||||
for examples:
|
for examples:
|
||||||
|
|
||||||
* mDolphin, licensed under Apache 2.0, is a full-featured
|
* mDolphin, licensed under Apache 2.0, is a full-featured
|
||||||
WEB/WAP browser, which is developed based on the open source browser
|
WEB/WAP browser, which is developed based on the open source browser
|
||||||
core WebKit and uses MiniGUI as its underlying graphics support system.
|
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),
|
* mGallery, licensed under Apache 2.0, intends to
|
||||||
which uses MiniGUI as the graphics platform.
|
provide a total solution for PMP (Portable Multimedia Player),
|
||||||
* mSpider, licensed under GPL 3.0, intends to provide a
|
which uses MiniGUI as the graphics platform.
|
||||||
light-weight MiniGUI-based web browser (HTML 3.2 and part JavaScript)
|
|
||||||
* mEagle, licensed under GPL 3.0, is an embedded GIS development platform
|
* mSpider, licensed under GPL 3.0, intends to provide a
|
||||||
which addresses the needs of map browse, query, analysis, etc
|
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
|
FMSoft had created the public repositories for MiniGUI core, MiniGUI
|
||||||
components, and other open source apps on GitHub. You can visit them on:
|
components, and other open source apps on GitHub. You can visit them on:
|
||||||
|
|
||||||
<https://github.com/VincentWei>
|
https://github.com/VincentWei
|
||||||
|
|
||||||
and
|
FMSoft also releases miniStudio, which is a WYSIWYG IDE for MiniGUI, as a shareware.
|
||||||
|
You can also download it from the official site of MiniGUI.
|
||||||
|
|
||||||
<https://github.com/FMSoftCN>
|
http://www.minigui.com/en/download
|
||||||
|
|
||||||
We now maintain all documents about MiniGUI on the following public repo:
|
|
||||||
|
|
||||||
<https://github.com/VincentWei/minigui-docs>
|
|
||||||
|
|
||||||
|
|
||||||
## A BRIEF BUILDING INSTRUCTION
|
## A BRIEF BUILDING INSTRUCTION
|
||||||
@@ -139,6 +147,15 @@ For more information, please run
|
|||||||
$ ./configure --help
|
$ ./configure --help
|
||||||
|
|
||||||
|
|
||||||
|
## NEW FEATURES IN VERSION 3.4.x
|
||||||
|
|
||||||
|
We introduce some new features in MiniGUI Version 3.4.x:
|
||||||
|
|
||||||
|
* The font and UNICODE related APIs are tuned or enhanced,
|
||||||
|
in order to support HybridOS Foundation C++ Library.
|
||||||
|
|
||||||
|
For more information, please refer to RELEASENOTES.md file.
|
||||||
|
|
||||||
## NEW FEATURES IN VERSION 3.2.x
|
## NEW FEATURES IN VERSION 3.2.x
|
||||||
|
|
||||||
We introduce some new features in MiniGUI Version 3.2.x:
|
We introduce some new features in MiniGUI Version 3.2.x:
|
||||||
@@ -195,7 +212,7 @@ clients and the server.
|
|||||||
|
|
||||||
## HISTORY
|
## HISTORY
|
||||||
|
|
||||||
About ten years have pasted since MiniGUI was initially created at
|
21 years have pasted since MiniGUI was initially created at
|
||||||
the end of 1998, and now it becomes much reliable and stable.
|
the end of 1998, and now it becomes much reliable and stable.
|
||||||
During the past years, many remarkable changes have taken place in
|
During the past years, many remarkable changes have taken place in
|
||||||
the MiniGUI project.
|
the MiniGUI project.
|
||||||
@@ -288,6 +305,7 @@ A brief history description of the development progress lay below:
|
|||||||
45) Aug., 2017: FMSoft released the latest source code of mDolphin under Apache 2.0.
|
45) Aug., 2017: FMSoft released the latest source code of mDolphin under Apache 2.0.
|
||||||
46) Dec., 2017: FMSoft updated MiniGUI and miniStudio for latest Linux distributions.
|
46) Dec., 2017: FMSoft updated MiniGUI and miniStudio for latest Linux distributions.
|
||||||
47) Feb., 2018: FMSoft released MiniGUI version 3.2.
|
47) Feb., 2018: FMSoft released MiniGUI version 3.2.
|
||||||
|
47) Jun., 2019: FMSoft released MiniGUI version 3.4.
|
||||||
|
|
||||||
|
|
||||||
## ABOUT THE AUTHORS
|
## ABOUT THE AUTHORS
|
||||||
@@ -337,53 +355,36 @@ the commercial license of MiniGUI, please refer to the LICENSE-POLICY file.
|
|||||||
|
|
||||||
We provide you the commercial license of MiniGUI according to the number
|
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
|
of the run-time binary copies of MiniGUI. If you are interested in
|
||||||
the commercial license of MiniGUI, please write to <sales@minigui.com>
|
the commercial license of MiniGUI, please write to sales@minigui.com.
|
||||||
|
|
||||||
|
|
||||||
## COPYING
|
## COPYING
|
||||||
|
|
||||||
Copyright (C) 2002 ~ 2019, Beijing FMSoft Technologies Co., Ltd.
|
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
|
||||||
Copyright (C) 1998 ~ 2002, WEI Yongming
|
Copyright (C) 1998~2002, WEI Yongming
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Or,
|
Or,
|
||||||
|
|
||||||
As this program is a library, any link to this program must follow
|
As this program is a library, any link to this program must follow
|
||||||
GNU General Public License version 3 (GPLv3). If you cannot accept
|
GNU General Public License version 3 (GPLv3). If you cannot accept
|
||||||
GPLv3, you need to be licensed from FMSoft.
|
GPLv3, you need to be licensed from FMSoft.
|
||||||
|
|
||||||
If you have got a commercial license of this program, please use it
|
If you have got a commercial license of this program, please use it
|
||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
### Special Statement
|
|
||||||
|
|
||||||
The above open source or free software license does
|
|
||||||
not apply to any entity in the Exception List published by
|
|
||||||
Beijing FMSoft Technologies Co., Ltd.
|
|
||||||
|
|
||||||
If you are or the entity you represent is listed in the Exception List,
|
|
||||||
the above open source or free software license does not apply to you
|
|
||||||
or the entity you represent. Regardless of the purpose, you should not
|
|
||||||
use the software in any way whatsoever, including but not limited to
|
|
||||||
downloading, viewing, copying, distributing, compiling, and running.
|
|
||||||
If you have already downloaded it, you MUST destroy all of its copies.
|
|
||||||
|
|
||||||
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>.
|
|
||||||
|
|
||||||
|
|||||||
+154
-42
@@ -1,67 +1,178 @@
|
|||||||
# Release Notes
|
# Release Notes
|
||||||
|
|
||||||
## Version 3.2.3
|
## Version 3.4.0
|
||||||
|
|
||||||
The MiniGUI development team announces the availability of MiniGUI 3.2.3.
|
The MiniGUI development team announces the availability of MiniGUI 3.4.0.
|
||||||
All users of MiniGUI are recommended strongly to use this version.
|
All users of MiniGUI are recommended strongly to use this version.
|
||||||
Please report any bugs and incompatibilities in
|
Please report any bugs and incompatibilities in
|
||||||
|
|
||||||
<https://github.com/VincentWei/minigui/tree/rel-3-2>
|
https://github.com/VincentWei/minigui
|
||||||
|
|
||||||
|
### What's new in this version
|
||||||
|
|
||||||
|
In this version, we mainly enhanced and tuned the APIs of font rendering.
|
||||||
|
|
||||||
|
#### Tunning the logical font APIs
|
||||||
|
|
||||||
|
The styles of LOGFONT changed.
|
||||||
|
|
||||||
|
* Add new rendering style:
|
||||||
|
1. `FS_RENDER_ANY`: Not specified
|
||||||
|
1. `FS_RENDER_MONO`:
|
||||||
|
1. `FS_RENDER_GREY`:
|
||||||
|
1. `FS_RENDER_SUBPIXEL`:
|
||||||
|
* Some old styles are deprecated:
|
||||||
|
1. `FS_WEIGHT_BOOK`; use `FS_RENDER_GREY` instead.
|
||||||
|
1. `FS_WEIGHT_SUBPIXEL`; use `FS_RENDER_SUBPIXEL` instead.
|
||||||
|
* Introduced or redefined the weight styles to follow OpenType specification:
|
||||||
|
1. `FONT_WEIGHT_ANY`: Not specified
|
||||||
|
1. `FONT_WEIGHT_THIN`: Thin.
|
||||||
|
1. `FONT_WEIGHT_EXTRA_LIGHT`: Extra light (Ultra Light).
|
||||||
|
1. `FONT_WEIGHT_LIGHT`: Light.
|
||||||
|
1. `FONT_WEIGHT_REGULAR`: Regular (Normal).
|
||||||
|
1. `FONT_WEIGHT_MEDIUM`: Medium.
|
||||||
|
1. `FONT_WEIGHT_DEMIBOLD`: Demi Bold (Semi Bold)
|
||||||
|
1. `FONT_WEIGHT_BOLD`: Bold.
|
||||||
|
1. `FONT_WEIGHT_EXTRA_BOLD`: Extra Bold (Ultra Bold).
|
||||||
|
1. `FONT_WEIGHT_BLACK`: Black (Heavy).
|
||||||
|
* Introduce the new decoration styles and replace
|
||||||
|
`FONT_UNDERLINE_LINE` and `FONT_STRUCKOUT_LINE` with them:
|
||||||
|
1. `FONT_DECORATE_ANY`: Not specified.
|
||||||
|
1. `FONT_DECORATE_NONE`: None.
|
||||||
|
1. `FONT_DECORATE_UNDERLINE`: glyphs are underscored.
|
||||||
|
1. `FONT_DECORATE_STRUCKOUT`: glyphs are overstruck.
|
||||||
|
1. `FONT_DECORATE_US`: Both `FONT_DECORATE_UNDERLINE` and `FONT_DECORATE_STRUCKOUT`.
|
||||||
|
1. `FONT_DECORATE_OUTLINE`: Outline (hollow) glyphs.
|
||||||
|
1. `FONT_DECORATE_REVERSE`: Reverved for future. Glyphs have their foreground and background reversed.
|
||||||
|
* The following style are deprecated:
|
||||||
|
1. `FONT_OTHER_LCDPORTRAIT`
|
||||||
|
1. `FONT_OTHER_LCDPORTRAITKERN`
|
||||||
|
|
||||||
|
For a new app, you should use the new function `CreateLogFontEx` to
|
||||||
|
create a LOGFONT, and specify the weight and rendering method of the glyph.
|
||||||
|
|
||||||
|
For the back-compatibility, you can still use `CreateLogFont` to create a new
|
||||||
|
LOGFONT. However, `FS_WEIGHT_BOOK` will be treated `FS_WEIGHT_REGULAR` and
|
||||||
|
`FS_RENDER_GREY`, while `FS_WEIGHT_SUBPIXEL` will be treated
|
||||||
|
`FS_WEIGHT_REGULAR` and `FS_RENDER_SUBPIXEL`.
|
||||||
|
|
||||||
|
You can still use `CreateLogFontByName` to create a new LOGFONT.
|
||||||
|
But the style string in the font name changed from
|
||||||
|
|
||||||
|
<weight><slant><flipping><other><underline><struckout>
|
||||||
|
|
||||||
|
to
|
||||||
|
|
||||||
|
<weight><slant><flipping><other><decoration><rendering>
|
||||||
|
|
||||||
|
Note that `<underline>` and `<struckout>` are merged to `<decoration>`
|
||||||
|
in order to keep the style string is still 6-character long.
|
||||||
|
|
||||||
|
Consequently, if you want to use the rendering method SUPIXEL for a TTF font,
|
||||||
|
please define the logical font name in the following way:
|
||||||
|
|
||||||
|
ttf-Courier-rrncns-*-16-UTF-8
|
||||||
|
|
||||||
|
Moreover, the family name of a DEVFONT supports aliases since 3.4.0:
|
||||||
|
|
||||||
|
<fonttype>-<family[,aliase]*>-<styles>-<width>-<height>-<charset[,charset]*>
|
||||||
|
|
||||||
|
for example:
|
||||||
|
|
||||||
|
ttf-Arial,Sans Serif-rrncnn-8-16-ISO8859-1,UTF-8
|
||||||
|
ttf-courier,monospace,serif-rrncnn-8-16-ISO8859-1,UTF-8
|
||||||
|
|
||||||
|
Note that the length of one DEVFONT name can not exceed 255 bytes.
|
||||||
|
|
||||||
|
#### Changed APIs
|
||||||
|
|
||||||
|
* The fields `height` and `descent` have been removed from GLYPHINFO struct.
|
||||||
|
One should get the font metrics information by calling `GetFontMetrics` function
|
||||||
|
if you want to get the height and descent data of one font.
|
||||||
|
|
||||||
|
* More fields added for GLYPHBITMAP struct in order to return the completed
|
||||||
|
rasterized glyph bitmap information.
|
||||||
|
|
||||||
|
* `GetGlyphInfo` now can return the basic glyph type and break type of a
|
||||||
|
UNICODE character. If the glyph is an ASCII character, the old `MCHAR_TYPE`
|
||||||
|
can also be returned.
|
||||||
|
|
||||||
|
* Rename `mg_FT_LcdFilter` to `FT2LCDFilter` in order to follow MiniGUI naming
|
||||||
|
rules.
|
||||||
|
|
||||||
|
* Rename `UChar32` to `Uchar32` and `UChar16` to `Uchar16` in order to
|
||||||
|
avoid the conflict with typedef of UChar32 in 'unicode/umachine.h'.
|
||||||
|
|
||||||
|
* Redefine `Uchar32` and `Glyph32` as `Uint32` instead of `int`.
|
||||||
|
|
||||||
|
#### New APIs
|
||||||
|
|
||||||
|
* `GetGlyphsByRules` function calculates and allocates the glyph string from
|
||||||
|
a multi-byte string under the specified white space rule and transformation
|
||||||
|
rule.
|
||||||
|
|
||||||
|
* `GetGlyphsExtentPointEx` function gets the visual extent information
|
||||||
|
of a glyph string which can fit in a line with the specified maximal extent.
|
||||||
|
|
||||||
|
* `DrawGlyphStringEx` function draws a glyph string to the specific
|
||||||
|
positions of a DC.
|
||||||
|
|
||||||
|
* `CreateLogFontIndirectEx` creates a new LOGFONT by using the value of
|
||||||
|
an existed LOGFONT but with a new rotation value.
|
||||||
|
|
||||||
|
#### Others
|
||||||
|
|
||||||
|
* Support for FreeType1 removed.
|
||||||
|
|
||||||
|
You should always use FreeType2 to support vector fonts, such as TrueType
|
||||||
|
fonts (TTF), TrueType collections (TTC), OpenType fonts (OTF, both TrueType
|
||||||
|
and CFF variants), OpenType collections (OTC), and Type 1 fonts (PFA and PFB).
|
||||||
|
|
||||||
|
### Other Changes
|
||||||
|
|
||||||
|
* A new BITMAP type: `BMP_TYPE_REPLACEKEY`. When `bmType` of a BITMAP object
|
||||||
|
has this bit set, any pixel which is equal to `bmColorKey` will be replaced by
|
||||||
|
`bmColorRep`.
|
||||||
|
|
||||||
|
## Version 3.2.1
|
||||||
|
|
||||||
|
The MiniGUI development team announces the availability of MiniGUI 3.2.1.
|
||||||
|
All users of MiniGUI are recommended strongly to use this version.
|
||||||
|
Please report any bugs and incompatibilities in
|
||||||
|
|
||||||
|
https://github.com/VincentWei/minigui
|
||||||
|
|
||||||
### What's new in this version
|
### What's new in this version
|
||||||
|
|
||||||
* ENHANCEMENTS:
|
* ENHANCEMENTS:
|
||||||
- Support for RTEMS operating system.
|
|
||||||
* BUGFIXES:
|
|
||||||
- Fixed errors in makefile.ng files.
|
|
||||||
* CLEANUP:
|
|
||||||
- `README.md` for correct markdown tags.
|
|
||||||
|
|
||||||
### What's new in this version
|
|
||||||
|
|
||||||
## Version 3.2.2
|
|
||||||
|
|
||||||
The MiniGUI development team announces the availability of MiniGUI 3.2.2.
|
|
||||||
All users of MiniGUI are recommended strongly to use this version.
|
|
||||||
Please report any bugs and incompatibilities in
|
|
||||||
|
|
||||||
<https://github.com/VincentWei/minigui>
|
|
||||||
|
|
||||||
### What's new in this version
|
|
||||||
|
|
||||||
* ENHANCEMENTS:
|
|
||||||
1. New API: `SyncUpdateDC`. You can use this function to synchronize
|
|
||||||
the update rectangles of a surface to screen, if the surface
|
|
||||||
represents the shadow frame buffer of the screen.
|
|
||||||
* configure option: `--enable-syncupdate`
|
|
||||||
* macro: `_MGUSE_SYNC_UPDATE`
|
|
||||||
1. New API `UpdateInvalidClient`. You can use this function to update
|
|
||||||
the invalid client region of a window instantly.
|
|
||||||
1. New API `LoadDevFontFromIncoreData`. You can use this function to load
|
|
||||||
a device font from incore data.
|
|
||||||
1. Use different colors for the output of `_DBG_PRINTF` and `_ERR_PRINTF`.
|
|
||||||
1. Add `__mg_save_jpg` function for storing MYBITMAP as JPEG file (10km).
|
|
||||||
1. Modified logic for checking JPEG format (10km).
|
|
||||||
1. Support BIDI for UNICODE charsets and cleanup the implementation.
|
|
||||||
* New API: `GetGlyphBIDIType` to get the glyph type in BIDI.
|
|
||||||
* New DC attribute: BIDI flag.
|
|
||||||
1. Add a new key `dpi` for NEWGAL engine to define the DPI of the screen.
|
1. Add a new key `dpi` for NEWGAL engine to define the DPI of the screen.
|
||||||
If it is absent, use 96 as the default DPI.
|
If it is absent, use 96 as the default DPI.
|
||||||
1. Add an item for `GetGDCapability` to return DPI of the DC.
|
1. Add an item for `GetGDCapability` to return DPI of the DC.
|
||||||
1. New API `InitSlaveScreenEx` to specify the DPI of slave screen.
|
1. New API `InitSlaveScreenEx` to specify the DPI of slave screen.
|
||||||
Define `InitSlaveScreen` as an inline function calling `InitSlaveScreenEx`.
|
Define `InitSlaveScreen` as an inline function calling `InitSlaveScreenEx`.
|
||||||
|
1. New API: `SyncUpdateDC`. You can use this function to synchronize
|
||||||
|
the update rectangles of a surface to screen, if the surface
|
||||||
|
represents the shadow frame buffer of the screen.
|
||||||
|
* configure option: `--enable-syncupdate`
|
||||||
|
* macro: `_MGUSE_SYNC_UPDATE`
|
||||||
|
1. New API: `UpdateInvalidClient`. You can use this function to update
|
||||||
|
the invalid client region of a window instantly.
|
||||||
|
1. Use different colors for the output of `_DBG_PRINTF` and `_ERR_PRINTF`.
|
||||||
|
1. Add `__mg_save_jpg` function for storing MYBITMAP as JPEG file (@10km).
|
||||||
|
1. Modified logic for checking JPEG format (@10km).
|
||||||
|
1. Support BIDI for UNICODE charsets and cleanup the implementation.
|
||||||
|
* New API: `GetGlyphBIDIType` to get the glyph type in BIDI.
|
||||||
|
* New DC attribute: BIDI flag.
|
||||||
1. Enhance commlcd engint to support more pixel type and synchronously update.
|
1. Enhance commlcd engint to support more pixel type and synchronously update.
|
||||||
1. New USVFB IAL engine and NEWGAL engine for web display server.
|
1. New USVFB IAL engine and NEWGAL engine for web display server.
|
||||||
1. New type: `QDWORD` for a quauter of DWORD. This type is 16-bit long on
|
1. New type: `QDWORD` for a quauter of DWORD. This type is 16-bit long on
|
||||||
64-bit architecture, and 8-bit long on 32-bit.
|
64-bit architecture, and 8-bit long on 32-bit.
|
||||||
1. New macros for QDWORD:
|
1. New macros for QDWORD:
|
||||||
* `MAKEDWORD`: Make a DWROD from four QDWORDs.
|
* `MAKEDWORD`: Make a DWROD from four QDWORDs.
|
||||||
* `FIRST_QDWORD`: get the first (LSB) QDWORD from a DWORD.
|
* `FIRST_QDWORD`: get the first (LSB) QDWORD from a DWORD.
|
||||||
* `SECOND_QDWORD`: get the second (LSB) QDWORD from a DWORD.
|
* `SECOND_QDWORD`: get the second (LSB) QDWORD from a DWORD.
|
||||||
* `THIRD_QDWORD`: get the third (LSB) QDWORD from a DWORD.
|
* `THIRD_QDWORD`: get the third (LSB) QDWORD from a DWORD.
|
||||||
* `FOURTH_QDWORD`: get the fourth (LSB) QDWORD from a DWORD.
|
* `FOURTH_QDWORD`: get the fourth (LSB) QDWORD from a DWORD.
|
||||||
1. New header for CommLCD NEWGAL engine and COMM IAL engine:
|
|
||||||
`<minigui/exstubs.h>`.
|
|
||||||
|
|
||||||
* BUGFIXING:
|
* BUGFIXING:
|
||||||
1. handle `PNG_COLOR_TYPE_GRAY_ALPHA` color type of PNG files.
|
1. handle `PNG_COLOR_TYPE_GRAY_ALPHA` color type of PNG files.
|
||||||
@@ -71,8 +182,9 @@ Please report any bugs and incompatibilities in
|
|||||||
1. Skip null pixels for SUBPIXEL glyphs. This bug will always show background
|
1. Skip null pixels for SUBPIXEL glyphs. This bug will always show background
|
||||||
pixels of one SUBPIXEL glyph.
|
pixels of one SUBPIXEL glyph.
|
||||||
1. Fix the bug of wrong bounding box handling for SUBPIXEL rendering of glyph.
|
1. Fix the bug of wrong bounding box handling for SUBPIXEL rendering of glyph.
|
||||||
1. Tune cache implementation of FreeType2 font engine.
|
|
||||||
* Enable cache for rotated LOGFONT.
|
* TUNNING:
|
||||||
|
1. Tune GLYPHINFO structure and GetGlyphInfo to return BIDI glyph type.
|
||||||
|
|
||||||
## Version 3.2.0
|
## Version 3.2.0
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
Version 3.2.3 (2019/10/31)
|
Version 3.4.0 (2019/06/30)
|
||||||
|
|
||||||
This release needs the following resource packages:
|
This release needs the following resource packages:
|
||||||
|
|
||||||
* minigui-res-3.0.13.tar.gz
|
* minigui-res-3.4.0.tar.gz
|
||||||
|
|
||||||
The latest samples package is:
|
The latest samples package is:
|
||||||
|
|
||||||
* mg-samples-3.2.2.tar.gz
|
* mg-samples-3.4.0.tar.gz
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
./configure \
|
./configure \
|
||||||
--with-runmode=ths \
|
|
||||||
--disable-dblclk \
|
--disable-dblclk \
|
||||||
--disable-cursor \
|
--disable-cursor \
|
||||||
--disable-mousecalibrate \
|
--disable-mousecalibrate \
|
||||||
|
|||||||
@@ -1,44 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
RTEMS_DIR=/home/projects/movidius/m8_gui/tools/18.11.4/linux64/sparc-myriad-rtems-6.3.0
|
|
||||||
|
|
||||||
#RTEMS_GLOBAL_CFLAGS="-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -finit-priority"
|
|
||||||
|
|
||||||
rm -f config.cache config.status
|
|
||||||
|
|
||||||
CC=${RTEMS_DIR}/bin/sparc-myriad-rtems-gcc \
|
|
||||||
CFLAGS="-I${RTEMS_DIR}/sparc-myriad-rtems/include -I${RTEMS_DIR}/pnglib/include -I${RTEMS_DIR}/zlib/include" \
|
|
||||||
LDFLAGS="-L${RTEMS_DIR}/lib/gcc/sparc-myriad-rtems/6.3.0 -L${RTEMS_DIR}/pnglib/lib -L${RTEMS_DIR}/zlib/lib" \
|
|
||||||
./configure --prefix=/home/projects/movidius/m8_gui/tools/18.11.4/linux64/sparc-myriad-rtems-6.3.0/minigui \
|
|
||||||
--build=i686-linux \
|
|
||||||
--host=sparc-myriad-rtems \
|
|
||||||
--target=sparc-myriad-rtems \
|
|
||||||
--with-osname=rtems \
|
|
||||||
--with-runmode=ths \
|
|
||||||
--enable-miniguientry \
|
|
||||||
--enable-incoreres \
|
|
||||||
--disable-cursor \
|
|
||||||
--disable-videofbcon \
|
|
||||||
--disable-qvfbial \
|
|
||||||
--disable-vbfsupport \
|
|
||||||
--disable-qpfsupport \
|
|
||||||
--disable-latin9support \
|
|
||||||
--enable-gbksupport \
|
|
||||||
--disable-big5support \
|
|
||||||
--enable-unicodesupport \
|
|
||||||
--disable-savebitmap \
|
|
||||||
--disable-jpgsupport \
|
|
||||||
--disable-pngsupport \
|
|
||||||
--disable-aboutdlg \
|
|
||||||
--enable-adv2dapi \
|
|
||||||
--enable-videodummy \
|
|
||||||
--disable-consoleial \
|
|
||||||
--disable-videopcxvfb \
|
|
||||||
--with-targetname=external \
|
|
||||||
--enable-pngsupport \
|
|
||||||
--disable-develmode \
|
|
||||||
--disable-detaildebug \
|
|
||||||
--disable-tracemsg \
|
|
||||||
--enable-videocommlcd \
|
|
||||||
--enable-commial \
|
|
||||||
--disable-splash
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
# 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`
|
|
||||||
LDFLAGS+=
|
|
||||||
##################################################
|
|
||||||
|
|
||||||
+62
-54
@@ -1,6 +1,6 @@
|
|||||||
dnl Process this file with autoconf to produce a configure script.
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
AC_PREREQ(2.60)
|
AC_PREREQ(2.60)
|
||||||
AC_INIT(libminigui, 3.2.3)
|
AC_INIT(libminigui, 3.4.0)
|
||||||
AC_CONFIG_SRCDIR(src/main/main.c)
|
AC_CONFIG_SRCDIR(src/main/main.c)
|
||||||
|
|
||||||
dnl Set various version strings - taken gratefully from the SDL sources
|
dnl Set various version strings - taken gratefully from the SDL sources
|
||||||
@@ -15,10 +15,10 @@ dnl Set various version strings - taken gratefully from the SDL sources
|
|||||||
# set MINIGUI_BINARY_AGE and MINIGUI_INTERFACE_AGE to 0.
|
# set MINIGUI_BINARY_AGE and MINIGUI_INTERFACE_AGE to 0.
|
||||||
#
|
#
|
||||||
MINIGUI_MAJOR_VERSION=3
|
MINIGUI_MAJOR_VERSION=3
|
||||||
MINIGUI_MINOR_VERSION=2
|
MINIGUI_MINOR_VERSION=4
|
||||||
MINIGUI_MICRO_VERSION=3
|
MINIGUI_MICRO_VERSION=0
|
||||||
MINIGUI_INTERFACE_AGE=0
|
MINIGUI_INTERFACE_AGE=0
|
||||||
MINIGUI_BINARY_AGE=3
|
MINIGUI_BINARY_AGE=0
|
||||||
MINIGUI_VERSION=$MINIGUI_MAJOR_VERSION.$MINIGUI_MINOR_VERSION.$MINIGUI_MICRO_VERSION
|
MINIGUI_VERSION=$MINIGUI_MAJOR_VERSION.$MINIGUI_MINOR_VERSION.$MINIGUI_MICRO_VERSION
|
||||||
|
|
||||||
AC_SUBST(MINIGUI_MAJOR_VERSION)
|
AC_SUBST(MINIGUI_MAJOR_VERSION)
|
||||||
@@ -62,7 +62,7 @@ dnl ========================================================================
|
|||||||
dnl Checks for header files.
|
dnl Checks for header files.
|
||||||
AC_HEADER_STDC
|
AC_HEADER_STDC
|
||||||
AC_HEADER_DIRENT
|
AC_HEADER_DIRENT
|
||||||
AC_CHECK_HEADERS(limits.h math.h locale.h unistd.h termio.h sys/types.h sys/time.h)
|
AC_CHECK_HEADERS(sys/types.h sys/time.h termio.h unistd.h math.h locale.h)
|
||||||
|
|
||||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||||
AC_C_CONST
|
AC_C_CONST
|
||||||
@@ -76,7 +76,7 @@ AC_FUNC_ALLOCA
|
|||||||
AC_FUNC_MEMCMP
|
AC_FUNC_MEMCMP
|
||||||
AC_FUNC_MMAP
|
AC_FUNC_MMAP
|
||||||
AC_FUNC_VPRINTF
|
AC_FUNC_VPRINTF
|
||||||
AC_CHECK_FUNCS(time mktime localtime strdup strcasecmp strncasecmp strerror setlocale)
|
AC_CHECK_FUNCS(time mktime localtime strdup strcasecmp strncasecmp strerror setlocale getpt)
|
||||||
|
|
||||||
dnl ========================================================================
|
dnl ========================================================================
|
||||||
dnl User selectable options
|
dnl User selectable options
|
||||||
@@ -89,6 +89,8 @@ message_string="no"
|
|||||||
|
|
||||||
runtime_mode="procs"
|
runtime_mode="procs"
|
||||||
|
|
||||||
|
stand_alone="no"
|
||||||
|
|
||||||
incore_res="no"
|
incore_res="no"
|
||||||
use_miniguientry="no"
|
use_miniguientry="no"
|
||||||
fixed_math="yes"
|
fixed_math="yes"
|
||||||
@@ -302,6 +304,10 @@ AC_ARG_WITH(runmode,
|
|||||||
[ --with-runmode=procs/ths/sa the MiniGUI runtime mode <default=procs>],
|
[ --with-runmode=procs/ths/sa the MiniGUI runtime mode <default=procs>],
|
||||||
runtime_mode=$withval)
|
runtime_mode=$withval)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(standalone,
|
||||||
|
[ --enable-standalone build MiniGUI-Standalone version <default=no>],
|
||||||
|
stand_alone=$enableval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(incoreres,
|
AC_ARG_ENABLE(incoreres,
|
||||||
[ --enable-incoreres use incore resource instead file IO to initialize MiniGUI <default=no>],
|
[ --enable-incoreres use incore resource instead file IO to initialize MiniGUI <default=no>],
|
||||||
incore_res=$enableval)
|
incore_res=$enableval)
|
||||||
@@ -383,7 +389,7 @@ AC_ARG_ENABLE(netial,
|
|||||||
build_net_ial_engine=$enableval)
|
build_net_ial_engine=$enableval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(cisco_touchpad_ial,
|
AC_ARG_ENABLE(cisco_touchpad_ial,
|
||||||
[ --enable-cisco_touchpad_ial build the IAL engine for Cisco Touchpad <default=no>],
|
[ --enable-cisco_touchpad_ial build the IAL engine for Cisco Touchpad <default=no>],
|
||||||
build_cisco_touchpad_ial_engine=$enableval)
|
build_cisco_touchpad_ial_engine=$enableval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(mstar_ial,
|
AC_ARG_ENABLE(mstar_ial,
|
||||||
@@ -531,7 +537,7 @@ AC_ARG_ENABLE(sefsupport,
|
|||||||
build_sef_support=$enableval)
|
build_sef_support=$enableval)
|
||||||
|
|
||||||
AC_ARG_WITH(ttfsupport,
|
AC_ARG_WITH(ttfsupport,
|
||||||
[ --with-ttfsupport=ft1/ft2/none How to support TrueType font (FreeType 1/FreeType 2/None) <default=none>],
|
[ --with-ttfsupport=ft2/none How to support TrueType font (FreeType 2 or None) <default=ft2>],
|
||||||
use_ttf_lib=$withval)
|
use_ttf_lib=$withval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(ttfcache,
|
AC_ARG_ENABLE(ttfcache,
|
||||||
@@ -726,8 +732,9 @@ AC_ARG_ENABLE(ctrlbidisledit,
|
|||||||
[ --enable-ctrlbidisledit include Single-Line BIDI EDIT control <default=no>],
|
[ --enable-ctrlbidisledit include Single-Line BIDI EDIT control <default=no>],
|
||||||
build_ctrl_bidisledit=$enableval)
|
build_ctrl_bidisledit=$enableval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(ctrlnewtextedit,
|
dnl enable new textedit
|
||||||
[ --disable-ctrlnewtextedit include the new implementation of TEXTEDIT control <default=yes>],
|
AC_ARG_ENABLE(newtextedit,
|
||||||
|
[ --enable-ctrlnewtextedit include the new implementation of TEXTEDIT control <default=yes>],
|
||||||
build_ctrl_textedit_new=$enableval)
|
build_ctrl_textedit_new=$enableval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(ctrllistbox,
|
AC_ARG_ENABLE(ctrllistbox,
|
||||||
@@ -885,21 +892,21 @@ CheckXVFB()
|
|||||||
[ --enable-videortosxvfb include RTOS Virtual FrameBuffer NEWGAL engine <default=no>. Please disable pcxvfb to enable rtosxvfb],
|
[ --enable-videortosxvfb include RTOS Virtual FrameBuffer NEWGAL engine <default=no>. Please disable pcxvfb to enable rtosxvfb],
|
||||||
enable_video_rtos_xvfb=$enableval)
|
enable_video_rtos_xvfb=$enableval)
|
||||||
|
|
||||||
if test "x$enable_video_pc_xvfb" = "xyes"; then
|
if test "x$enable_video_pc_xvfb" = "xyes"; then
|
||||||
dnl CheckPCXVFB
|
dnl CheckPCXVFB
|
||||||
AC_DEFINE(_MGGAL_PCXVFB, 1,
|
AC_DEFINE(_MGGAL_PCXVFB, 1,
|
||||||
[Define if include PC Virtual FrameBuffer NEWGAL engine])
|
[Define if include PC Virtual FrameBuffer NEWGAL engine])
|
||||||
VIDEO_SUBDIRS="$VIDEO_SUBDIRS pcxvfb"
|
VIDEO_SUBDIRS="$VIDEO_SUBDIRS pcxvfb"
|
||||||
VIDEO_DRIVERS="$VIDEO_DRIVERS pcxvfb/libvideo_pcxvfb.la"
|
VIDEO_DRIVERS="$VIDEO_DRIVERS pcxvfb/libvideo_pcxvfb.la"
|
||||||
else
|
else
|
||||||
if test "x$enable_video_rtos_xvfb" = "xyes"; then
|
if test "x$enable_video_rtos_xvfb" = "xyes"; then
|
||||||
dnl CheckRTOSXVFB
|
dnl CheckRTOSXVFB
|
||||||
AC_DEFINE(_MGGAL_RTOSXVFB, 1,
|
AC_DEFINE(_MGGAL_RTOSXVFB, 1,
|
||||||
[Define if include RTOS Virtual FrameBuffer NEWGAL engine])
|
[Define if include RTOS Virtual FrameBuffer NEWGAL engine])
|
||||||
VIDEO_SUBDIRS="$VIDEO_SUBDIRS rtos_xvfb"
|
VIDEO_SUBDIRS="$VIDEO_SUBDIRS rtos_xvfb"
|
||||||
VIDEO_DRIVERS="$VIDEO_DRIVERS rtos_xvfb/libvideo_rtos_xvfb.la"
|
VIDEO_DRIVERS="$VIDEO_DRIVERS rtos_xvfb/libvideo_rtos_xvfb.la"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1397,18 +1404,12 @@ case "$with_libsuffix" in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
AC_ARG_WITH(osname,
|
AC_ARG_WITH(osname,
|
||||||
[ --with-osname=linux/uclinux/ecos/ucos2/swlinux/vxworks/win32/darwin/threadx/cygwin/nucleus/ose/psos/rtems])
|
[ --with-osname=linux/uclinux/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 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.
|
dnl for other OSes, you should use makefile.ng or else.
|
||||||
|
|
||||||
case "$with_osname" in
|
case "$with_osname" in
|
||||||
rtems)
|
|
||||||
AC_DEFINE(__RTEMS__, 1,
|
|
||||||
[Define if compile for rtems])
|
|
||||||
AC_DEFINE(__NOUNIX__, 1,
|
|
||||||
[Define if compile for non-UNIX like OS])
|
|
||||||
;;
|
|
||||||
uclinux)
|
uclinux)
|
||||||
AC_DEFINE(__uClinux__, 1,
|
AC_DEFINE(__uClinux__, 1,
|
||||||
[Define if compile for uClinux])
|
[Define if compile for uClinux])
|
||||||
@@ -1512,17 +1513,13 @@ AC_ARG_WITH(targetname,
|
|||||||
S3C6410/S3C2440/S3C2410/hi3560a Define the target board name])
|
S3C6410/S3C2440/S3C2410/hi3560a Define the target board name])
|
||||||
|
|
||||||
case "$with_targetname" in
|
case "$with_targetname" in
|
||||||
external)
|
|
||||||
AC_DEFINE(__TARGET_EXTERNAL__, 1,
|
|
||||||
[Define for targets which use GAL and/or IAL engines and define the interfaces externally])
|
|
||||||
;;
|
|
||||||
fmsoft)
|
fmsoft)
|
||||||
AC_DEFINE(__TARGET_FMSOFT__, 1,
|
AC_DEFINE(__TARGET_FMSOFT__, 1,
|
||||||
[Define for FMSoft internal use])
|
[Define for FMSoft internal use])
|
||||||
;;
|
;;
|
||||||
mstudio)
|
mstudio)
|
||||||
AC_DEFINE(__TARGET_MSTUDIO__, 1,
|
AC_DEFINE(__TARGET_MSTUDIO__, 1,
|
||||||
[Define for FMSoft miniStudio])
|
[Define for FMSoft miniStudio])
|
||||||
;;
|
;;
|
||||||
stb810)
|
stb810)
|
||||||
AC_DEFINE(__TARGET_STB810__, 1,
|
AC_DEFINE(__TARGET_STB810__, 1,
|
||||||
@@ -1550,11 +1547,11 @@ case "$with_targetname" in
|
|||||||
;;
|
;;
|
||||||
bfin)
|
bfin)
|
||||||
AC_DEFINE(__TARGET_BLACKFIN__, 1,
|
AC_DEFINE(__TARGET_BLACKFIN__, 1,
|
||||||
[Define for Blackfin run uClinux])
|
[Define for Blackfin run uClinux])
|
||||||
;;
|
;;
|
||||||
c33l05)
|
c33l05)
|
||||||
AC_DEFINE(__TARGET_C33L05__, 1,
|
AC_DEFINE(__TARGET_C33L05__, 1,
|
||||||
[Define for EPSON C33L05 (axLinux)])
|
[Define for EPSON C33L05 (axLinux)])
|
||||||
;;
|
;;
|
||||||
S3C6410)
|
S3C6410)
|
||||||
CFLAGS="$CFLAGS -D_WITH_TARGET_S3C6410"
|
CFLAGS="$CFLAGS -D_WITH_TARGET_S3C6410"
|
||||||
@@ -1981,17 +1978,20 @@ fi
|
|||||||
|
|
||||||
dnl Check FreeType lib
|
dnl Check FreeType lib
|
||||||
case "$use_ttf_lib" in
|
case "$use_ttf_lib" in
|
||||||
|
ft2)
|
||||||
|
dnl Check for FreeType2 library
|
||||||
|
AC_CHECK_LIB(freetype, FT_Library_Version,
|
||||||
|
DEP_LIBS="$DEP_LIBS -lfreetype",
|
||||||
|
use_ttf_lib="none")
|
||||||
|
;;
|
||||||
ft1)
|
ft1)
|
||||||
dnl Check for FreeType1 library
|
dnl Check for FreeType1 library
|
||||||
AC_CHECK_LIB(ttf, TT_FreeType_Version,
|
AC_CHECK_LIB(ttf, TT_FreeType_Version,
|
||||||
DEP_LIBS="$DEP_LIBS -lttf",
|
DEP_LIBS="$DEP_LIBS -lttf",
|
||||||
use_ttf_lib="none")
|
use_ttf_lib="none")
|
||||||
;;
|
;;
|
||||||
ft2)
|
*)
|
||||||
dnl Check for FreeType2 library
|
use_ttf_lib="none"
|
||||||
AC_CHECK_LIB(freetype, FT_Library_Version,
|
|
||||||
DEP_LIBS="$DEP_LIBS -lfreetype",
|
|
||||||
use_ttf_lib="none")
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
@@ -2003,7 +2003,7 @@ case "$use_ttf_lib" in
|
|||||||
[Define if include ttf cache])
|
[Define if include ttf cache])
|
||||||
|
|
||||||
AC_ARG_WITH(ttfcachesize,
|
AC_ARG_WITH(ttfcachesize,
|
||||||
[ --with-ttfcachesize=[64/128/256/512/1024]])
|
[ --with-ttfcachesize=[64/128/256/512/1024/2048]])
|
||||||
|
|
||||||
case "$with_ttfcachesize" in
|
case "$with_ttfcachesize" in
|
||||||
64)
|
64)
|
||||||
@@ -2026,30 +2026,38 @@ case "$use_ttf_lib" in
|
|||||||
AC_DEFINE(_MGTTF_CACHE_SIZE, 1024,
|
AC_DEFINE(_MGTTF_CACHE_SIZE, 1024,
|
||||||
[Define if compile max ttf cahce size for 1024k])
|
[Define if compile max ttf cahce size for 1024k])
|
||||||
;;
|
;;
|
||||||
|
2048)
|
||||||
|
AC_DEFINE(_MGTTF_CACHE_SIZE, 2048,
|
||||||
|
[Define if compile max ttf cahce size for 2048k])
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
AC_DEFINE(_MGTTF_CACHE_SIZE, 256,
|
AC_DEFINE(_MGTTF_CACHE_SIZE, 1024,
|
||||||
[Define if compile max ttf cahce size for 256k])
|
[Define if compile max ttf cahce size for 1024k (default value)])
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
AC_ARG_WITH(ttfcachenum,
|
AC_ARG_WITH(ttfcachenum,
|
||||||
[ --with-mttfcachenum=[10/20/40]])
|
[ --with-mttfcachenum=[16/32/64/128]])
|
||||||
case "$with_mttfcachenum" in
|
case "$with_mttfcachenum" in
|
||||||
10)
|
16)
|
||||||
AC_DEFINE(_MGMAX_TTF_CACHE, 10,
|
AC_DEFINE(_MGMAX_TTF_CACHE, 16,
|
||||||
[Define if compile max ttf cahce number for 10])
|
[Define if compile max ttf cahce number for 16])
|
||||||
;;
|
;;
|
||||||
20)
|
32)
|
||||||
AC_DEFINE(_MGMAX_TTF_CACHE, 20,
|
AC_DEFINE(_MGMAX_TTF_CACHE, 32,
|
||||||
[Define if compile max ttf cahce number for 20])
|
[Define if compile max ttf cahce number for 32])
|
||||||
;;
|
;;
|
||||||
40)
|
64)
|
||||||
AC_DEFINE(_MGMAX_TTF_CACHE, 40,
|
AC_DEFINE(_MGMAX_TTF_CACHE, 64,
|
||||||
[Define if compile max ttf cahce number for 40])
|
[Define if compile max ttf cahce number for 64])
|
||||||
|
;;
|
||||||
|
128)
|
||||||
|
AC_DEFINE(_MGMAX_TTF_CACHE, 128,
|
||||||
|
[Define if compile max ttf cahce number for 128])
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
AC_DEFINE(_MGMAX_TTF_CACHE, 10,
|
AC_DEFINE(_MGMAX_TTF_CACHE, 32,
|
||||||
[Define if compile max ttf cahce number for 10 (default value)])
|
[Define if compile max ttf cahce number for 32 (default value)])
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
@@ -2433,8 +2441,8 @@ fi
|
|||||||
if test "x$build_ctrl_textedit_new" = "xyes"; then
|
if test "x$build_ctrl_textedit_new" = "xyes"; then
|
||||||
AC_DEFINE(_MGCTRL_TEXTEDIT, 1,
|
AC_DEFINE(_MGCTRL_TEXTEDIT, 1,
|
||||||
[Define if include TEXTEDIT control])
|
[Define if include TEXTEDIT control])
|
||||||
AC_DEFINE(_MGCTRL_TEXTEDIT_USE_NEW_IMPL, 1,
|
AC_DEFINE(_MGCTRL_TEXTEDIT_USE_NEW_IMPL, 1,
|
||||||
[Define if use new implementation of TEXTEDIT control])
|
[Define if use new implementation of TEXTEDIT control])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$build_splash" = "xyes"; then
|
if test "x$build_splash" = "xyes"; then
|
||||||
|
|||||||
@@ -239,9 +239,9 @@ int GUIAPI GetFirstWord (PLOGFONT log_font, const char* mstr, int len,
|
|||||||
496 static int euckr_is_this_charset (const unsigned char* charset)
|
496 static int euckr_is_this_charset (const unsigned char* charset)
|
||||||
497 {
|
497 {
|
||||||
498 int i;
|
498 int i;
|
||||||
499 char name [LEN_FONT_NAME + 1];
|
499 char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||||
500
|
500
|
||||||
501 for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
501 for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||||
502 if (charset [i] == '\0')
|
502 if (charset [i] == '\0')
|
||||||
503 break;
|
503 break;
|
||||||
504 name [i] = toupper (charset [i]);
|
504 name [i] = toupper (charset [i]);
|
||||||
@@ -388,9 +388,9 @@ int GUIAPI GetFirstWord (PLOGFONT log_font, const char* mstr, int len,
|
|||||||
|
|
||||||
<table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td> <pre>
|
<table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td> <pre>
|
||||||
228 typedef struct _LOGFONT {
|
228 typedef struct _LOGFONT {
|
||||||
229 char type [LEN_FONT_NAME + 1];
|
229 char type [LEN_LOGFONT_NAME_FIELD + 1];
|
||||||
230 char family [LEN_FONT_NAME + 1];
|
230 char family [LEN_LOGFONT_NAME_FIELD + 1];
|
||||||
231 char charset [LEN_FONT_NAME + 1];
|
231 char charset [LEN_LOGFONT_NAME_FIELD + 1];
|
||||||
232 DWORD style;
|
232 DWORD style;
|
||||||
233 int size;
|
233 int size;
|
||||||
234 int rotation;
|
234 int rotation;
|
||||||
|
|||||||
+12
-12
@@ -1,14 +1,14 @@
|
|||||||
static LOGFONT *logfont, *logfontgb12, *logfontbig24;
|
static LOGFONT *logfont, *logfontgb12, *logfontbig24;
|
||||||
|
|
||||||
logfont = CreateLogFont (NULL, "SansSerif", "ISO8859-1",
|
logfont = CreateLogFont (NULL, "SansSerif", "ISO8859-1",
|
||||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_SETWIDTH_NORMAL,
|
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_FLIP_NONE,
|
||||||
FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_LINE,
|
FONT_OTHER_NIL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_LINE,
|
||||||
16, 0);
|
16, 0);
|
||||||
logfontgb12 = CreateLogFont (NULL, "song", "GB2312",
|
logfontgb12 = CreateLogFont (NULL, "song", "GB2312",
|
||||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,
|
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
|
||||||
FONT_SPACING_CHARCELL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_LINE,
|
FONT_OTHER_NIL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_LINE,
|
||||||
12, 0);
|
12, 0);
|
||||||
logfontbig24 = CreateLogFont (NULL, "ming", "BIG5",
|
logfontbig24 = CreateLogFont (NULL, "ming", "BIG5",
|
||||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,
|
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
|
||||||
FONT_SPACING_CHARCELL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_NONE,
|
FONT_OTHER_NIL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_NONE,
|
||||||
24, 0);
|
24, 0);
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
static LOGFONT *logfont, *logfontgb12, *logfontttf;
|
||||||
|
|
||||||
|
logfont = CreateLogFontEx (NULL, "SansSerif", "ISO8859-1",
|
||||||
|
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_FLIP_NONE,
|
||||||
|
FONT_OTHER_NIL, FONT_DECORATE_NONE, FONT_RENDER_MONO,
|
||||||
|
16, 0);
|
||||||
|
logfontgb12 = CreateLogFontEx (NULL, "song", "GB2312",
|
||||||
|
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
|
||||||
|
FONT_OTHER_NIL, FONT_DECORATE_NONE, FONT_RENDER_MONO,
|
||||||
|
12, 0);
|
||||||
|
logfontttf = CreateLogFontEx ("ttf", "Courier", "UTF-8",
|
||||||
|
FONT_WEIGHT_BLACK, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
|
||||||
|
FS_OTHER_LCDPORTRAIT, FONT_DECORATE_NONE, FONT_RENDER_SUBPIXEL,
|
||||||
|
24, 0);
|
||||||
+2
-2
@@ -11,8 +11,8 @@ COMM_HDRS = \
|
|||||||
common.h endianrw.h fixedmath.h \
|
common.h endianrw.h fixedmath.h \
|
||||||
minigui.h gdi.h window.h control.h \
|
minigui.h gdi.h window.h control.h \
|
||||||
own_malloc.h own_stdio.h \
|
own_malloc.h own_stdio.h \
|
||||||
xvfb.h customial.h exstubs.h \
|
xvfb.h customial.h \
|
||||||
dti.c
|
dti.c
|
||||||
|
|
||||||
UCOSII_HDRS=ucos2_pthread.h ucos2_semaphore.h
|
UCOSII_HDRS=ucos2_pthread.h ucos2_semaphore.h
|
||||||
THREADX_HDRS=threadx_pthread.h threadx_semaphore.h
|
THREADX_HDRS=threadx_pthread.h threadx_semaphore.h
|
||||||
|
|||||||
+84
-71
@@ -2,13 +2,13 @@
|
|||||||
* \file common.h
|
* \file common.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
* \date 2002/01/06
|
* \date 2002/01/06
|
||||||
*
|
*
|
||||||
* \brief This file includes macro definitions and typedefs that commonly used
|
* \brief This file includes macro definitions and typedefs that commonly used
|
||||||
* by MiniGUI.
|
* by MiniGUI.
|
||||||
*
|
*
|
||||||
\verbatim
|
\verbatim
|
||||||
|
|
||||||
This file is part of MiniGUI, a mature cross-platform windowing
|
This file is part of MiniGUI, a mature cross-platform windowing
|
||||||
and Graphics User Interface (GUI) support system for embedded systems
|
and Graphics User Interface (GUI) support system for embedded systems
|
||||||
and smart IoT devices.
|
and smart IoT devices.
|
||||||
|
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
@@ -46,10 +46,10 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: common.h 13674 2010-12-06 06:45:01Z wanzheng $
|
* $Id: common.h 13674 2010-12-06 06:45:01Z wanzheng $
|
||||||
*
|
*
|
||||||
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
|
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
|
||||||
* pSOS, ThreadX, NuCleus, OSE, and Win32.
|
* pSOS, ThreadX, NuCleus, OSE, and Win32.
|
||||||
*
|
*
|
||||||
* The definitions of some data types and byte order macros
|
* The definitions of some data types and byte order macros
|
||||||
* borrowed from LGPL'ed SDL by Sam Lantinga.
|
* borrowed from LGPL'ed SDL by Sam Lantinga.
|
||||||
*
|
*
|
||||||
* Fix point math routines come from Allegro (a gift software)
|
* Fix point math routines come from Allegro (a gift software)
|
||||||
@@ -109,11 +109,11 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def _VERSION_CODE(major, minor, micro)
|
* \def _VERSION_CODE(major, minor, micro)
|
||||||
* \brief A macro that returns the version code from \a major, \a minor
|
* \brief A macro that returns the version code from \a major, \a minor
|
||||||
* and \a micro version number.
|
* and \a micro version number.
|
||||||
*
|
*
|
||||||
* MiniGUI uses this macro to evaluate the version code of current MiniGUI
|
* MiniGUI uses this macro to evaluate the version code of current MiniGUI
|
||||||
* library installed in your system, and define it to _MINIGUI_VERSION_CODE.
|
* library installed in your system, and define it to _MINIGUI_VERSION_CODE.
|
||||||
*
|
*
|
||||||
* \sa _MINIGUI_VERSION_CODE
|
* \sa _MINIGUI_VERSION_CODE
|
||||||
*/
|
*/
|
||||||
@@ -262,8 +262,7 @@ MGUI_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8);
|
|||||||
*/
|
*/
|
||||||
#if defined(__i386__) || defined(__ia64__) || defined(__x86_64__) || defined(__amd64) || \
|
#if defined(__i386__) || defined(__ia64__) || defined(__x86_64__) || defined(__amd64) || \
|
||||||
(defined(__alpha__) || defined(__alpha)) || \
|
(defined(__alpha__) || defined(__alpha)) || \
|
||||||
defined(__arm__) || defined(__aarch64__) || \
|
defined(__arm__) || \
|
||||||
defined(__riscv) || \
|
|
||||||
(defined(__CC_ARM) && !defined(__BIG_ENDIAN)) || \
|
(defined(__CC_ARM) && !defined(__BIG_ENDIAN)) || \
|
||||||
(defined(__mips__) && defined(__MIPSEL__)) || \
|
(defined(__mips__) && defined(__MIPSEL__)) || \
|
||||||
defined(__LITTLE_ENDIAN__) || \
|
defined(__LITTLE_ENDIAN__) || \
|
||||||
@@ -334,7 +333,7 @@ typedef int BOOL;
|
|||||||
# if defined(__MINIGUI_LIB__)
|
# if defined(__MINIGUI_LIB__)
|
||||||
# define MG_EXPORT __declspec(dllexport)
|
# define MG_EXPORT __declspec(dllexport)
|
||||||
# else
|
# else
|
||||||
# define MG_EXPORT __declspec(dllimport)
|
# define MG_EXPORT __declspec(dllimport)
|
||||||
# endif
|
# endif
|
||||||
#else
|
#else
|
||||||
# define MG_EXPORT
|
# define MG_EXPORT
|
||||||
@@ -464,7 +463,7 @@ typedef signed char SBYTE;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \var WORD_HPTR
|
* \var WORD_HPTR
|
||||||
* \brief An unsigned int (word) type in half pointer precision.
|
* \brief An unsigned int (word) type in half pointer precision.
|
||||||
*/
|
*/
|
||||||
#if defined(_WIN64)
|
#if defined(_WIN64)
|
||||||
typedef unsigned int WORD_HPTR;
|
typedef unsigned int WORD_HPTR;
|
||||||
@@ -476,7 +475,7 @@ typedef unsigned short WORD_HPTR;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \var SWORD_HPTR
|
* \var SWORD_HPTR
|
||||||
* \brief An signed int type in half pointer precision.
|
* \brief An signed int type in half pointer precision.
|
||||||
*/
|
*/
|
||||||
#if defined(_WIN64)
|
#if defined(_WIN64)
|
||||||
typedef signed int SWORD_HPTR;
|
typedef signed int SWORD_HPTR;
|
||||||
@@ -487,13 +486,13 @@ typedef signed short SWORD_HPTR;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \var WORD
|
* \var WORD
|
||||||
* \brief A type definition for an unsigned integer (word).
|
* \brief A type definition for an unsigned integer (word).
|
||||||
*/
|
*/
|
||||||
typedef WORD_HPTR WORD;
|
typedef WORD_HPTR WORD;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \var SWORD
|
* \var SWORD
|
||||||
* \brief A type definition for a signed integer.
|
* \brief A type definition for a signed integer.
|
||||||
*/
|
*/
|
||||||
typedef SWORD_HPTR SWORD;
|
typedef SWORD_HPTR SWORD;
|
||||||
@@ -512,7 +511,7 @@ typedef signed short SWORD16;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \var LONG_PTR
|
* \var LONG_PTR
|
||||||
* \brief A signed long type for pointer precision.
|
* \brief A signed long type for pointer precision.
|
||||||
*/
|
*/
|
||||||
#if defined(_WIN64)
|
#if defined(_WIN64)
|
||||||
typedef __int64 LONG_PTR;
|
typedef __int64 LONG_PTR;
|
||||||
@@ -536,9 +535,9 @@ typedef LONG_PTR LRESULT;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \var DWORD_PTR
|
* \var DWORD_PTR
|
||||||
* \brief An unsigned long type for pointer precision.
|
* \brief An unsigned long type for pointer precision.
|
||||||
*
|
*
|
||||||
* Commonly used for general 32-bit parameters that have been extended
|
* Commonly used for general 32-bit parameters that have been extended
|
||||||
* to 64 bits in 64-bit platform.
|
* to 64 bits in 64-bit platform.
|
||||||
*/
|
*/
|
||||||
#if defined(_WIN64)
|
#if defined(_WIN64)
|
||||||
@@ -563,9 +562,9 @@ typedef unsigned int DWORD32;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \var SDWORD_PTR
|
* \var SDWORD_PTR
|
||||||
* \brief A signed long type for pointer precision.
|
* \brief A signed long type for pointer precision.
|
||||||
*
|
*
|
||||||
* Commonly used for general 32-bit parameters that have been extended
|
* Commonly used for general 32-bit parameters that have been extended
|
||||||
* to 64 bits in 64-bit platform.
|
* to 64 bits in 64-bit platform.
|
||||||
*/
|
*/
|
||||||
#if defined(_WIN64)
|
#if defined(_WIN64)
|
||||||
@@ -695,6 +694,20 @@ typedef UINT_PTR LPARAM;
|
|||||||
*/
|
*/
|
||||||
#define MAKEWORD16(low, high) ((WORD16)(((BYTE)(low)) | (((WORD16)((BYTE)(high))) << 8)))
|
#define MAKEWORD16(low, high) ((WORD16)(((BYTE)(low)) | (((WORD16)((BYTE)(high))) << 8)))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \def MAKEWORD32(first, second, third, fourth)
|
||||||
|
* \brief Makes a WORD32 value with four bytes.
|
||||||
|
*
|
||||||
|
* \sa MAKEWORD16, FIRSTBYTE, SECONDBYTE, THIRDBYTE, FOURTHBYTE
|
||||||
|
*/
|
||||||
|
#define MAKEDWORD32(first, second, third, fourth) \
|
||||||
|
((DWORD32)( \
|
||||||
|
((BYTE)(first)) | \
|
||||||
|
(((DWORD32)((BYTE)(second))) << 8) | \
|
||||||
|
(((DWORD32)((BYTE)(third))) << 16) | \
|
||||||
|
(((DWORD32)((BYTE)(fourth))) << 24) \
|
||||||
|
))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def MAKEWPARAM(first, second, third, fourth)
|
* \def MAKEWPARAM(first, second, third, fourth)
|
||||||
* \brief Makes a WPARAM value with four bytes.
|
* \brief Makes a WPARAM value with four bytes.
|
||||||
@@ -830,7 +843,7 @@ typedef DWORD32 RGBCOLOR;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def MakeRGBA(r, g, b, a)
|
* \def MakeRGBA(r, g, b, a)
|
||||||
* \brief Makes a RGBA triple value from red \a r, green \a g,
|
* \brief Makes a RGBA triple value from red \a r, green \a g,
|
||||||
* blue \a b and alpha \a components.
|
* blue \a b and alpha \a components.
|
||||||
*
|
*
|
||||||
* \note The red, green, blue and alpha components are all ranged from 0 to 255,
|
* \note The red, green, blue and alpha components are all ranged from 0 to 255,
|
||||||
@@ -954,7 +967,7 @@ typedef struct _RGB
|
|||||||
*/
|
*/
|
||||||
BYTE b;
|
BYTE b;
|
||||||
/**
|
/**
|
||||||
* Reserved for alignment, maybe used for the alpha component of a RGB triple.
|
* Reserved for alignment, maybe used for the alpha component of a RGB triple.
|
||||||
*/
|
*/
|
||||||
BYTE a;
|
BYTE a;
|
||||||
} RGB;
|
} RGB;
|
||||||
@@ -963,7 +976,7 @@ typedef struct _RGB
|
|||||||
* \var typedef RGB* PRGB
|
* \var typedef RGB* PRGB
|
||||||
* \brief Data type of the pointer to a RGB.
|
* \brief Data type of the pointer to a RGB.
|
||||||
*
|
*
|
||||||
* \sa RGB
|
* \sa RGB
|
||||||
*/
|
*/
|
||||||
typedef RGB* PRGB;
|
typedef RGB* PRGB;
|
||||||
|
|
||||||
@@ -1030,7 +1043,7 @@ typedef signed int gal_sint;
|
|||||||
typedef unsigned int gal_uint;
|
typedef unsigned int gal_uint;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \var typedef Uint32 gal_pixel
|
* \var typedef Uint32 gal_pixel
|
||||||
* \brief Data type of pixel value
|
* \brief Data type of pixel value
|
||||||
*/
|
*/
|
||||||
typedef Uint32 gal_pixel;
|
typedef Uint32 gal_pixel;
|
||||||
@@ -1088,7 +1101,7 @@ typedef struct _GAL_Palette
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* A rectangle defined by upper-left coordinates and width/height.
|
* A rectangle defined by upper-left coordinates and width/height.
|
||||||
* \sa RECT
|
* \sa RECT
|
||||||
*/
|
*/
|
||||||
typedef struct _GAL_Rect {
|
typedef struct _GAL_Rect {
|
||||||
/**
|
/**
|
||||||
@@ -1114,11 +1127,11 @@ typedef struct _GAL_Rect {
|
|||||||
*
|
*
|
||||||
* The number of MiniGUI keys is defined to 255 by default. This means that
|
* The number of MiniGUI keys is defined to 255 by default. This means that
|
||||||
* MiniGUI can destinguish 255 different keys with each has an unique scan code.
|
* MiniGUI can destinguish 255 different keys with each has an unique scan code.
|
||||||
* The scan codes below 129 are defined for PC keyboard by default.
|
* The scan codes below 129 are defined for PC keyboard by default.
|
||||||
* If your system has a large amount of keys, you can define the scan code of
|
* If your system has a large amount of keys, you can define the scan code of
|
||||||
* keys ranged from 1 to 255 in your IAL engine. And your application will
|
* keys ranged from 1 to 255 in your IAL engine. And your application will
|
||||||
* receive a MSG_KEYDOWN and MSG_KEYUP messages when a key pressed and
|
* receive a MSG_KEYDOWN and MSG_KEYUP messages when a key pressed and
|
||||||
* released, and the wParam of the messages will be defined to be equal to
|
* released, and the wParam of the messages will be defined to be equal to
|
||||||
* the scan code of the key.
|
* the scan code of the key.
|
||||||
*
|
*
|
||||||
* \sa NR_KEYS, SCANCODE_USER
|
* \sa NR_KEYS, SCANCODE_USER
|
||||||
@@ -1127,11 +1140,11 @@ typedef struct _GAL_Rect {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def NR_KEYS
|
* \def NR_KEYS
|
||||||
* \brief The number of keys defined by Linux operating system.
|
* \brief The number of keys defined by Linux operating system.
|
||||||
*
|
*
|
||||||
* For a PC box, NR_KEYS is defined to 128 by default. You can define
|
* For a PC box, NR_KEYS is defined to 128 by default. You can define
|
||||||
* some input events from an input device other than keyboard, e.g.
|
* some input events from an input device other than keyboard, e.g.
|
||||||
* your remote controller, as key events with different scan codes from
|
* your remote controller, as key events with different scan codes from
|
||||||
* those of PC's. MiniGUI can support 255 keys, and the constant
|
* those of PC's. MiniGUI can support 255 keys, and the constant
|
||||||
* is defined by MGUI_NR_KEYS.
|
* is defined by MGUI_NR_KEYS.
|
||||||
*
|
*
|
||||||
@@ -1306,7 +1319,7 @@ typedef struct _GAL_Rect {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def KS_REPEATED
|
* \def KS_REPEATED
|
||||||
* \brief This status indicate that the key down message is an
|
* \brief This status indicate that the key down message is an
|
||||||
* auto-repeated one.
|
* auto-repeated one.
|
||||||
*
|
*
|
||||||
* You can test the status by AND'ed with lParam of the message, like below:
|
* You can test the status by AND'ed with lParam of the message, like below:
|
||||||
@@ -1328,7 +1341,7 @@ typedef struct _GAL_Rect {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def KS_CAPTURED
|
* \def KS_CAPTURED
|
||||||
* \brief This status indicate that the mouse is captured by a window when
|
* \brief This status indicate that the mouse is captured by a window when
|
||||||
* the mouse message posted.
|
* the mouse message posted.
|
||||||
*
|
*
|
||||||
* You can test the status by AND'ed with wParam of the message, like below:
|
* You can test the status by AND'ed with wParam of the message, like below:
|
||||||
@@ -1358,7 +1371,7 @@ typedef struct _GAL_Rect {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def KS_CAPSLOCK
|
* \def KS_CAPSLOCK
|
||||||
* \brief This status indicate that the CapsLock key was locked when
|
* \brief This status indicate that the CapsLock key was locked when
|
||||||
* the key or mouse message posted to the window.
|
* the key or mouse message posted to the window.
|
||||||
*
|
*
|
||||||
* You can test the status by AND'ed with lParam of the message, like below
|
* You can test the status by AND'ed with lParam of the message, like below
|
||||||
@@ -1380,7 +1393,7 @@ typedef struct _GAL_Rect {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def KS_NUMLOCK
|
* \def KS_NUMLOCK
|
||||||
* \brief This status indicate that the NumLock key was locked when
|
* \brief This status indicate that the NumLock key was locked when
|
||||||
* the key or mouse message posted to the window.
|
* the key or mouse message posted to the window.
|
||||||
*
|
*
|
||||||
* \sa key_msgs
|
* \sa key_msgs
|
||||||
@@ -1416,7 +1429,7 @@ typedef struct _GAL_Rect {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def KS_CTRL
|
* \def KS_CTRL
|
||||||
* \brief This status indicate that either the left-Ctrl key or the right-Ctrl key
|
* \brief This status indicate that either the left-Ctrl key or the right-Ctrl key
|
||||||
* was pressed when the key or mouse message posted to the window.
|
* was pressed when the key or mouse message posted to the window.
|
||||||
*
|
*
|
||||||
* \sa key_msgs
|
* \sa key_msgs
|
||||||
@@ -1443,7 +1456,7 @@ typedef struct _GAL_Rect {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def KS_ALT
|
* \def KS_ALT
|
||||||
* \brief This status indicate that either the left-Alt key or the right-Alt key
|
* \brief This status indicate that either the left-Alt key or the right-Alt key
|
||||||
* was pressed when the key or mouse message posted to the window.
|
* was pressed when the key or mouse message posted to the window.
|
||||||
*
|
*
|
||||||
* \sa key_msgs
|
* \sa key_msgs
|
||||||
@@ -1470,7 +1483,7 @@ typedef struct _GAL_Rect {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def KS_SHIFT
|
* \def KS_SHIFT
|
||||||
* \brief This status indicate that either the left-Shift key or the right-Shift key
|
* \brief This status indicate that either the left-Shift key or the right-Shift key
|
||||||
* was pressed when the key or mouse message posted to the window.
|
* was pressed when the key or mouse message posted to the window.
|
||||||
*
|
*
|
||||||
* \sa key_msgs
|
* \sa key_msgs
|
||||||
@@ -1485,7 +1498,7 @@ typedef struct _GAL_Rect {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def KS_LEFTBUTTON
|
* \def KS_LEFTBUTTON
|
||||||
* \brief This status indicate that left button was pressed when
|
* \brief This status indicate that left button was pressed when
|
||||||
* the key or mouse message posted to the window.
|
* the key or mouse message posted to the window.
|
||||||
*
|
*
|
||||||
* \sa key_msgs
|
* \sa key_msgs
|
||||||
@@ -1494,7 +1507,7 @@ typedef struct _GAL_Rect {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def KS_RIGHTBUTTON
|
* \def KS_RIGHTBUTTON
|
||||||
* \brief This status indicate that right button was pressed when
|
* \brief This status indicate that right button was pressed when
|
||||||
* the key or mouse message posted to the window.
|
* the key or mouse message posted to the window.
|
||||||
*
|
*
|
||||||
* \sa key_msgs
|
* \sa key_msgs
|
||||||
@@ -1503,7 +1516,7 @@ typedef struct _GAL_Rect {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def KS_MIDDLBUTTON
|
* \def KS_MIDDLBUTTON
|
||||||
* \brief This status indicate that middle button was pressed when
|
* \brief This status indicate that middle button was pressed when
|
||||||
* the key or mouse message posted to the window.
|
* the key or mouse message posted to the window.
|
||||||
*
|
*
|
||||||
* \sa key_msgs
|
* \sa key_msgs
|
||||||
@@ -1536,37 +1549,37 @@ typedef struct _GAL_Rect {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def ERR_QUEUE_FULL
|
* \def ERR_QUEUE_FULL
|
||||||
* \brief Return value queue is full error.
|
* \brief Return value queue is full error.
|
||||||
*/
|
*/
|
||||||
#define ERR_QUEUE_FULL -2
|
#define ERR_QUEUE_FULL -2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def ERR_INVALID_HANDLE
|
* \def ERR_INVALID_HANDLE
|
||||||
* \brief Return value invalid handle error.
|
* \brief Return value invalid handle error.
|
||||||
*/
|
*/
|
||||||
#define ERR_INVALID_HANDLE -3
|
#define ERR_INVALID_HANDLE -3
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def ERR_INVALID_HMENU
|
* \def ERR_INVALID_HMENU
|
||||||
* \brief Return value invalid menu handle error.
|
* \brief Return value invalid menu handle error.
|
||||||
*/
|
*/
|
||||||
#define ERR_INVALID_HMENU -4
|
#define ERR_INVALID_HMENU -4
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def ERR_INVALID_POS
|
* \def ERR_INVALID_POS
|
||||||
* \brief Return value invalid postion error.
|
* \brief Return value invalid postion error.
|
||||||
*/
|
*/
|
||||||
#define ERR_INVALID_POS -5
|
#define ERR_INVALID_POS -5
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def ERR_INVALID_ID
|
* \def ERR_INVALID_ID
|
||||||
* \brief Return value invalid id error.
|
* \brief Return value invalid id error.
|
||||||
*/
|
*/
|
||||||
#define ERR_INVALID_ID -6
|
#define ERR_INVALID_ID -6
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def ERR_RES_ALLOCATION
|
* \def ERR_RES_ALLOCATION
|
||||||
* \brief Return value allocation resource error .
|
* \brief Return value allocation resource error .
|
||||||
*/
|
*/
|
||||||
#define ERR_RES_ALLOCATION -7
|
#define ERR_RES_ALLOCATION -7
|
||||||
|
|
||||||
@@ -1590,7 +1603,7 @@ typedef struct _GAL_Rect {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def ERR_CTRLCLASS_INUSE
|
* \def ERR_CTRLCLASS_INUSE
|
||||||
* \brief Return value inuse control class error.
|
* \brief Return value inuse control class error.
|
||||||
*/
|
*/
|
||||||
#define ERR_CTRLCLASS_INUSE -11
|
#define ERR_CTRLCLASS_INUSE -11
|
||||||
|
|
||||||
@@ -1650,7 +1663,7 @@ typedef struct _GAL_Rect {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \def ERR_INPUT_ENGINE
|
* \def ERR_INPUT_ENGINE
|
||||||
* \brief Return value input engine error.
|
* \brief Return value input engine error.
|
||||||
*/
|
*/
|
||||||
#define ERR_INPUT_ENGINE -21
|
#define ERR_INPUT_ENGINE -21
|
||||||
|
|
||||||
@@ -1702,7 +1715,7 @@ typedef struct _GAL_Rect {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Commonly used definitions */
|
/* Commonly used definitions */
|
||||||
#ifdef HAVE_LIMITS_H
|
#if !defined(__NOUNIX__) || defined (__ECOS__)
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1770,12 +1783,12 @@ struct tm {
|
|||||||
#define fseek tp_fseek
|
#define fseek tp_fseek
|
||||||
#define feof tp_feof
|
#define feof tp_feof
|
||||||
|
|
||||||
#undef assert
|
#undef assert
|
||||||
#define _HAVE_ASSERT 1
|
#define _HAVE_ASSERT 1
|
||||||
|
|
||||||
#define assert(e) do { \
|
#define assert(e) do { \
|
||||||
e; \
|
e; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#undef stdin
|
#undef stdin
|
||||||
#undef stdout
|
#undef stdout
|
||||||
@@ -1812,13 +1825,13 @@ MG_EXPORT int strncasecmp(const char *s1, const char *s2, unsigned int n);
|
|||||||
|
|
||||||
#ifdef _MGUSE_OWN_MALLOC
|
#ifdef _MGUSE_OWN_MALLOC
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \fn int init_minigui_malloc (unsigned char* heap, unsigned int heap_size, \
|
* \fn int init_minigui_malloc (unsigned char* heap, unsigned int heap_size, \
|
||||||
int (*lock_heap) (void), int (*unlock_heap) (void))
|
int (*lock_heap) (void), int (*unlock_heap) (void))
|
||||||
* \brief Initialize MiniGUI's own heap system.
|
* \brief Initialize MiniGUI's own heap system.
|
||||||
*
|
*
|
||||||
* MiniGUI implements a heap system which is compatbile with ANIS C. When you
|
* MiniGUI implements a heap system which is compatbile with ANIS C. When you
|
||||||
* RTOS does not provide a re-entriable malloc implementation, you can use MiniGUI's
|
* RTOS does not provide a re-entriable malloc implementation, you can use MiniGUI's
|
||||||
* heap system.
|
* heap system.
|
||||||
*
|
*
|
||||||
* Before using MiniGUI's own heap system, you should provide a memory range to be
|
* Before using MiniGUI's own heap system, you should provide a memory range to be
|
||||||
@@ -1831,7 +1844,7 @@ MG_EXPORT int strncasecmp(const char *s1, const char *s2, unsigned int n);
|
|||||||
*
|
*
|
||||||
* \return Zero on success, non-zero on error.
|
* \return Zero on success, non-zero on error.
|
||||||
*/
|
*/
|
||||||
int init_minigui_malloc (unsigned char* heap, unsigned int heap_size,
|
int init_minigui_malloc (unsigned char* heap, unsigned int heap_size,
|
||||||
int (*lock_heap) (void), int (*unlock_heap) (void));
|
int (*lock_heap) (void), int (*unlock_heap) (void));
|
||||||
|
|
||||||
#define USE_DL_PREFIX
|
#define USE_DL_PREFIX
|
||||||
@@ -1877,7 +1890,7 @@ int init_minigui_malloc (unsigned char* heap, unsigned int heap_size,
|
|||||||
*
|
*
|
||||||
* \return Zero no success, non-zero on error.
|
* \return Zero no success, non-zero on error.
|
||||||
*/
|
*/
|
||||||
int init_minigui_printf (int (*output_char) (int ch),
|
int init_minigui_printf (int (*output_char) (int ch),
|
||||||
int (*input_char) (void));
|
int (*input_char) (void));
|
||||||
|
|
||||||
#if defined (__UCOSII__) || defined (__VXWORKS__) || defined (__NUCLEUS__) || defined (__PSOS__)
|
#if defined (__UCOSII__) || defined (__VXWORKS__) || defined (__NUCLEUS__) || defined (__PSOS__)
|
||||||
@@ -2086,7 +2099,7 @@ int init_minigui_printf (int (*output_char) (int ch),
|
|||||||
*
|
*
|
||||||
* This function initializes MiniGUI's own POSIX Threads system.
|
* This function initializes MiniGUI's own POSIX Threads system.
|
||||||
* If pth_entry is not NULL, this function will create a detached pthread
|
* If pth_entry is not NULL, this function will create a detached pthread
|
||||||
* as the main pthread, and call pth_entry with the arguments passed to
|
* as the main pthread, and call pth_entry with the arguments passed to
|
||||||
* this function.
|
* this function.
|
||||||
*
|
*
|
||||||
* Note for pSOS, this function will ignore the stack_base, cause pSOS kernel
|
* Note for pSOS, this function will ignore the stack_base, cause pSOS kernel
|
||||||
@@ -2101,8 +2114,8 @@ int init_minigui_printf (int (*output_char) (int ch),
|
|||||||
*
|
*
|
||||||
* \return Zero on success, non-zero on error.
|
* \return Zero on success, non-zero on error.
|
||||||
*/
|
*/
|
||||||
int start_minigui_pthread (int (* pth_entry) (int argc, const char* argv []),
|
int start_minigui_pthread (int (* pth_entry) (int argc, const char* argv []),
|
||||||
int argc, const char* argv[],
|
int argc, const char* argv[],
|
||||||
char* stack_base, unsigned int stack_size);
|
char* stack_base, unsigned int stack_size);
|
||||||
|
|
||||||
#ifndef ESRCH
|
#ifndef ESRCH
|
||||||
@@ -2262,17 +2275,17 @@ int _sysvipc_mutex_sem_term (void);
|
|||||||
#define pthread_mutex_t _sysvipc_pthread_mutex_t
|
#define pthread_mutex_t _sysvipc_pthread_mutex_t
|
||||||
#define pthread_mutexattr_t _sysvipc_pthread_mutexattr_t
|
#define pthread_mutexattr_t _sysvipc_pthread_mutexattr_t
|
||||||
|
|
||||||
#define pthread_mutexattr_init _sysvipc_pthread_mutexattr_init
|
#define pthread_mutexattr_init _sysvipc_pthread_mutexattr_init
|
||||||
#define pthread_mutexattr_destroy _sysvipc_pthread_mutexattr_destroy
|
#define pthread_mutexattr_destroy _sysvipc_pthread_mutexattr_destroy
|
||||||
#define pthread_mutexattr_settype _sysvipc_pthread_mutexattr_settype
|
#define pthread_mutexattr_settype _sysvipc_pthread_mutexattr_settype
|
||||||
#define pthread_mutexattr_gettype _sysvipc_pthread_mutexattr_gettype
|
#define pthread_mutexattr_gettype _sysvipc_pthread_mutexattr_gettype
|
||||||
|
|
||||||
#define pthread_init _sysvipc_pthread_init
|
#define pthread_init _sysvipc_pthread_init
|
||||||
#define pthread_mutex_init _sysvipc_pthread_mutex_init
|
#define pthread_mutex_init _sysvipc_pthread_mutex_init
|
||||||
#define pthread_mutex_destroy _sysvipc_pthread_mutex_destroy
|
#define pthread_mutex_destroy _sysvipc_pthread_mutex_destroy
|
||||||
#define pthread_mutex_lock _sysvipc_pthread_mutex_lock
|
#define pthread_mutex_lock _sysvipc_pthread_mutex_lock
|
||||||
#define pthread_mutex_trylock _sysvipc_pthread_mutex_trylock
|
#define pthread_mutex_trylock _sysvipc_pthread_mutex_trylock
|
||||||
#define pthread_mutex_unlock _sysvipc_pthread_mutex_unlock
|
#define pthread_mutex_unlock _sysvipc_pthread_mutex_unlock
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
|||||||
+4
-4
@@ -2,12 +2,12 @@
|
|||||||
* \file control.h
|
* \file control.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
* \date 2001/12/29
|
* \date 2001/12/29
|
||||||
*
|
*
|
||||||
* \brief This file includes interfaces of standard controls of MiniGUI.
|
* \brief This file includes interfaces of standard controls of MiniGUI.
|
||||||
*
|
*
|
||||||
\verbatim
|
\verbatim
|
||||||
|
|
||||||
This file is part of MiniGUI, a mature cross-platform windowing
|
This file is part of MiniGUI, a mature cross-platform windowing
|
||||||
and Graphics User Interface (GUI) support system for embedded systems
|
and Graphics User Interface (GUI) support system for embedded systems
|
||||||
and smart IoT devices.
|
and smart IoT devices.
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: control.h 11349 2009-03-02 05:00:43Z weiym $
|
* $Id: control.h 11349 2009-03-02 05:00:43Z weiym $
|
||||||
*
|
*
|
||||||
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
|
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
|
||||||
* pSOS, ThreadX, NuCleus, OSE, and Win32.
|
* pSOS, ThreadX, NuCleus, OSE, and Win32.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
+1
-1
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
@@ -871,7 +871,7 @@ typedef LVNM_ITEMRUP *PLVNM_ITEMRUP;
|
|||||||
*/
|
*/
|
||||||
#define LVM_GETITEMSTATE 0xF128
|
#define LVM_GETITEMSTATE 0xF128
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* \def LVM_GETSELECTEDCOLUMN
|
* \def LVM_GETSELECTEDCOLUMN
|
||||||
* \brief Retrieves the index of the currently selected column of a listview.
|
* \brief Retrieves the index of the currently selected column of a listview.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
+15
-15
@@ -36,7 +36,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
@@ -51,6 +51,11 @@
|
|||||||
#ifndef GUI_IAL_CUSTOM_H
|
#ifndef GUI_IAL_CUSTOM_H
|
||||||
#define GUI_IAL_CUSTOM_H
|
#define GUI_IAL_CUSTOM_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
|
||||||
#define IAL_MOUSE_LEFTBUTTON 1
|
#define IAL_MOUSE_LEFTBUTTON 1
|
||||||
#define IAL_MOUSE_RIGHTBUTTON 2
|
#define IAL_MOUSE_RIGHTBUTTON 2
|
||||||
#define IAL_MOUSE_MIDDLEBUTTON 4
|
#define IAL_MOUSE_MIDDLEBUTTON 4
|
||||||
@@ -62,12 +67,12 @@
|
|||||||
#define IAL_MOUSEEVENT 1
|
#define IAL_MOUSEEVENT 1
|
||||||
#define IAL_KEYEVENT 2
|
#define IAL_KEYEVENT 2
|
||||||
|
|
||||||
typedef struct tagINPUT {
|
typedef struct tagINPUT
|
||||||
|
{
|
||||||
char* id;
|
char* id;
|
||||||
|
|
||||||
// Initialization and termination
|
// Initialization and termination
|
||||||
BOOL (*init_input) (struct tagINPUT *input, const char* mdev,
|
BOOL (*init_input) (struct tagINPUT *input, const char* mdev, const char* mtype);
|
||||||
const char* mtype);
|
|
||||||
void (*term_input) (void);
|
void (*term_input) (void);
|
||||||
|
|
||||||
// Mouse operations
|
// Mouse operations
|
||||||
@@ -87,26 +92,21 @@ typedef struct tagINPUT {
|
|||||||
void (*set_leds) (unsigned int leds);
|
void (*set_leds) (unsigned int leds);
|
||||||
|
|
||||||
// Event
|
// Event
|
||||||
int (*wait_event) (int which, int maxfd, fd_set *in, fd_set *out,
|
int (*wait_event) (int which, int maxfd, fd_set *in, fd_set *out,
|
||||||
fd_set *except, struct timeval *timeout);
|
fd_set *except, struct timeval *timeout);
|
||||||
|
|
||||||
char mdev [MAX_PATH + 1];
|
char mdev [MAX_PATH + 1];
|
||||||
} INPUT;
|
}INPUT;
|
||||||
|
|
||||||
#ifdef _MGIAL_CUSTOM
|
#ifdef _MGIAL_CUSTOM
|
||||||
|
extern BOOL InitCustomInput (INPUT* input, const char* mdev, const char* mtype);
|
||||||
#ifdef __cplusplus
|
extern void TermCustomInput (void);
|
||||||
extern "C" {
|
#endif
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
BOOL InitCustomInput (INPUT* input, const char* mdev, const char* mtype);
|
|
||||||
void TermCustomInput (void);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
#endif /* _MGIAL_CUSTOM */
|
|
||||||
|
|
||||||
#endif /* GUI_IAL_CUSTOM_H */
|
#endif /* GUI_IAL_CUSTOM_H */
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -40,7 +40,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,114 +0,0 @@
|
|||||||
/**
|
|
||||||
* \file exstubs.h
|
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
|
||||||
* \date 2019/04/07
|
|
||||||
*
|
|
||||||
* \brief This file is the header for NEWGAL/IAL engines which should be
|
|
||||||
* implemented by an external module.
|
|
||||||
*
|
|
||||||
\verbatim
|
|
||||||
|
|
||||||
This file is part of MiniGUI, a mature cross-platform windowing
|
|
||||||
and Graphics User Interface (GUI) support system for embedded systems
|
|
||||||
and smart IoT devices.
|
|
||||||
|
|
||||||
Copyright (C) 2007~2018, Beijing FMSoft Technologies Co., Ltd.
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program 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 General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Or,
|
|
||||||
|
|
||||||
As this program is a library, any link to this program must follow
|
|
||||||
GNU General Public License version 3 (GPLv3). If you cannot accept
|
|
||||||
GPLv3, you need to be licensed from FMSoft.
|
|
||||||
|
|
||||||
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/blog/minigui-licensing-policy/>.
|
|
||||||
|
|
||||||
\endverbatim
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
|
|
||||||
* pSOS, ThreadX, NuCleus, OSE, and Win32.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef GUI_EXSTUBS_H
|
|
||||||
#define GUI_EXSTUBS_H
|
|
||||||
|
|
||||||
/* The pixel format defined by depth */
|
|
||||||
#define COMMLCD_PSEUDO_RGB332 1
|
|
||||||
#define COMMLCD_TRUE_RGB555 2
|
|
||||||
#define COMMLCD_TRUE_RGB565 3
|
|
||||||
#define COMMLCD_TRUE_RGB888 4
|
|
||||||
#define COMMLCD_TRUE_RGB0888 5
|
|
||||||
#define COMMLCD_TRUE_ARGB1555 6
|
|
||||||
#define COMMLCD_TRUE_ARGB8888 7
|
|
||||||
#define COMMLCD_TRUE_ABRG8888 8
|
|
||||||
|
|
||||||
#define COMMLCD_UPDATE_NONE 0
|
|
||||||
#define COMMLCD_UPDATE_SYNC 1
|
|
||||||
#define COMMLCD_UPDATE_ASYNC 2
|
|
||||||
|
|
||||||
struct commlcd_info {
|
|
||||||
int height; // vertical resolution of the screen
|
|
||||||
int width; // horinzontal resolution of the screen
|
|
||||||
int pitch; // Length of one scan line in bytes
|
|
||||||
int bpp; // Depth (bits-per-pixel)
|
|
||||||
int type; // Pixel type
|
|
||||||
int update_method; // Update method: none, asynchronously, or synchronously.
|
|
||||||
Uint8* fb; // Frame buffer
|
|
||||||
};
|
|
||||||
|
|
||||||
#define COMM_MOUSEINPUT 0x01
|
|
||||||
#define COMM_KBINPUT 0x02
|
|
||||||
|
|
||||||
#define COMM_MOUSELBUTTON 0x01
|
|
||||||
#define COMM_MOUSERBUTTON 0x04
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
/* external stubs for COMMLCD NEWGAL engine */
|
|
||||||
#ifdef _MGGAL_COMMLCD
|
|
||||||
|
|
||||||
int __commlcd_drv_init (void);
|
|
||||||
int __commlcd_drv_getinfo (struct commlcd_info *li,
|
|
||||||
int width, int height, int depth);
|
|
||||||
int __commlcd_drv_release (void);
|
|
||||||
int __commlcd_drv_setclut (int firstcolor, int ncolors, GAL_Color *colors);
|
|
||||||
int __commlcd_drv_update (const RECT* rc_dirty);
|
|
||||||
|
|
||||||
#endif /* _MGGAL_COMMLCD */
|
|
||||||
|
|
||||||
#ifdef _MGIAL_COMM
|
|
||||||
|
|
||||||
int __comminput_init (void);
|
|
||||||
int __comminput_ts_getdata (short *x, short *y, short *button);
|
|
||||||
int __comminput_kb_getdata (short *key, short *status);
|
|
||||||
int __comminput_wait_for_input (struct timeval *timeout);
|
|
||||||
void __comminput_deinit (void);
|
|
||||||
|
|
||||||
#endif /* _MGIAL_COMM */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#endif /* GUI_EXSTUBS_H */
|
|
||||||
|
|
||||||
+1
-1
@@ -37,7 +37,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
+3974
-1723
File diff suppressed because it is too large
Load Diff
+393
-416
File diff suppressed because it is too large
Load Diff
@@ -42,7 +42,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
+1
-1
@@ -37,7 +37,7 @@
|
|||||||
under the terms and conditions of the commercial license.
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
\endverbatim
|
\endverbatim
|
||||||
*/
|
*/
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user