mirror of
https://github.com/VincentWei/MiniGUI.git
synced 2026-09-24 09:14:09 +08:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
717fbd6fee | ||
|
|
53c77a9a73 | ||
|
|
e256fb2a0a | ||
|
|
ce29edbca6 | ||
|
|
3a37407982 | ||
|
|
3d0e33d2b3 | ||
|
|
8040f7abd5 | ||
|
|
7e1e59a40b | ||
|
|
d6cbed96bc | ||
|
|
8adabc5917 | ||
|
|
11950343df | ||
|
|
c7201cbde1 | ||
|
|
fd67781384 | ||
|
|
93101e6eed | ||
|
|
3494e3d496 | ||
|
|
5138402296 | ||
|
|
f324e2a1b6 | ||
|
|
36d5500a31 | ||
|
|
61819fd832 | ||
|
|
a2cd26ea99 | ||
|
|
f4af247b15 | ||
|
|
aa9bb68ad9 | ||
|
|
5e8b27b810 | ||
|
|
5f22485ed5 | ||
|
|
06b90939c4 | ||
|
|
5e65422a28 | ||
|
|
ca98e4de5b | ||
|
|
46ed039e84 | ||
|
|
d2701bac10 | ||
|
|
ac6ebea61f | ||
|
|
80f5ab49ce | ||
|
|
59f97d7de0 | ||
|
|
d24fa1c8e5 | ||
|
|
775b7586d6 | ||
|
|
485b329737 | ||
|
|
2cb7f7b08f | ||
|
|
1a948f71d5 | ||
|
|
67ba6dc63d | ||
|
|
52753ac730 | ||
|
|
92acd5b204 | ||
|
|
58849e4b5a | ||
|
|
d285256317 | ||
|
|
31b33c39c3 | ||
|
|
a5319df211 | ||
|
|
ee1cb96ec1 | ||
|
|
d1b8c90b13 | ||
|
|
d503b340e0 | ||
|
|
2a9549a138 | ||
|
|
acb9b95bc6 | ||
|
|
60f07ae26a | ||
|
|
77c4db5e2b | ||
|
|
421ffea9c5 | ||
|
|
57d8eb5237 | ||
|
|
799ff54869 | ||
|
|
d6ee29ae11 | ||
|
|
8dabf82a51 | ||
|
|
237112bfe9 | ||
|
|
c445b5a80d | ||
|
|
80773ab228 | ||
|
|
3f0ada1ee2 | ||
|
|
e45b4ccad8 | ||
|
|
fcb43eccb2 | ||
|
|
111254b440 | ||
|
|
9f60ba7138 | ||
|
|
d2e0559bdf | ||
|
|
55b1934642 | ||
|
|
6a31f83a23 | ||
|
|
fbe779b195 | ||
|
|
f4e597d5d0 | ||
|
|
cf2ae944b7 | ||
|
|
a9d7effc11 | ||
|
|
88771efb41 | ||
|
|
4a354b94f9 | ||
|
|
047ab34a98 | ||
|
|
83660e0d45 | ||
|
|
352a8cb158 | ||
|
|
85ba11cdd6 | ||
|
|
c9448ef4c6 | ||
|
|
2375100fd7 | ||
|
|
ebca4834a3 | ||
|
|
34a007815b | ||
|
|
50fcc2afc9 | ||
|
|
22cf10c508 | ||
|
|
51b0e704d7 | ||
|
|
da0cc99e7f | ||
|
|
c08a44638c | ||
|
|
9cc9e274cd | ||
|
|
069c3eea17 | ||
|
|
24381b4cb1 | ||
|
|
5e362a9afb | ||
|
|
8a3437d948 | ||
|
|
4c2a8e7cc5 | ||
|
|
b615321745 | ||
|
|
8c81845eba | ||
|
|
e7913edc7e | ||
|
|
d777055154 | ||
|
|
bbbff5bd8c | ||
|
|
046353b9cb | ||
|
|
06066b47b5 | ||
|
|
4f263517bb | ||
|
|
50afdc7826 | ||
|
|
b282a7773d | ||
|
|
1a5383b9bf | ||
|
|
59e79143fb | ||
|
|
3601fa4868 | ||
|
|
bad3722987 | ||
|
|
f3518b0254 | ||
|
|
4fd4dfa561 | ||
|
|
924c1ecd79 | ||
|
|
43f9a1efbd | ||
|
|
fd7bb50756 | ||
|
|
209a9cd69a | ||
|
|
855fdbad22 | ||
|
|
ec330b1fea | ||
|
|
09667150e8 | ||
|
|
8ad28f6ae7 | ||
|
|
d3541df49e | ||
|
|
617715e332 | ||
|
|
b9fd4b9178 | ||
|
|
e4499ee3ab | ||
|
|
dc31fc8e68 | ||
|
|
dff3093091 | ||
|
|
05483a43bb | ||
|
|
7ed7a27d62 | ||
|
|
4592dd3cd1 | ||
|
|
8fe06d5a07 | ||
|
|
fda8b7975d | ||
|
|
9eb7bec6d3 | ||
|
|
5aee257855 | ||
|
|
9acc9e7b68 | ||
|
|
524fbd4833 | ||
|
|
1eee78cfbc | ||
|
|
efc658016e | ||
|
|
f8b834948f | ||
|
|
ed4f2c1cfb | ||
|
|
8baaad037a | ||
|
|
2879190c44 | ||
|
|
49a9114155 | ||
|
|
596c62b0c7 | ||
|
|
08f0d86c6e | ||
|
|
7135b7ee5f | ||
|
|
9c1e9ad2ff | ||
|
|
0c8a8acadd | ||
|
|
15fad87930 | ||
|
|
2caa09e185 | ||
|
|
54577e9dd2 | ||
|
|
2547782f77 | ||
|
|
9db7ec1abb | ||
|
|
d8264a91d5 | ||
|
|
852b7da5bc | ||
|
|
dd6248e90e | ||
|
|
2581fa4d18 | ||
|
|
7ab32056e1 | ||
|
|
3e6e0151af | ||
|
|
8f27fbb1a8 | ||
|
|
87d4fcf00b | ||
|
|
9ae76a1d91 | ||
|
|
43ef338bd8 | ||
|
|
3407d6f20c | ||
|
|
33bd6087b5 | ||
|
|
a36b2fb3b3 | ||
|
|
7811f86782 | ||
|
|
eb81fadbda | ||
|
|
27139876a8 | ||
|
|
14eca8703c | ||
|
|
9e0c3a9c99 | ||
|
|
7cc185f409 | ||
|
|
c827a8b6a9 | ||
|
|
5abeee3b64 | ||
|
|
5758700e70 | ||
|
|
4586e25709 | ||
|
|
7e776f6b78 | ||
|
|
4ea2e11c5a | ||
|
|
8e95f3bd93 | ||
|
|
872ea630fd | ||
|
|
0b92cd51be | ||
|
|
724da1b1c0 | ||
|
|
f78b9b750c | ||
|
|
c3683fb626 | ||
|
|
79b1dfefa2 | ||
|
|
eca76e6e89 | ||
|
|
114426559f | ||
|
|
a0aaccdfd0 | ||
|
|
944d2ca8ae | ||
|
|
321633c7bc | ||
|
|
e5255d13e1 | ||
|
|
e8bf19f212 | ||
|
|
a407f36975 | ||
|
|
c179737716 | ||
|
|
4ef0079488 | ||
|
|
36e3869385 | ||
|
|
32d800b1b9 | ||
|
|
dfd4a603f9 | ||
|
|
2b01f35cac | ||
|
|
e0b6a64402 | ||
|
|
084d7e58a2 | ||
|
|
88753a5fd0 | ||
|
|
b739daadba | ||
|
|
5529ab1e10 | ||
|
|
032fdcc3bb | ||
|
|
1cb9922dad | ||
|
|
8ac0d539d0 | ||
|
|
e3ae994212 | ||
|
|
b0145a15d2 | ||
|
|
9dab380f3e | ||
|
|
d1facd5468 | ||
|
|
5996ede23b | ||
|
|
837cd49045 | ||
|
|
dc4f54ffe4 | ||
|
|
f611fe3859 | ||
|
|
4ff5097dfb | ||
|
|
49421e1f88 | ||
|
|
6e33602e7d | ||
|
|
d13c31a08a | ||
|
|
704b6287ff | ||
|
|
1df726dd10 | ||
|
|
b2afe815b5 | ||
|
|
f648c1a8c7 | ||
|
|
4d2fe61e52 | ||
|
|
9644964e9c | ||
|
|
61b799af88 | ||
|
|
2f52006cde | ||
|
|
cf063aad32 | ||
|
|
0855e8b972 | ||
|
|
a501557532 | ||
|
|
820d6aeac4 | ||
|
|
215242e3e8 | ||
|
|
c79f09fe87 | ||
|
|
f68c26860a | ||
|
|
53f1a05526 | ||
|
|
6a5cfd1052 | ||
|
|
1c79cf510f | ||
|
|
86965a0e9c | ||
|
|
9cca87878c | ||
|
|
2cffa1154c | ||
|
|
9adea7df64 | ||
|
|
8f70dfcf69 | ||
|
|
ccf1e6f7a5 | ||
|
|
913ea4db23 | ||
|
|
55baa8c741 | ||
|
|
db63d8cad3 | ||
|
|
338fb0276e | ||
|
|
8dd64e7f2d | ||
|
|
c1cbb8423e | ||
|
|
a95ee5b181 | ||
|
|
9d9bf95c21 | ||
|
|
ed6ceaa49c | ||
|
|
f5e1144cbe | ||
|
|
c890e4296a | ||
|
|
d09313407e | ||
|
|
7dfe5954f5 | ||
|
|
390c5de6ef | ||
|
|
274fdaaa31 | ||
|
|
04725fc892 | ||
|
|
4da29f635d | ||
|
|
3e5ff0af91 | ||
|
|
1820e74b77 | ||
|
|
2278c4975c | ||
|
|
af8a04570d | ||
|
|
452edfa831 | ||
|
|
4fba705082 | ||
|
|
a049e387e0 | ||
|
|
c67a18536d | ||
|
|
d9e09ac34f | ||
|
|
65972861a0 | ||
|
|
96b06544b3 | ||
|
|
838530d6b1 | ||
|
|
c276122f60 | ||
|
|
46a8b1768a | ||
|
|
d5b57e8200 | ||
|
|
ee179e6995 | ||
|
|
3571d88f3d | ||
|
|
8ba346eec5 | ||
|
|
e110cb61f4 | ||
|
|
d29aa1d881 | ||
|
|
6337f5d6fa | ||
|
|
14bfe263a3 | ||
|
|
cbd54e0766 | ||
|
|
ceaec7e3d3 | ||
|
|
aab8d6e2c6 | ||
|
|
8a856e5b99 | ||
|
|
46f48a0d6c | ||
|
|
40fc11f324 | ||
|
|
d63fe9849b | ||
|
|
349f310148 | ||
|
|
ac60980bc2 | ||
|
|
e7002ad870 | ||
|
|
6838a67e7d | ||
|
|
9a8d997f63 | ||
|
|
f8b0a89d90 | ||
|
|
72f61f17be | ||
|
|
676dd0e6da | ||
|
|
02c7a6e07c | ||
|
|
8f841a0bc0 | ||
|
|
f218b7b892 | ||
|
|
1e1dd76fb1 | ||
|
|
4ba0bcd0fe | ||
|
|
cc9d9f6d42 | ||
|
|
4c9e8138b1 | ||
|
|
f79a1bd86a | ||
|
|
211135fbc5 | ||
|
|
537b659fc7 | ||
|
|
6b45b74e32 | ||
|
|
0ceb5616bf | ||
|
|
62f9cf9e48 | ||
|
|
6842cd3933 | ||
|
|
2c5ddd93cb | ||
|
|
64ddca1e2f | ||
|
|
9dea317925 | ||
|
|
a4e8a42707 | ||
|
|
005519e7cc | ||
|
|
da7c2175dd | ||
|
|
c7e6a867f4 | ||
|
|
30c6033e8c | ||
|
|
5a5d5d3bbb | ||
|
|
bdd75353d2 | ||
|
|
ce7b9eccca | ||
|
|
c66f1a5fa3 | ||
|
|
ba240cd53b | ||
|
|
ca9d0200f3 | ||
|
|
5dd2a21919 | ||
|
|
11124ef8a0 | ||
|
|
e8714be5ef | ||
|
|
13341e864c | ||
|
|
e1a464b32f | ||
|
|
a7601d8cfe | ||
|
|
98ae3a6b35 | ||
|
|
f82e15ed5e | ||
|
|
690f5487ab | ||
|
|
4e0a9a8d37 | ||
|
|
c6f1004ba6 | ||
|
|
a4e9f56c08 | ||
|
|
d84a7ffbbe | ||
|
|
11865764da | ||
|
|
fdc449335d | ||
|
|
27e508848d | ||
|
|
cc01ce0bbc | ||
|
|
0093ac3edc | ||
|
|
45db7410c0 | ||
|
|
e6df345736 | ||
|
|
e7b05090cd | ||
|
|
b82128091e | ||
|
|
adab30261c | ||
|
|
7e0b378475 | ||
|
|
d1ef9e2598 | ||
|
|
5887668b17 | ||
|
|
e6cb8f272b | ||
|
|
90e4ee91fe | ||
|
|
83207ca329 | ||
|
|
dcd31bed7c | ||
|
|
76cf8a02af | ||
|
|
10d8b43c61 | ||
|
|
554b709890 | ||
|
|
d877e86adc | ||
|
|
c5e5bd01e8 | ||
|
|
e3760457c4 | ||
|
|
c6ed1626f9 | ||
|
|
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 |
+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_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.
|
||||
* src/include/devfont.h
|
||||
* src/font/*.c
|
||||
@@ -4761,7 +4761,7 @@ create_skin_main_window_ex:
|
||||
* ext/skin/skin.c
|
||||
|
||||
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
|
||||
|
||||
05/16. ENHANCEMENT #11: Support for FreeType2.
|
||||
@@ -4984,11 +4984,11 @@ provide the function whether the file exist or not.(xwyan)
|
||||
* src/server/request.c
|
||||
|
||||
10/24. MODIFICATION: Use 1980/01/01 00:00:00 to return the default local time
|
||||
for __mg_localtime.
|
||||
for __mg_os_localtime.
|
||||
* src/misc/nposix.c
|
||||
|
||||
10/24. MODIFICATION: Use HAVE_TIME, HAVE_MKTIME, and HAVE_LOCALTIME to define
|
||||
__mg_time, __mg_mktime, and __mg_localtime functions.
|
||||
__mg_os_time, __mg_os_mktime, and __mg_os_localtime functions.
|
||||
* configure.in
|
||||
* src/misc/nposix.c
|
||||
|
||||
|
||||
+10
-5
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Processes)"
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = v3.2.0
|
||||
PROJECT_NUMBER = v4.0.0
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
@@ -58,7 +58,7 @@ PROJECT_LOGO =
|
||||
# entered, it will be relative to the location where doxygen was started. If
|
||||
# left blank the current directory will be used.
|
||||
|
||||
OUTPUT_DIRECTORY = doc
|
||||
OUTPUT_DIRECTORY = doc-api-ref-minigui-procs-4.0.0
|
||||
|
||||
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
|
||||
# directories (in 2 levels) under the output directory of each output format and
|
||||
@@ -782,6 +782,7 @@ WARN_LOGFILE =
|
||||
# Note: If this tag is empty the current directory is searched.
|
||||
|
||||
INPUT = ./include
|
||||
INPUT += README.md
|
||||
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||
@@ -939,7 +940,7 @@ FILTER_SOURCE_PATTERNS =
|
||||
# (index.html). This can be useful if you have a project on for instance GitHub
|
||||
# and want to reuse the introduction page also for the doxygen output.
|
||||
|
||||
USE_MDFILE_AS_MAINPAGE =
|
||||
USE_MDFILE_AS_MAINPAGE = README.md
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to source browsing
|
||||
@@ -1288,7 +1289,7 @@ GENERATE_HTMLHELP = NO
|
||||
# written to the html output directory.
|
||||
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
|
||||
|
||||
CHM_FILE =
|
||||
CHM_FILE =
|
||||
|
||||
# The HHC_LOCATION tag can be used to specify the location (absolute path
|
||||
# including file name) of the HTML help compiler (hhc.exe). If non-empty,
|
||||
@@ -2073,6 +2074,7 @@ PREDEFINED = _MGRM_PROCESSES \
|
||||
_MGMISC_SAVEBITMAP \
|
||||
_MGHAVE_CURSOR \
|
||||
_MGCHARSET_UNICODE \
|
||||
_MGCOMPLEX_SCRIPTS \
|
||||
_MGCTRL_STATIC \
|
||||
_MGCTRL_SLEDIT \
|
||||
_MGCTRL_BIDISLEDIT \
|
||||
@@ -2099,7 +2101,10 @@ PREDEFINED = _MGRM_PROCESSES \
|
||||
_MGCTRL_ANIMATION \
|
||||
_MGFONT_FT2 \
|
||||
_MGFONT_UPF \
|
||||
_MGFONT_BMPF
|
||||
_MGFONT_BMPF \
|
||||
_MGGAL_DRI \
|
||||
_MGGAL_COMMLCD \
|
||||
_MGIAL_COMM
|
||||
|
||||
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
|
||||
# tag can be used to specify a list of macro names that should be expanded. The
|
||||
|
||||
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Standalone)"
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = v3.2.0
|
||||
PROJECT_NUMBER = v4.0.0
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
@@ -58,7 +58,7 @@ PROJECT_LOGO =
|
||||
# entered, it will be relative to the location where doxygen was started. If
|
||||
# left blank the current directory will be used.
|
||||
|
||||
OUTPUT_DIRECTORY = doc
|
||||
OUTPUT_DIRECTORY = doc-api-ref-minigui-sa-4.0.0
|
||||
|
||||
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
|
||||
# directories (in 2 levels) under the output directory of each output format and
|
||||
@@ -782,6 +782,7 @@ WARN_LOGFILE =
|
||||
# Note: If this tag is empty the current directory is searched.
|
||||
|
||||
INPUT = ./include
|
||||
INPUT += README.md
|
||||
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||
@@ -939,7 +940,7 @@ FILTER_SOURCE_PATTERNS =
|
||||
# (index.html). This can be useful if you have a project on for instance GitHub
|
||||
# and want to reuse the introduction page also for the doxygen output.
|
||||
|
||||
USE_MDFILE_AS_MAINPAGE =
|
||||
USE_MDFILE_AS_MAINPAGE = README.md
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to source browsing
|
||||
@@ -1288,7 +1289,7 @@ GENERATE_HTMLHELP = NO
|
||||
# written to the html output directory.
|
||||
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
|
||||
|
||||
CHM_FILE =
|
||||
CHM_FILE =
|
||||
|
||||
# The HHC_LOCATION tag can be used to specify the location (absolute path
|
||||
# including file name) of the HTML help compiler (hhc.exe). If non-empty,
|
||||
@@ -2073,6 +2074,7 @@ PREDEFINED = _MGRM_STANDALONE \
|
||||
_MGMISC_SAVEBITMAP \
|
||||
_MGHAVE_CURSOR \
|
||||
_MGCHARSET_UNICODE \
|
||||
_MGCOMPLEX_SCRIPTS \
|
||||
_MGCTRL_STATIC \
|
||||
_MGCTRL_SLEDIT \
|
||||
_MGCTRL_BIDISLEDIT \
|
||||
@@ -2099,7 +2101,10 @@ PREDEFINED = _MGRM_STANDALONE \
|
||||
_MGCTRL_ANIMATION \
|
||||
_MGFONT_FT2 \
|
||||
_MGFONT_UPF \
|
||||
_MGFONT_BMPF
|
||||
_MGFONT_BMPF \
|
||||
_MGGAL_DRI \
|
||||
_MGGAL_COMMLCD \
|
||||
_MGIAL_COMM
|
||||
|
||||
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
|
||||
# tag can be used to specify a list of macro names that should be expanded. The
|
||||
+10
-5
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Threads)"
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = v3.2.0
|
||||
PROJECT_NUMBER = v4.0.0
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
@@ -58,7 +58,7 @@ PROJECT_LOGO =
|
||||
# entered, it will be relative to the location where doxygen was started. If
|
||||
# left blank the current directory will be used.
|
||||
|
||||
OUTPUT_DIRECTORY = doc
|
||||
OUTPUT_DIRECTORY = doc-api-ref-minigui-ths-4.0.0
|
||||
|
||||
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
|
||||
# directories (in 2 levels) under the output directory of each output format and
|
||||
@@ -782,6 +782,7 @@ WARN_LOGFILE =
|
||||
# Note: If this tag is empty the current directory is searched.
|
||||
|
||||
INPUT = ./include
|
||||
INPUT += README.md
|
||||
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||
@@ -939,7 +940,7 @@ FILTER_SOURCE_PATTERNS =
|
||||
# (index.html). This can be useful if you have a project on for instance GitHub
|
||||
# and want to reuse the introduction page also for the doxygen output.
|
||||
|
||||
USE_MDFILE_AS_MAINPAGE =
|
||||
USE_MDFILE_AS_MAINPAGE = README.md
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to source browsing
|
||||
@@ -1288,7 +1289,7 @@ GENERATE_HTMLHELP = NO
|
||||
# written to the html output directory.
|
||||
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
|
||||
|
||||
CHM_FILE =
|
||||
CHM_FILE =
|
||||
|
||||
# The HHC_LOCATION tag can be used to specify the location (absolute path
|
||||
# including file name) of the HTML help compiler (hhc.exe). If non-empty,
|
||||
@@ -2073,6 +2074,7 @@ PREDEFINED = _MGRM_THREADS \
|
||||
_MGMISC_SAVEBITMAP \
|
||||
_MGHAVE_CURSOR \
|
||||
_MGCHARSET_UNICODE \
|
||||
_MGCOMPLEX_SCRIPTS \
|
||||
_MGCTRL_STATIC \
|
||||
_MGCTRL_SLEDIT \
|
||||
_MGCTRL_BIDISLEDIT \
|
||||
@@ -2099,7 +2101,10 @@ PREDEFINED = _MGRM_THREADS \
|
||||
_MGCTRL_ANIMATION \
|
||||
_MGFONT_FT2 \
|
||||
_MGFONT_UPF \
|
||||
_MGFONT_BMPF
|
||||
_MGFONT_BMPF \
|
||||
_MGGAL_DRI \
|
||||
_MGGAL_COMMLCD \
|
||||
_MGIAL_COMM
|
||||
|
||||
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
|
||||
# tag can be used to specify a list of macro names that should be expanded. The
|
||||
|
||||
+13
-12
@@ -1,11 +1,10 @@
|
||||
SUBDIRS = src 3rd-party include rtos etc m4 cmake build
|
||||
|
||||
EXTRA_DIST = \
|
||||
minigui.pc.in \
|
||||
EXTRA_DIST = minigui.pc.in \
|
||||
GNUmakefile makefile.ng makefile.msvc rules.make \
|
||||
Version INSTALL LICENSE \
|
||||
README.md RELEASE-NOTES.md \
|
||||
LICENSE-POLICY-en.md LICENSE-POLICY-zh.md
|
||||
LICENSE-POLICY-en.md LICENSE-POLICY-zh.md
|
||||
|
||||
# The directory where the include files will be installed
|
||||
libminiguiincludedir = $(includedir)/minigui
|
||||
@@ -13,15 +12,17 @@ libminiguiincludedir = $(includedir)/minigui
|
||||
# Which header files to install
|
||||
libminiguiinclude_HEADERS = mgconfig.h
|
||||
|
||||
docs:
|
||||
doxygen Doxyfile.procs Doxyfile.ths Doxyfile.sa
|
||||
|
||||
dist-nolicense: dist
|
||||
./clean_license.sh $(DIST_ARCHIVES)
|
||||
|
||||
dist:
|
||||
distcheck-nolicense:dist-nolicense distcheck
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = minigui.pc
|
||||
|
||||
docs:
|
||||
doxygen Doxyfile.procs
|
||||
doxygen Doxyfile.ths
|
||||
doxygen Doxyfile.sal
|
||||
|
||||
#dist-nolicense: dist
|
||||
# ./clean_license.sh $(DIST_ARCHIVES)
|
||||
#
|
||||
#dist:
|
||||
#distcheck-nolicense:dist-nolicense distcheck
|
||||
|
||||
|
||||
@@ -2,26 +2,27 @@
|
||||
|
||||
A mature and proven cross-platform GUI system for embedded and smart IoT devices.
|
||||
|
||||
|
||||
## TABLE OF CONTENTS
|
||||
|
||||
1. Introduction
|
||||
1. A brief building instruction
|
||||
1. New features in version 3.2.x
|
||||
1. The runtime modes of MiniGUI
|
||||
1. History
|
||||
1. About the authors
|
||||
1. If you have a problem
|
||||
1. A little FAQ
|
||||
1. Not free for commercial use
|
||||
1. Copying
|
||||
1. Introduction
|
||||
1. A brief building instruction
|
||||
1. New features in version 4.0.x
|
||||
1. New features in version 3.2.x
|
||||
1. The runtime modes of MiniGUI
|
||||
1. History
|
||||
1. About the authors
|
||||
1. If you have a problem
|
||||
1. A little FAQ
|
||||
1. Not free for commercial use
|
||||
1. Copying
|
||||
|
||||
|
||||
## INTRODUCTION
|
||||
|
||||
MiniGUI is a mature cross-platform windowing system and a GUI (Graphics
|
||||
User Interface) support system for embedded systems and smart IoT devices.
|
||||
This is the version 3.2.x of MiniGUI maintained by WEI Yongming
|
||||
(Vincent Wei, <https://github.com/VincentWei>).
|
||||
This is the version 4.0.x of MiniGUI maintained by WEI Yongming.
|
||||
|
||||
MiniGUI is released under GPLv3 and the dual-licensing applies to commercial
|
||||
use.
|
||||
@@ -29,39 +30,43 @@ use.
|
||||
MiniGUI aims to provide a fast, stable, full-featured, and cross-platform
|
||||
windowing and GUI support system, which is especially fit for
|
||||
embedded systems or smart IoT devices based-on Linux/uClinux, eCos, and other
|
||||
traditional RTOSes, such as RTEMS, VxWorks, ThreadX, Nucleus, pSOS, uC/OS-II,
|
||||
traditional RTOSes, such as VxWorks, ThreadX, Nucleus, pSOS, uC/OS-II,
|
||||
and OSE.
|
||||
|
||||
This is the MiniGUI core source tree, which provides windowing
|
||||
and graphics interfaces as well as a lot of standard controls (toolkit).
|
||||
and graphics interfaces as well as a lot of standard controls (tookit).
|
||||
|
||||
Besides MiniGUI core, FMSoft also provides some components
|
||||
for the developers to develop app much easier:
|
||||
|
||||
* mGUtils: A MiniGUI component which contains miscellaneous utilities
|
||||
like `ColorSelectionDialogBox`, `FileOpenDialogBox`, and so on.
|
||||
* mGPlus: A MiniGUI component which provides support for advanced graphics
|
||||
functions like path, gradient, anti-aliased stretch, and color combination.
|
||||
* mGEff: mGEff provides an animation framework for MiniGUI app.
|
||||
It also provides some popular UI/UE special effects.
|
||||
* mGNCS: This component provides a new control set for MiniGUI app.
|
||||
By using mGNCS, you can use miniStudio to develop MiniGUI app in
|
||||
WYSIWYG way.
|
||||
* mGNCS4Touch: This component provides some new controls, which are
|
||||
compliant to the new control API spec of mGNCS, for devices with
|
||||
a touch screen.
|
||||
* mGUtils: A MiniGUI component which contains miscellaneous utilities
|
||||
like ColorSelectionDialogBox, FileOpenDialogBox, and so on.
|
||||
|
||||
There are also some legacy MiniGUI components. We will not maintain these
|
||||
components for MiniGUI 3.2.x:
|
||||
* mGPlus: A MiniGUI component which provides support for advanced graphics
|
||||
functions like path, gradient, anti-aliase stretch, and color combination.
|
||||
|
||||
* mGi: An input method component for MiniGUI. This component provides
|
||||
some typical input methods (such as soft keyboard, hand-writing, and predict
|
||||
text input for mobile phone) for MiniGUI apps.
|
||||
* mGp: A printing component for MiniGUI. By using mGp, you can print
|
||||
out the graphics created by MiniGUI app to general-purpose printers.
|
||||
* mG3d: A simple three-dimension component for MiniGUI. This component
|
||||
provides a simple 3D API for app. You can use mG3d to create simple
|
||||
3D UI.
|
||||
* mGEff: mGEff provides an animation framework for MiniGUI app.
|
||||
It also provides some popular UI/UE special effects.
|
||||
|
||||
* mGNCS: This component provides a new control set for MiniGUI app.
|
||||
|
||||
* mGNCS4Touch: This component provides some new controls, which are
|
||||
compliant to the new control API spec of mGNCS, for devices with
|
||||
touch screens.
|
||||
|
||||
There are also some legacy MiniGUI components. But we will not maintain these
|
||||
components since MiniGUI v3.2.0:
|
||||
|
||||
* mGi: An input method component for MiniGUI. This component provides
|
||||
some typical input methods (such as softkey, hand-writing, and predict
|
||||
text input for mobile phone) for MiniGUI apps.
|
||||
|
||||
* mGp: A printing component for MiniGUI. By using mGp, you can print
|
||||
out the graphics created by MiniGUI app to general-purpose printers.
|
||||
|
||||
* mG3d: A simple three-dimension component for MiniGUI. This component
|
||||
provides a simple 3D API for app. You can use mG3d to create simple
|
||||
3D UI.
|
||||
|
||||
MiniGUI is a free software project. In December 1998, the initiator of
|
||||
FMSoft, Wei Yongming, began to develop MiniGUI under the GNU General Public
|
||||
@@ -73,34 +78,33 @@ as a free software project.
|
||||
You can download the source code tarball of MiniGUI and the dependent libraries
|
||||
from the download zone of the site:
|
||||
|
||||
<http://www.minigui.com>
|
||||
http://www.minigui.com
|
||||
|
||||
FMSoft also releases some open source apps for MiniGUI on the site above,
|
||||
for examples:
|
||||
|
||||
* mDolphin, licensed under Apache 2.0, is a full-featured
|
||||
WEB/WAP browser, which is developed based on the open source browser
|
||||
core WebKit and uses MiniGUI as its underlying graphics support system.
|
||||
* mGallery, licensed under Apache 2.0, intends to
|
||||
provide a total solution for PMP (Portable Multimedia Player),
|
||||
which uses MiniGUI as the graphics platform.
|
||||
* mSpider, licensed under GPL 3.0, intends to provide a
|
||||
light-weight MiniGUI-based web browser (HTML 3.2 and part JavaScript)
|
||||
* mEagle, licensed under GPL 3.0, is an embedded GIS development platform
|
||||
which addresses the needs of map browse, query, analysis, etc
|
||||
* mDolphin, licensed under Apache 2.0, is a full-featured
|
||||
WEB/WAP browser, which is developed based on the open source browser
|
||||
core WebKit and uses MiniGUI as its underlying graphics support system.
|
||||
|
||||
* mGallery, licensed under Apache 2.0, intends to
|
||||
provide a total solution for PMP (Portable Multimedia Player),
|
||||
which uses MiniGUI as the graphics platform.
|
||||
|
||||
* mSpider, licensed under GPL 3.0, intends to provide a
|
||||
light-weight MiniGUI-based web browser (HTML 3.2 and part JavaScript)
|
||||
|
||||
* mEagle, licensed under GPL 3.0, is an embedded GIS development platform
|
||||
which addresses the needs of map browse, query, analysis, etc
|
||||
|
||||
FMSoft had created the public repositories for MiniGUI core, MiniGUI
|
||||
components, and other open source apps on GitHub. You can visit them on:
|
||||
|
||||
<https://github.com/VincentWei>
|
||||
https://github.com/VincentWei
|
||||
|
||||
and
|
||||
We now maintain the documents about MiniGUI on GitHub Wiki:
|
||||
|
||||
<https://github.com/FMSoftCN>
|
||||
|
||||
We now maintain all documents about MiniGUI on the following public repo:
|
||||
|
||||
<https://github.com/VincentWei/minigui-docs>
|
||||
https://github.com/VincentWei/minigui/wiki
|
||||
|
||||
|
||||
## A BRIEF BUILDING INSTRUCTION
|
||||
@@ -109,16 +113,17 @@ This instruction assumes that you are using Ubuntu Linux.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
You can run `apt install <package_name>` to install the software on Ubuntu Linux.
|
||||
You should run `apt install <package_name>` to install the following packages
|
||||
on your Ubuntu Linux.
|
||||
|
||||
* Building tools:
|
||||
* autoconf
|
||||
* Dependent libraries (all are optional):
|
||||
* libjpeg64-dev
|
||||
* libpng12-dev
|
||||
* libpng12-dev (use libpng-dev on Ubuntu Linux 18.04 LTS)
|
||||
* libfreetype6-dev
|
||||
|
||||
### Building
|
||||
### Building MiniGUI Core
|
||||
|
||||
MiniGUI core uses GNU autoconf/automake scripts to configure and build the project.
|
||||
|
||||
@@ -138,35 +143,99 @@ For more information, please run
|
||||
|
||||
$ ./configure --help
|
||||
|
||||
### Building the Comprehensive Demo
|
||||
|
||||
If you are anxious to see the comprehensive demo of MiniGUI core
|
||||
and MiniGUI components, please fetch one of the following repositories
|
||||
from GitHub and follow the instructions to build the samples and
|
||||
the demonstration programs:
|
||||
|
||||
https://github.com/VincentWei/build-minigui-4.0
|
||||
|
||||
or
|
||||
|
||||
https://github.com/VincentWei/build-minigui-3.2
|
||||
|
||||
|
||||
### Unit Tests
|
||||
|
||||
Since MiniGUI 4.0.0, we organize the unit test code of MiniGUI APIs in the
|
||||
following repository:
|
||||
|
||||
https://github.com/VincentWei/mg-tests
|
||||
|
||||
If you are interested in hacking the MiniGUI code, please visit this repository.
|
||||
|
||||
|
||||
## NEW FEATURES IN VERSION 4.0.x
|
||||
|
||||
In this version, we enhanced and tuned the APIs related to text rendering,
|
||||
in order to support [HybridOS Foundation Class Library].
|
||||
|
||||
* MiniGUI now provides complete APIs for Unicode characters processing.
|
||||
These APIs conform to Unicode 12.0.
|
||||
|
||||
* MiniGUI also provides new APIs to lay out, shape, and render glyphs
|
||||
from complex and mixed scripts, such as Arabic, Thai, and Indic.
|
||||
|
||||
* We tuned and optimized MiniGUI's logical and device font interfaces to
|
||||
support the new features above.
|
||||
|
||||
* MiniGUI now is enhanced to support input events which may be generated
|
||||
by input devices other than standard mouse (or single-touch panel) and
|
||||
keyboard, such as multi-touch panel (gesture), joystick, tablet tool,
|
||||
table pad, and switch. In MiniGUI 4.0, we introduce `MSG_EXIN_XXX` messages
|
||||
to support the input events from devices other than standard mouse
|
||||
and keyboard. We call these messages as 'extra input messages'.
|
||||
|
||||
* The NEWGAL engine of `dri` to support modern DRI/DRM-driven graphics cards
|
||||
or GPUs on Linux.
|
||||
|
||||
* The IAL engine of `libinput` to support all modern input devices including
|
||||
mouse, keyboard, joystick, switch, multiple touch panel, gesture, tablet tool,
|
||||
and table pad on Linux.
|
||||
|
||||
* We introduced a Slice Memory Allocator for fast concurrent memory chunk
|
||||
allocation.
|
||||
|
||||
* Cleanup and tune code for GCC 7.3.
|
||||
|
||||
For more information, please refer to `RELEASE-NOTES.md` file:
|
||||
|
||||
https://github.com/VincentWei/minigui/blob/master/RELEASE-NOTES.md
|
||||
|
||||
Because of the changes of some APIs, we recommended strongly that you
|
||||
use this version for new projects.
|
||||
|
||||
## NEW FEATURES IN VERSION 3.2.x
|
||||
|
||||
We introduce some new features in MiniGUI Version 3.2.x:
|
||||
|
||||
* The support for 64-bit platform. Note that some APIs have changed
|
||||
to support 64-bit platform. For more information, please refer to
|
||||
RELEASE-NOTES.md file.
|
||||
to support 64-bit platform.
|
||||
* Some enhancements and optimizations.
|
||||
|
||||
Because of the changes of some APIs, we recommended strongly that you
|
||||
use this version for new projects.
|
||||
For more information, please refer to `RELEASE-NOTES.md` file:
|
||||
|
||||
https://github.com/VincentWei/minigui/blob/rel-3-2/RELEASE-NOTES.md
|
||||
|
||||
## THE RUNTIME MODES OF MINIGUI
|
||||
|
||||
You can configure and compile MiniGUI as one of three runtime modes:
|
||||
|
||||
* 'MiniGUI-Threads': A program running on MiniGUI-Threads can create
|
||||
* `MiniGUI-Threads`: A program running on MiniGUI-Threads can create
|
||||
multiple cascaded windows in different threads, and all the windows
|
||||
belong to a single process. MiniGUI-Threads is fit for some real-time
|
||||
systems on Linux/uClinux, eCos, uC/OS-II, VxWorks, pSOS, ThreadX,
|
||||
and OSE.
|
||||
|
||||
* 'MiniGUI-Processes': A program running on MiniGUI-Processes is
|
||||
* `MiniGUI-Processes`: A program running on MiniGUI-Processes is
|
||||
an independent process, which can also create multiple windows.
|
||||
MiniGUI-Processes is fit for some complex embedded systems, such as
|
||||
PDAs, Thin-Clients or STBs. This mode is only useful for full-featured
|
||||
UNIX-like operating systems, like Linux.
|
||||
|
||||
* 'MiniGUI-Standalone': A single process version of MiniGUI. This mode
|
||||
* `MiniGUI-Standalone`: A single process version of MiniGUI. This mode
|
||||
is useful for some small systems, like uClinux or RTOSes.
|
||||
|
||||
The original MiniGUI (version 1.0) run in MiniGUI-Threads mode.
|
||||
@@ -195,7 +264,7 @@ clients and the server.
|
||||
|
||||
## 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.
|
||||
During the past years, many remarkable changes have taken place in
|
||||
the MiniGUI project.
|
||||
@@ -227,74 +296,78 @@ In the development of version 3.0.x, we introduced Look & Feel Renderer,
|
||||
BIDI text support, Non-rectangular window, double-buffer window, and
|
||||
other main features.
|
||||
|
||||
In the development of version 4.0.x, we introduced the support for
|
||||
complex writing systems (scripts), such as Arabic, Thai, and Indic.
|
||||
|
||||
A brief history description of the development progress lay below:
|
||||
|
||||
0) 1994 ~ 1996: MiniGUI DOS version.
|
||||
1) Dec, 1998: Began to write.
|
||||
2) Apr, 1999: The skeleton of MiniGUI, windowing sub-system
|
||||
and basic graphics device interfaces.
|
||||
3) May, 1999: Timer, menu, and the skeleton of control sub-system.
|
||||
4) Jun, 1999: Chinese input method (by Kang Xiaoning).
|
||||
5) July, 1999: GIF and JPG loading support (by LI Zhuo).
|
||||
6) Aug, 1999: Some standard controls (Portion by Zhao Jianghua).
|
||||
7) Sep, 1999: Dialog boxes and message boxes.
|
||||
8) Sep, 1999: Snapshot of screen or window.
|
||||
9) Jan., 2000: VCOnGUI (Virtual Console on MiniGUI) version 0.2.02.
|
||||
10) Mar., 2000: Linux distribution installer based-on MiniGUI for
|
||||
HappyLinux 1.0.
|
||||
11) Jun., 2000: Began to develop version 1.0.xx.
|
||||
12) Sep., 2000: MiniGUI version 0.3.06 released.
|
||||
13) Oct., 2000: MiniGUI version 0.9.00 released.
|
||||
14) Nov., 2000: MiniGUI version 0.9.96 released.
|
||||
15) Jan., 2001: MiniGUI version 0.9.98 released. You can build
|
||||
MiniGUI-Lite from this version.
|
||||
16) Jan., 2001: MiniGUI version 1.0.00Beta1 released.
|
||||
17) Feb., 2001: MiniGUI version 1.0.00Pre1 released.
|
||||
18) Apr., 2001: MiniGUI version 1.0.00 released (2001/04/16).
|
||||
18) Sep., 2001: MiniGUI version 1.1.0Pre1 released (2001/09/12).
|
||||
19) Sep., 2001: MiniGUI version 1.0.9 released (2001/09/17),
|
||||
this will be the last version of source branch 1.0.x.
|
||||
20) Oct., 2001: MiniGUI version 1.1.0Pre4 released (2001/10/22).
|
||||
This version have new GAL and GDI interfaces.
|
||||
21) Mar., 2002: MiniGUI official version 1.1.0 released (2002/03/08).
|
||||
MiniGUI API Reference documentation version 0.9 released.
|
||||
22) Mar., 2002: MiniGUI API Reference documentation version 1.0 released.
|
||||
23) Apr., 2002: MiniGUI the new stable version 1.2.0 released (2002/04/11).
|
||||
24) Sep., 2002: The main developers of MiniGUI founded a
|
||||
new software corporation: Beijing FMSoft Technology Co., Ltd..
|
||||
And the development and maintenance of MiniGUI changes from
|
||||
loosely-knit team to business organization.
|
||||
25) Mar., 2003: MiniGUI official version 1.2.5 released (2003/03/23).
|
||||
25) May., 2003: MiniGUI official version 1.2.6 released (2003/05/18).
|
||||
26) Sep., 2003: MiniGUI official version 1.3.1 released (2003/09/11).
|
||||
27) Jan., 2004: MiniGUI official version 1.5.1 released (2004/01/18).
|
||||
28) Feb., 2004: MiniGUI tested on eCos and uC/OS-II.
|
||||
29) Jun., 2004: MiniGUI tested on VxWorks.
|
||||
30) Jan., 2005: MiniGUI tested on ThreadX and pSOS.
|
||||
31) Feb., 2005: MiniGUI official version 1.6.1 released.
|
||||
32) Aug., 2005: MiniGUI beta version 2.0.0 released.
|
||||
33) Sep., 2005: MiniGUI official version 1.6.8 released.
|
||||
34) Oct., 2005: MiniGUI official version 2.0.2 released.
|
||||
35) Jun., 2006: MiniGUI provides support for OSE.
|
||||
36) Jul., 2006: MiniGUI official version 2.0.3/1.6.9 released.
|
||||
37) Nov., 2007: MiniGUI official version 2.0.4/1.6.10 released.
|
||||
38) Apr., 2009: MiniGUI official version 3.0.2 released.
|
||||
39) Oct., 2009: MiniGUI official version 3.0.4 released.
|
||||
40) Jan., 2010: MiniGUI official version 3.0.6 released.
|
||||
41) May., 2010: MiniGUI official version 3.0.8 released.
|
||||
42) Aug., 2010: MiniGUI official version 3.0.10 released.
|
||||
43) Oct., 2010: MiniGUI official version 3.0.12 released.
|
||||
44) Aug., 2017: FMSoft released the latest source code of MiniGUI under GPL 3.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.
|
||||
47) Feb., 2018: FMSoft released MiniGUI version 3.2.
|
||||
|
||||
1. 1994 ~ 1996: MiniGUI DOS version.
|
||||
1. Dec, 1998: Began to write.
|
||||
1. Apr, 1999: The skeleton of MiniGUI, windowing sub-system
|
||||
and basic graphics device interfaces.
|
||||
1. May, 1999: Timer, menu, and the skeleton of control sub-system.
|
||||
1. Jun, 1999: Chinese input method (by Kang Xiaoning).
|
||||
1. July, 1999: GIF and JPG loading support (by LI Zhuo).
|
||||
1. Aug, 1999: Some standard controls (Portion by Zhao Jianghua).
|
||||
1. Sep, 1999: Dialog boxes and message boxes.
|
||||
1. Sep, 1999: Snapshot of screen or window.
|
||||
1. Jan., 2000: VCOnGUI (Virtual Console on MiniGUI) version 0.2.02.
|
||||
1. Mar., 2000: Linux distribution installer based-on MiniGUI for
|
||||
HappyLinux 1.0.
|
||||
1. Jun., 2000: Began to develop version 1.0.xx.
|
||||
1. Sep., 2000: MiniGUI version 0.3.06 released.
|
||||
1. Oct., 2000: MiniGUI version 0.9.00 released.
|
||||
1. Nov., 2000: MiniGUI version 0.9.96 released.
|
||||
1. Jan., 2001: MiniGUI version 0.9.98 released. You can build
|
||||
MiniGUI-Lite from this version.
|
||||
1. Jan., 2001: MiniGUI version 1.0.00Beta1 released.
|
||||
1. Feb., 2001: MiniGUI version 1.0.00Pre1 released.
|
||||
1. Apr., 2001: MiniGUI version 1.0.00 released (2001/04/16).
|
||||
1. Sep., 2001: MiniGUI version 1.1.0Pre1 released (2001/09/12).
|
||||
1. Sep., 2001: MiniGUI version 1.0.9 released (2001/09/17),
|
||||
this will be the last version of source branch 1.0.x.
|
||||
1. Oct., 2001: MiniGUI version 1.1.0Pre4 released (2001/10/22).
|
||||
This version have new GAL and GDI interfaces.
|
||||
1. Mar., 2002: MiniGUI official version 1.1.0 released (2002/03/08).
|
||||
MiniGUI API Reference documentation version 0.9 released.
|
||||
1. Mar., 2002: MiniGUI API Reference documentation version 1.0 released.
|
||||
1. Apr., 2002: MiniGUI the new stable version 1.2.0 released (2002/04/11).
|
||||
1. Sep., 2002: The main developers of MiniGUI founded a
|
||||
new software corporation: Beijing FMSoft Technology Co., Ltd..
|
||||
And the development and maintenance of MiniGUI changes from
|
||||
loosely-knit team to business organization.
|
||||
1. Mar., 2003: MiniGUI official version 1.2.5 released (2003/03/23).
|
||||
1. May., 2003: MiniGUI official version 1.2.6 released (2003/05/18).
|
||||
1. Sep., 2003: MiniGUI official version 1.3.1 released (2003/09/11).
|
||||
1. Jan., 2004: MiniGUI official version 1.5.1 released (2004/01/18).
|
||||
1. Feb., 2004: MiniGUI tested on eCos and uC/OS-II.
|
||||
1. Jun., 2004: MiniGUI tested on VxWorks.
|
||||
1. Jan., 2005: MiniGUI tested on ThreadX and pSOS.
|
||||
1. Feb., 2005: MiniGUI official version 1.6.1 released.
|
||||
1. Aug., 2005: MiniGUI beta version 2.0.0 released.
|
||||
1. Sep., 2005: MiniGUI official version 1.6.8 released.
|
||||
1. Oct., 2005: MiniGUI official version 2.0.2 released.
|
||||
1. Jun., 2006: MiniGUI provides support for OSE.
|
||||
1. Jul., 2006: MiniGUI official version 2.0.3/1.6.9 released.
|
||||
1. Nov., 2007: MiniGUI official version 2.0.4/1.6.10 released.
|
||||
1. Apr., 2009: MiniGUI official version 3.0.2 released.
|
||||
1. Oct., 2009: MiniGUI official version 3.0.4 released.
|
||||
1. Jan., 2010: MiniGUI official version 3.0.6 released.
|
||||
1. May., 2010: MiniGUI official version 3.0.8 released.
|
||||
1. Aug., 2010: MiniGUI official version 3.0.10 released.
|
||||
1. Oct., 2010: MiniGUI official version 3.0.12 released.
|
||||
1. Aug., 2017: FMSoft released the latest source code of MiniGUI under GPL 3.0.
|
||||
1. Aug., 2017: FMSoft released the latest source code of mDolphin under Apache 2.0.
|
||||
1. Dec., 2017: FMSoft updated MiniGUI and miniStudio for latest Linux distributions.
|
||||
1. Feb., 2018: FMSoft released MiniGUI version 3.2.0.
|
||||
1. Apr., 2019: FMSoft released MiniGUI version 3.2.2.
|
||||
1. Jul., 2019: FMSoft released MiniGUI version 4.0.0.
|
||||
|
||||
## ABOUT THE AUTHORS
|
||||
|
||||
The original author of MiniGUI is WEI Yongming, and now MiniGUI is
|
||||
maintained by FMSoft. For more information, please browse
|
||||
our home page: http://www.fmsoft.cn.
|
||||
maintained by FMSoft. For more information, please refer to
|
||||
<http://www.fmsoft.cn>.
|
||||
|
||||
|
||||
## IF YOU HAVE A PROBLEM
|
||||
@@ -337,7 +410,7 @@ the commercial license of MiniGUI, please refer to the LICENSE-POLICY file.
|
||||
|
||||
We provide you the commercial license of MiniGUI according to the number
|
||||
of the run-time binary copies of MiniGUI. If you are interested in
|
||||
the commercial license of MiniGUI, please write to <sales@minigui.com>
|
||||
the commercial license of MiniGUI, please write to sales@minigui.com.
|
||||
|
||||
|
||||
## COPYING
|
||||
@@ -368,7 +441,7 @@ If you have got a commercial license of this program, please use it
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
### Special Statement
|
||||
|
||||
|
||||
+539
-18
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,9 @@
|
||||
Version 3.2.3 (2019/10/31)
|
||||
Version 4.0.0 (2019/06/30)
|
||||
|
||||
This release needs the following resource packages:
|
||||
|
||||
* minigui-res-3.0.13.tar.gz
|
||||
* minigui-res-4.0.0.tar.gz
|
||||
|
||||
The latest samples package is:
|
||||
|
||||
* mg-samples-3.2.2.tar.gz
|
||||
* mg-samples-4.0.0.tar.gz
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
./configure \
|
||||
--with-runmode=ths \
|
||||
--disable-dblclk \
|
||||
--disable-cursor \
|
||||
--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+=
|
||||
##################################################
|
||||
|
||||
+313
-168
File diff suppressed because it is too large
Load Diff
@@ -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)
|
||||
497 {
|
||||
498 int i;
|
||||
499 char name [LEN_FONT_NAME + 1];
|
||||
499 char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
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')
|
||||
503 break;
|
||||
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>
|
||||
228 typedef struct _LOGFONT {
|
||||
229 char type [LEN_FONT_NAME + 1];
|
||||
230 char family [LEN_FONT_NAME + 1];
|
||||
231 char charset [LEN_FONT_NAME + 1];
|
||||
229 char type [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
230 char family [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
231 char charset [LEN_LOGFONT_NAME_FIELD + 1];
|
||||
232 DWORD style;
|
||||
233 int size;
|
||||
234 int rotation;
|
||||
|
||||
+55
-11
@@ -1,18 +1,22 @@
|
||||
# This configuration file is for MiniGUI V3.x.x
|
||||
# This configuration file is for MiniGUI V4.0.x or later
|
||||
#
|
||||
# Copyright (C) 2002~2018 FMSoft
|
||||
# Copyright (C) 2002~2019 FMSoft
|
||||
# Copyright (C) 1998~2002 Wei Yongming.
|
||||
#
|
||||
# Web: http://www.minigui.com
|
||||
#
|
||||
# This configuration file must be installed in /etc,
|
||||
# /usr/local/etc or your home directory. When you install it in your
|
||||
# home directory, it should be named ".MiniGUI.cfg".
|
||||
#
|
||||
# The priority of above configruation files is ~/.MiniGUI.cfg,
|
||||
# /usr/local/etc/MiniGUI.cfg, and then /etc/MiniGUI.cfg.
|
||||
# /usr/local/etc, your home directory, or the current working direcotry.
|
||||
# When you install it in your home directory, it should be named
|
||||
# ".MiniGUI.cfg".
|
||||
#
|
||||
# If you change the install path of MiniGUI resource, you should
|
||||
# The priority of above configruation files is ./MiniGUI.cfg,
|
||||
# ~/.MiniGUI.cfg, /usr/local/etc/MiniGUI.cfg, and then /etc/MiniGUI.cfg.
|
||||
#
|
||||
# NOTE that the one in the current working directory will have
|
||||
# always have the highest priority.
|
||||
#
|
||||
# If you change the install path of MiniGUI resource, you should
|
||||
# modify this file to meet your configuration.
|
||||
#
|
||||
|
||||
@@ -26,12 +30,36 @@ ial_engine=pc_xvfb
|
||||
mdev=/dev/input/mice
|
||||
mtype=IMPS2
|
||||
|
||||
[fbcon]
|
||||
defaultmode=1024x768-16bpp
|
||||
# Linux IAL engine based on libinput
|
||||
# ial_engine=libinut
|
||||
|
||||
#{{ifdef _MGGAL_DRI
|
||||
[dri]
|
||||
defaultmode=1024x768-32bpp
|
||||
|
||||
# We use DRM fourcc code to defined the pixel format of the video surface.
|
||||
# For more information, please see <drm/drm_fourcc.h> header file.
|
||||
# Note that only 8/16/24/32 bpp RGB formats are supported.
|
||||
pixelformat=XR24
|
||||
|
||||
# The DRI device
|
||||
device=/dev/dri/card0
|
||||
# The resolution of the display
|
||||
# It is defined in dots (physical pixels) per inch
|
||||
# The default value is 96.
|
||||
dpi=96
|
||||
#}}
|
||||
|
||||
#{{ifdef _MGIAL_LIBINPUT
|
||||
[libinput]
|
||||
seat=seat0
|
||||
#}}
|
||||
|
||||
#{{ifdef _MGGAL_FBCON
|
||||
[fbcon]
|
||||
defaultmode=1024x768-16bpp
|
||||
dpi=96
|
||||
#}}
|
||||
|
||||
#{{ifdef _MGGAL_PCXVFB
|
||||
[pc_xvfb]
|
||||
@@ -58,7 +86,19 @@ def_bgcolor=0x00FF00
|
||||
double_buffer=enable
|
||||
#}}
|
||||
|
||||
#{{ifdef _MGIAL_RANDOM
|
||||
[random]
|
||||
logfile=/dev/null
|
||||
eventtypes=mouse-keyboard-button-gesture
|
||||
minkeycode=1
|
||||
maxkeycode=128
|
||||
minbtncode=0x100
|
||||
maxbtncode=0x1ff
|
||||
#}}
|
||||
|
||||
# The first system font must be a logical font using RBF device font.
|
||||
# NOTE that the maxiaml number of system logfonts is 6. You should not
|
||||
# set `font_number` in this section to be a number larger than 6.
|
||||
[systemfont]
|
||||
font_number=5
|
||||
font0=rbf-FixedSys-rrncnn-8-16-ISO8859-1
|
||||
@@ -88,6 +128,10 @@ font_number=0
|
||||
|
||||
[truetypefonts]
|
||||
font_number=0
|
||||
# The devfont now supports multiple font family names since V4.0.0.
|
||||
name0=ttf-Source Sans Pro,SansSerif-rrncnn-0-0-ISO8859-1,UTF-8
|
||||
# The path of font file can be relative to the current working directory.
|
||||
fontfile0=font/SourceSansPro-Regular.ttf
|
||||
|
||||
[mouse]
|
||||
dblclicktime=300
|
||||
@@ -126,7 +170,7 @@ cursor22=ve_split.cur
|
||||
|
||||
[resinfo]
|
||||
respath=/usr/local/share/minigui/res/
|
||||
|
||||
|
||||
[classic]
|
||||
# Note that max number defined in source code is 5.
|
||||
iconnumber=5
|
||||
|
||||
+12
-12
@@ -1,14 +1,14 @@
|
||||
static LOGFONT *logfont, *logfontgb12, *logfontbig24;
|
||||
|
||||
logfont = CreateLogFont (NULL, "SansSerif", "ISO8859-1",
|
||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_SETWIDTH_NORMAL,
|
||||
FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_LINE,
|
||||
16, 0);
|
||||
logfontgb12 = CreateLogFont (NULL, "song", "GB2312",
|
||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,
|
||||
FONT_SPACING_CHARCELL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_LINE,
|
||||
12, 0);
|
||||
logfontbig24 = CreateLogFont (NULL, "ming", "BIG5",
|
||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,
|
||||
FONT_SPACING_CHARCELL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_NONE,
|
||||
24, 0);
|
||||
logfont = CreateLogFont (NULL, "SansSerif", "ISO8859-1",
|
||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_FLIP_NONE,
|
||||
FONT_OTHER_NIL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_LINE,
|
||||
16, 0);
|
||||
logfontgb12 = CreateLogFont (NULL, "song", "GB2312",
|
||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
|
||||
FONT_OTHER_NIL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_LINE,
|
||||
12, 0);
|
||||
logfontbig24 = CreateLogFont (NULL, "ming", "BIG5",
|
||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
|
||||
FONT_OTHER_NIL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_NONE,
|
||||
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);
|
||||
+3
-3
@@ -10,7 +10,7 @@ libminiguiincludedir = $(includedir)/minigui
|
||||
COMM_HDRS = \
|
||||
common.h endianrw.h fixedmath.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 \
|
||||
dti.c
|
||||
|
||||
@@ -23,12 +23,12 @@ OSE_HDRS=ose_semaphore.h
|
||||
PSOS_HDRS=psos_pthread.h psos_semaphore.h
|
||||
|
||||
EXTRA_DIST=$(UCOSII_HDRS) $(THREADX_HDRS) $(NUCLEUS_HDRS) $(VXWORKS_HDRS) \
|
||||
$(OSE_HDRS) $(PSOS_HDRS) $(WIN32_HDRS) makefile.ng makefile.msvc
|
||||
$(OSE_HDRS) $(PSOS_HDRS) $(WIN32_HDRS) makefile.ng makefile.msvc
|
||||
|
||||
#CLEANFILES=pthread.h semaphore.h
|
||||
|
||||
libminiguiinclude_HEADERS=$(COMM_HDRS) $(UCOSII_HDRS) $(THREADX_HDRS) \
|
||||
$(NUCLEUS_HDRS) $(VXWORKS_HDRS) $(OSE_HDRS) $(PSOS_HDRS) $(WIN32_HDRS)
|
||||
$(NUCLEUS_HDRS) $(VXWORKS_HDRS) $(OSE_HDRS) $(PSOS_HDRS) $(WIN32_HDRS)
|
||||
|
||||
if MGUSE_OWN_PTHREAD
|
||||
install-data-local:
|
||||
|
||||
+400
-132
File diff suppressed because it is too large
Load Diff
+16
-4
@@ -1,13 +1,25 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file control.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
* \date 2001/12/29
|
||||
*
|
||||
*
|
||||
* \brief This file includes interfaces of standard controls of MiniGUI.
|
||||
*
|
||||
\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 smart IoT devices.
|
||||
|
||||
@@ -37,7 +49,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
@@ -45,7 +57,7 @@
|
||||
/*
|
||||
* $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.
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file animation.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+13
-1
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file button.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+13
-1
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file combobox.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+13
-1
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file coolbar.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file ctrlhelper.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+13
-1
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file edit.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+13
-1
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file gridview.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+13
-1
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file iconview.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+13
-1
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file listbox.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+14
-2
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file listview.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
@@ -871,7 +883,7 @@ typedef LVNM_ITEMRUP *PLVNM_ITEMRUP;
|
||||
*/
|
||||
#define LVM_GETITEMSTATE 0xF128
|
||||
|
||||
/*
|
||||
/**
|
||||
* \def LVM_GETSELECTEDCOLUMN
|
||||
* \brief Retrieves the index of the currently selected column of a listview.
|
||||
*
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file menubutton.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+13
-1
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file monthcal.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file newtoolbar.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file progressbar.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file propsheet.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file scrollbar.h
|
||||
* \author wangjian
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file scrollview.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+13
-1
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file spinbox.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+13
-1
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file static.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+13
-1
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file textedit.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+13
-1
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file trackbar.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+13
-1
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file treeview.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -35,7 +47,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+165
-23
@@ -1,13 +1,25 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file customial.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
* \date 2007/06/06
|
||||
*
|
||||
*
|
||||
* \brief This file is the head file for Custom IAL Engine.
|
||||
*
|
||||
\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 smart IoT devices.
|
||||
|
||||
@@ -36,7 +48,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
@@ -44,30 +56,159 @@
|
||||
/*
|
||||
* $Id: customial.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.
|
||||
*/
|
||||
|
||||
#ifndef GUI_IAL_CUSTOM_H
|
||||
#define GUI_IAL_CUSTOM_H
|
||||
|
||||
#define IAL_MOUSE_LEFTBUTTON 1
|
||||
#define IAL_MOUSE_RIGHTBUTTON 2
|
||||
#define IAL_MOUSE_MIDDLEBUTTON 4
|
||||
#define IAL_MOUSE_FOURTHBUTTON 8
|
||||
#define IAL_MOUSE_FIFTHBUTTON 16
|
||||
#define IAL_MOUSE_SIXTHBUTTON 32
|
||||
#define IAL_MOUSE_RESETBUTTON 64
|
||||
#define IAL_MOUSE_LEFTBUTTON (1 << 0)
|
||||
#define IAL_MOUSE_RIGHTBUTTON (1 << 1)
|
||||
#define IAL_MOUSE_MIDDLEBUTTON (1 << 2)
|
||||
|
||||
#define IAL_MOUSEEVENT 1
|
||||
#define IAL_KEYEVENT 2
|
||||
/* deprecated since 4.0.0
|
||||
#define IAL_MOUSE_FOURTHBUTTON (1 << 3)
|
||||
#define IAL_MOUSE_FIFTHBUTTON (1 << 4)
|
||||
#define IAL_MOUSE_SIXTHBUTTON (1 << 5)
|
||||
#define IAL_MOUSE_SEVENTHBUTTON (1 << 6)
|
||||
#define IAL_MOUSE_EIGHTHBUTTON (1 << 7)
|
||||
|
||||
#define IAL_MOUSE_SIDEBUTTON IAL_MOUSE_FOURTHBUTTON
|
||||
#define IAL_MOUSE_EXTRABUTTON IAL_MOUSE_FIFTHBUTTON
|
||||
#define IAL_MOUSE_FORWARDBUTTON IAL_MOUSE_SIXTHBUTTON
|
||||
#define IAL_MOUSE_BACKBUTTON IAL_MOUSE_SEVENTHBUTTON
|
||||
#define IAL_MOUSE_TASKBUTTON IAL_MOUSE_EIGHTHBUTTON
|
||||
#define IAL_MOUSE_RESETBUTTON IAL_MOUSE_EIGHTHBUTTON
|
||||
*/
|
||||
|
||||
#define IAL_EVENT_MOUSE (1 << 0)
|
||||
#define IAL_MOUSEEVENT IAL_EVENT_MOUSE
|
||||
#define IAL_EVENT_KEY (1 << 1)
|
||||
#define IAL_KEYEVENT IAL_EVENT_KEY
|
||||
|
||||
#define IAL_EVENT_EXTRA (1 << 2)
|
||||
|
||||
/* The event identifiers, should keep sync with MSG_EXIN_XXX */
|
||||
#ifndef AXIS_SCROLL_INVALID
|
||||
#define AXIS_SCROLL_INVALID 0
|
||||
#define AXIS_SCROLL_VERTICAL 1
|
||||
#define AXIS_SCROLL_HORIZONTAL 2
|
||||
|
||||
#define AXIS_SOURCE_INVALID 0
|
||||
#define AXIS_SOURCE_WHEEL 1
|
||||
#define AXIS_SOURCE_FINGER 2
|
||||
#define AXIS_SOURCE_CONTINUOUS 3
|
||||
#define AXIS_SOURCE_WHEEL_TILT 4
|
||||
#endif
|
||||
|
||||
#define IAL_EVENT_AXIS 0x0070
|
||||
#define IAL_EVENT_BUTTONDOWN 0x0071
|
||||
#define IAL_EVENT_BUTTONUP 0x0072
|
||||
|
||||
#define IAL_EVENT_TOUCH_DOWN 0x0073
|
||||
#define IAL_EVENT_TOUCH_UP 0x0074
|
||||
#define IAL_EVENT_TOUCH_MOTION 0x0075
|
||||
#define IAL_EVENT_TOUCH_CANCEL 0x0076
|
||||
#define IAL_EVENT_TOUCH_FRAME 0x0077
|
||||
|
||||
#ifndef SWITCH_INVALID
|
||||
#define SWITCH_INVALID 0
|
||||
#define SWITCH_LID 1
|
||||
#define SWITCH_TABLET_MODE 2
|
||||
|
||||
#define SWITCH_STATE_INVALID 0
|
||||
#define SWITCH_STATE_ON 1
|
||||
#define SWITCH_STATE_OFF 2
|
||||
#endif
|
||||
|
||||
#define IAL_EVENT_SWITCH_TOGGLE 0x007A
|
||||
|
||||
#define IAL_EVENT_GESTURE_SWIPE_BEGIN 0x0080
|
||||
#define IAL_EVENT_GESTURE_SWIPE_UPDATE 0x0081
|
||||
#define IAL_EVENT_GESTURE_SWIPE_END 0x0082
|
||||
#define IAL_EVENT_GESTURE_PINCH_BEGIN 0x0083
|
||||
#define IAL_EVENT_GESTURE_PINCH_UPDATE 0x0084
|
||||
#define IAL_EVENT_GESTURE_PINCH_END 0x0085
|
||||
|
||||
#ifndef TABLET_TOOL_X
|
||||
#define TABLET_TOOL_PROXIMITY_STATE_INVALID 0
|
||||
#define TABLET_TOOL_PROXIMITY_STATE_OUT 1
|
||||
#define TABLET_TOOL_PROXIMITY_STATE_IN 2
|
||||
|
||||
#define TABLET_TOOL_TIP_INVALID 0
|
||||
#define TABLET_TOOL_TIP_UP 1
|
||||
#define TABLET_TOOL_TIP_DOWN 2
|
||||
|
||||
#define TABLET_BUTTON_STATE_INVALID 0
|
||||
#define TABLET_BUTTON_STATE_RELEASED 1
|
||||
#define TABLET_BUTTON_STATE_PRESSED 2
|
||||
|
||||
#define TABLET_PAD_RING_SOURCE_UNKNOWN 0
|
||||
#define TABLET_PAD_RING_SOURCE_FINGER 1
|
||||
|
||||
#define TABLET_PAD_STRIP_SOURCE_UNKNOWN 0
|
||||
#define TABLET_PAD_STRIP_SOURCE_FINGER 1
|
||||
|
||||
#define TABLET_TOOL_CHANGED_X (1 << 0)
|
||||
#define TABLET_TOOL_CHANGED_Y (1 << 1)
|
||||
#define TABLET_TOOL_CHANGED_PRESSURE (1 << 2)
|
||||
#define TABLET_TOOL_CHANGED_DISTANCE (1 << 3)
|
||||
#define TABLET_TOOL_CHANGED_TILT_X (1 << 4)
|
||||
#define TABLET_TOOL_CHANGED_TILT_Y (1 << 5)
|
||||
#define TABLET_TOOL_CHANGED_ROTATION (1 << 6)
|
||||
#define TABLET_TOOL_CHANGED_SLIDER (1 << 7)
|
||||
#define TABLET_TOOL_CHANGED_SIZE_MAJOR (1 << 8)
|
||||
#define TABLET_TOOL_CHANGED_SIZE_MINOR (1 << 9)
|
||||
#define TABLET_TOOL_CHANGED_WHEEL (1 << 10)
|
||||
|
||||
#define TABLET_TOOL_X 0
|
||||
#define TABLET_TOOL_Y 1
|
||||
#define TABLET_TOOL_PRESSURE 2
|
||||
#define TABLET_TOOL_DISTANCE 3
|
||||
#define TABLET_TOOL_TILT_X 4
|
||||
#define TABLET_TOOL_TILT_Y 5
|
||||
#define TABLET_TOOL_ROTATION 6
|
||||
#define TABLET_TOOL_SLIDER 7
|
||||
#define TABLET_TOOL_SIZE_MAJOR 8
|
||||
#define TABLET_TOOL_SIZE_MINOR 9
|
||||
#define TABLET_TOOL_WHEEL 10
|
||||
|
||||
#endif
|
||||
|
||||
#define IAL_EVENT_TABLET_TOOL_AXIS 0x0090
|
||||
#define IAL_EVENT_TABLET_TOOL_PROXIMITY 0x0091
|
||||
#define IAL_EVENT_TABLET_TOOL_TIP 0x0092
|
||||
#define IAL_EVENT_TABLET_TOOL_BUTTON 0x0093
|
||||
|
||||
#define IAL_EVENT_TABLET_PAD_BUTTON 0x0094
|
||||
#define IAL_EVENT_TABLET_PAD_RING 0x0095
|
||||
#define IAL_EVENT_TABLET_PAD_STRIP 0x0096
|
||||
|
||||
#define IAL_EVENT_USER_BEGIN 0x009A
|
||||
#define IAL_EVENT_USER_UPDATE 0x009B
|
||||
#define IAL_EVENT_USER_END 0x009C
|
||||
|
||||
#define NR_PACKED_SUB_EVENTS 16
|
||||
|
||||
typedef struct _EXTRA_INPUT_EVENT {
|
||||
int event;
|
||||
WPARAM wparam;
|
||||
LPARAM lparam;
|
||||
|
||||
// for tablet tool messages
|
||||
unsigned int params_mask;
|
||||
WPARAM wparams[NR_PACKED_SUB_EVENTS];
|
||||
LPARAM lparams[NR_PACKED_SUB_EVENTS];
|
||||
} EXTRA_INPUT_EVENT;
|
||||
|
||||
#define IAL_LEN_MDEV 127
|
||||
|
||||
typedef struct tagINPUT {
|
||||
char* id;
|
||||
|
||||
// Initialization and termination
|
||||
BOOL (*init_input) (struct tagINPUT *input, const char* mdev,
|
||||
const char* mtype);
|
||||
BOOL (*init_input) (struct tagINPUT *input, const char* mdev, const char* mtype);
|
||||
void (*term_input) (void);
|
||||
|
||||
// Mouse operations
|
||||
@@ -86,27 +227,28 @@ typedef struct tagINPUT {
|
||||
int (*resume_keyboard) (void);
|
||||
void (*set_leds) (unsigned int leds);
|
||||
|
||||
// Event
|
||||
// Event loop
|
||||
int (*wait_event) (int which, int maxfd, fd_set *in, fd_set *out,
|
||||
fd_set *except, struct timeval *timeout);
|
||||
|
||||
char mdev [MAX_PATH + 1];
|
||||
// New wait event method for getting extra input events; since 4.0.0
|
||||
int (*wait_event_ex) (int maxfd, fd_set *in, fd_set *out,
|
||||
fd_set *except, struct timeval *timeout, EXTRA_INPUT_EVENT* extra);
|
||||
} INPUT;
|
||||
|
||||
#ifdef _MGIAL_CUSTOM
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
BOOL InitCustomInput (INPUT* input, const char* mdev, const char* mtype);
|
||||
void TermCustomInput (void);
|
||||
#ifdef _MGIAL_CUSTOM
|
||||
extern BOOL InitCustomInput (INPUT* input, const char* mdev, const char* mtype);
|
||||
extern void TermCustomInput (void);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* _MGIAL_CUSTOM */
|
||||
|
||||
#endif /* GUI_IAL_CUSTOM_H */
|
||||
|
||||
|
||||
|
||||
+42
-6
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/*
|
||||
* \file dti.c
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -5,13 +17,37 @@
|
||||
*
|
||||
\verbatim
|
||||
|
||||
Copyright (C) 2002-2018 FMSoft
|
||||
Copyright (C) 1999-2002 Wei Yongming.
|
||||
|
||||
All rights reserved by Feynman Software.
|
||||
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.
|
||||
|
||||
This file is part of MiniGUI, a compact cross-platform Graphics
|
||||
User Interface (GUI) support system for real-time embedded systems.
|
||||
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
|
||||
Copyright (C) 1998~2002, WEI Yongming
|
||||
|
||||
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/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+13
-1
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file endianrw.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -40,7 +52,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
|
||||
+226
-14
@@ -1,3 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file exstubs.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
@@ -37,7 +49,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
@@ -50,6 +62,209 @@
|
||||
#ifndef GUI_EXSTUBS_H
|
||||
#define GUI_EXSTUBS_H
|
||||
|
||||
/**
|
||||
* \defgroup external_stubs External Stubs
|
||||
*
|
||||
* The stubs (callbacks) you need to implement for external target.
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#ifdef _MGGAL_DRI
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/**
|
||||
* The struct type represents the DRI sub driver.
|
||||
* The concrete struct should be defined by the driver.
|
||||
*/
|
||||
struct _DriDriver;
|
||||
typedef struct _DriDriver DriDriver;
|
||||
|
||||
/**
|
||||
* The struct type represents the bufffer can be used by
|
||||
* MiniGUI NEWGAL engine for hardware surface.
|
||||
*/
|
||||
typedef struct _DriSurfaceBuffer {
|
||||
uint32_t buff_id;
|
||||
uint32_t width;
|
||||
uint32_t height;
|
||||
uint32_t pitch;
|
||||
|
||||
uint32_t drm_format;
|
||||
//uint32_t depth:8;
|
||||
uint16_t bpp:8;
|
||||
uint16_t cpp:8;
|
||||
|
||||
uint8_t* pixels;
|
||||
} DriSurfaceBuffer;
|
||||
|
||||
/**
|
||||
* The color logic operations.
|
||||
*/
|
||||
enum DriColorLogicOp {
|
||||
COLOR_LOGICOP_CLEAR = 0,
|
||||
COLOR_LOGICOP_NOR = 1,
|
||||
COLOR_LOGICOP_AND_INVERTED = 2,
|
||||
COLOR_LOGICOP_COPY_INVERTED = 3,
|
||||
COLOR_LOGICOP_AND_REVERSE = 4,
|
||||
COLOR_LOGICOP_INVERT = 5,
|
||||
COLOR_LOGICOP_XOR = 6,
|
||||
COLOR_LOGICOP_NAND = 7,
|
||||
COLOR_LOGICOP_AND = 8,
|
||||
COLOR_LOGICOP_EQUIV = 9,
|
||||
COLOR_LOGICOP_NOOP = 10,
|
||||
COLOR_LOGICOP_OR_INVERTED = 11,
|
||||
COLOR_LOGICOP_COPY = 12,
|
||||
COLOR_LOGICOP_OR_REVERSE = 13,
|
||||
COLOR_LOGICOP_OR = 14,
|
||||
COLOR_LOGICOP_SET = 15
|
||||
};
|
||||
|
||||
typedef struct _DriDriverOps {
|
||||
/**
|
||||
* This operator creates the DriDriver object.
|
||||
*
|
||||
* \note The driver must implement this operator.
|
||||
*/
|
||||
DriDriver* (*create_driver) (int device_fd);
|
||||
|
||||
/**
|
||||
* This operator destroies the DriDriver object.
|
||||
*
|
||||
* \note The driver must implement this operator.
|
||||
*/
|
||||
void (*destroy_driver) (DriDriver *driver);
|
||||
|
||||
/**
|
||||
* This operator flushs the batch buffer of the driver or the hardware cache.
|
||||
*
|
||||
* \note This operator can be NULL.
|
||||
*/
|
||||
void (* flush_driver) (DriDriver *driver);
|
||||
|
||||
/**
|
||||
* This operator creates a buffer with the specified pixel format,
|
||||
* width, and height. If succeed, a valid (not zero) buffer identifier
|
||||
* and the picth (row stride in bytes) will be returned.
|
||||
* If failed, it returns 0.
|
||||
*
|
||||
* \note The driver must implement this operator.
|
||||
*/
|
||||
uint32_t (* create_buffer) (DriDriver *driver,
|
||||
uint32_t drm_format,
|
||||
unsigned int width, unsigned int height,
|
||||
unsigned int *pitch);
|
||||
|
||||
BOOL (* fetch_buffer) (DriDriver *driver,
|
||||
uint32_t buffer_id,
|
||||
unsigned int *width, unsigned int *height,
|
||||
unsigned int *pitch);
|
||||
|
||||
/**
|
||||
* This operator maps the buffer into the current process's virtual memory
|
||||
* space, and returns the virtual address. If failed, it returns NULL.
|
||||
*
|
||||
* \note The driver must implement this operator.
|
||||
*/
|
||||
DriSurfaceBuffer* (* map_buffer) (DriDriver *driver,
|
||||
uint32_t buffer_id);
|
||||
|
||||
/**
|
||||
* This operator un-maps a buffer.
|
||||
*
|
||||
* \note The driver must implement this operator.
|
||||
*/
|
||||
void (* unmap_buffer) (DriDriver *driver, DriSurfaceBuffer* buffer);
|
||||
|
||||
/**
|
||||
* This operator destroies a buffer.
|
||||
*
|
||||
* \note The driver must implement this operator.
|
||||
*/
|
||||
void (* destroy_buffer) (DriDriver *driver, uint32_t buffer_id);
|
||||
|
||||
/**
|
||||
* This operator clears the specific rectangle area of a buffer
|
||||
* with the specific pixel value. If succeed, it returns 0.
|
||||
*
|
||||
* \note If this operator is set as NULL, the driver does not support
|
||||
* hardware accelerated clear operation.
|
||||
*/
|
||||
int (* clear_buffer) (DriDriver *driver,
|
||||
DriSurfaceBuffer* dst_buf, const GAL_Rect* rc, uint32_t pixel_value);
|
||||
|
||||
/**
|
||||
* This operator checks whether a hardware accelerated blit
|
||||
* can be done between the source buffer and the destination buffer.
|
||||
* If succeed, it returns 0.
|
||||
*
|
||||
* \note If this operator is set as NULL, it will be supposed that
|
||||
* the driver does not support any hardware accelerated blit operation.
|
||||
*/
|
||||
int (* check_blit) (DriDriver *driver,
|
||||
DriSurfaceBuffer* src_buf, DriSurfaceBuffer* dst_buf);
|
||||
|
||||
/**
|
||||
* This operator copies bits from a source buffer to a destination buffer.
|
||||
*
|
||||
* \note If this operator is set as NULL, the driver does not support
|
||||
* hardware accelerated copy blit.
|
||||
*/
|
||||
int (* copy_blit) (DriDriver *driver,
|
||||
DriSurfaceBuffer* src_buf, const GAL_Rect* src_rc,
|
||||
DriSurfaceBuffer* dst_buf, const GAL_Rect* dst_rc,
|
||||
enum DriColorLogicOp logic_op);
|
||||
|
||||
/**
|
||||
* This operator blits pixles from a source buffer with the source alpha value
|
||||
* specified to a destination buffer.
|
||||
*
|
||||
* \note If this operator is set as NULL, the driver does not support
|
||||
* hardware accelerated blit with alpha.
|
||||
*/
|
||||
int (* alpha_blit) (DriDriver *driver,
|
||||
DriSurfaceBuffer* src_buf, const GAL_Rect* src_rc,
|
||||
DriSurfaceBuffer* dst_buf, const GAL_Rect* dst_rc, uint8_t alpha);
|
||||
|
||||
/**
|
||||
* This operator blits pixles from a source buffer to a destination buffer,
|
||||
* but skipping the pixel value specified by \a color_key.
|
||||
*
|
||||
* \note If this operator is set as NULL, the driver does not support
|
||||
* hardware accelerated blit with color key.
|
||||
*/
|
||||
int (* key_blit) (DriDriver *driver,
|
||||
DriSurfaceBuffer* src_buf, const GAL_Rect* src_rc,
|
||||
DriSurfaceBuffer* dst_buf, const GAL_Rect* dst_rc, uint32_t color_key);
|
||||
|
||||
/**
|
||||
* This operator blits pixles from a source buffer with the source alpha value
|
||||
* specified to a destination buffer, but skipping the pixel value specified.
|
||||
*
|
||||
* \note If this operator is set as NULL, the driver does not support
|
||||
* hardware accelerated blit with alpha and color key.
|
||||
*/
|
||||
int (* alpha_key_blit) (DriDriver *driver,
|
||||
DriSurfaceBuffer* src_buf, const GAL_Rect* src_rc,
|
||||
DriSurfaceBuffer* dst_buf, const GAL_Rect* dst_rc,
|
||||
uint8_t alpha, uint32_t color_key);
|
||||
|
||||
} DriDriverOps;
|
||||
|
||||
/** Implement this stub to return the DRI driver operators */
|
||||
DriDriverOps* __dri_ex_driver_get (const char* driver_name);
|
||||
|
||||
#endif /* _MGGAL_DRI */
|
||||
|
||||
#ifdef _MGGAL_COMMLCD
|
||||
|
||||
/* external stubs for COMMLCD NEWGAL engine */
|
||||
|
||||
/* The pixel format defined by depth */
|
||||
#define COMMLCD_PSEUDO_RGB332 1
|
||||
#define COMMLCD_TRUE_RGB555 2
|
||||
@@ -74,19 +289,6 @@ struct commlcd_info {
|
||||
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);
|
||||
@@ -98,6 +300,14 @@ int __commlcd_drv_update (const RECT* rc_dirty);
|
||||
|
||||
#ifdef _MGIAL_COMM
|
||||
|
||||
/* external stubs for COMM IAL engine */
|
||||
|
||||
#define COMM_MOUSEINPUT 0x01
|
||||
#define COMM_KBINPUT 0x02
|
||||
|
||||
#define COMM_MOUSELBUTTON 0x01
|
||||
#define COMM_MOUSERBUTTON 0x04
|
||||
|
||||
int __comminput_init (void);
|
||||
int __comminput_ts_getdata (short *x, short *y, short *button);
|
||||
int __comminput_kb_getdata (short *key, short *status);
|
||||
@@ -110,5 +320,7 @@ void __comminput_deinit (void);
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/** @} end of general_rw_fns */
|
||||
|
||||
#endif /* GUI_EXSTUBS_H */
|
||||
|
||||
|
||||
+79
-67
@@ -1,13 +1,25 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IMPORTANT NOTICE
|
||||
//
|
||||
// The following open source license statement does not apply to any
|
||||
// entity in the Exception List published by FMSoft.
|
||||
//
|
||||
// For more information, please visit:
|
||||
//
|
||||
// https://www.fmsoft.cn/exception-list
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* \file fixedmath.h
|
||||
* \author Wei Yongming <vincent@minigui.org>
|
||||
* \date 2002/01/12
|
||||
*
|
||||
*
|
||||
* \brief This file includes fixed point and three-dimension math routines.
|
||||
*
|
||||
\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 smart IoT devices.
|
||||
|
||||
@@ -37,7 +49,7 @@
|
||||
under the terms and conditions of the commercial license.
|
||||
|
||||
For more information about the commercial license, please refer to
|
||||
<http://www.minigui.com/blog/minigui-licensing-policy/>.
|
||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||
|
||||
\endverbatim
|
||||
*/
|
||||
@@ -45,7 +57,7 @@
|
||||
/*
|
||||
* $Id: fixedmath.h 12154 2009-10-15 07:21:34Z 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.
|
||||
*
|
||||
* Fixed-point math routins come from Allegro (a gift software)
|
||||
@@ -79,21 +91,21 @@ extern "C" {
|
||||
|
||||
/**
|
||||
* \defgroup fixed_math_fns Fixed point math functions
|
||||
*
|
||||
*
|
||||
* You know that the float point mathematics routines are very
|
||||
* expensive. If you do not want precision mathematics result,
|
||||
* expensive. If you do not want precision mathematics result,
|
||||
* you can use fixed point. MiniGUI uses a double word (32-bit)
|
||||
* integer to represent a fixed point ranged from -32767.0 to
|
||||
* 32767.0, and defines some fixed point mathematics routines for
|
||||
* your application. Some GDI functions need fixed point
|
||||
* integer to represent a fixed point ranged from -32767.0 to
|
||||
* 32767.0, and defines some fixed point mathematics routines for
|
||||
* your application. Some GDI functions need fixed point
|
||||
* math routines, like \a Arc.
|
||||
*
|
||||
* Example 1:
|
||||
*
|
||||
*
|
||||
* \include fixed_point.c
|
||||
*
|
||||
* Example 2:
|
||||
*
|
||||
*
|
||||
* \include fixedpoint.c
|
||||
* @{
|
||||
*/
|
||||
@@ -112,9 +124,9 @@ MG_EXPORT fixed fixsqrt (fixed x);
|
||||
/**
|
||||
* \fn fixed fixhypot (fixed x, fixed y)
|
||||
* \brief Returns the Euclidean distance from the origin.
|
||||
*
|
||||
* The function returns the \a sqrt(x*x+y*y). This is the length of
|
||||
* the hypotenuse of a right-angle triangle with sides of length \a x and \a y,
|
||||
*
|
||||
* The function returns the \a sqrt(x*x+y*y). This is the length of
|
||||
* the hypotenuse of a right-angle triangle with sides of length \a x and \a y,
|
||||
* or the distance of the point \a (x,y) from the origin.
|
||||
*
|
||||
* \sa fixsqrt
|
||||
@@ -125,10 +137,10 @@ MG_EXPORT fixed fixhypot (fixed x, fixed y);
|
||||
* \fn fixed fixatan (fixed x)
|
||||
* \brief Calculates the arc tangent of a fixed point value.
|
||||
*
|
||||
* This function calculates the arc tangent of \a x; that is the value
|
||||
* This function calculates the arc tangent of \a x; that is the value
|
||||
* whose tangent is \a x.
|
||||
*
|
||||
* \return Returns the arc tangent in radians and the value is
|
||||
* \return Returns the arc tangent in radians and the value is
|
||||
* mathematically defined to be between -PI/2 and PI/2 (inclusive).
|
||||
*
|
||||
* \sa fixatan2
|
||||
@@ -140,20 +152,20 @@ MG_EXPORT fixed fixatan (fixed x);
|
||||
* \brief Calculates the arc tangent of two fixed point variables.
|
||||
*
|
||||
* This function calculates the arc tangent of the two variables \a x and \a y.
|
||||
* It is similar to calculating the arc tangent of \a y / \a x, except that
|
||||
* the signs of both arguments are used to determine the quadrant of the
|
||||
* It is similar to calculating the arc tangent of \a y / \a x, except that
|
||||
* the signs of both arguments are used to determine the quadrant of the
|
||||
* result.
|
||||
*
|
||||
* \return Returns the result in radians, which is between -PI and PI
|
||||
* \return Returns the result in radians, which is between -PI and PI
|
||||
* (inclusive).
|
||||
*
|
||||
* \sa fixatan
|
||||
*/
|
||||
MG_EXPORT fixed fixatan2 (fixed y, fixed x);
|
||||
|
||||
extern MG_EXPORT fixed _cos_tbl[];
|
||||
extern MG_EXPORT fixed _tan_tbl[];
|
||||
extern MG_EXPORT fixed _acos_tbl[];
|
||||
extern MG_EXPORT const fixed __mg_cos_tbl[];
|
||||
extern MG_EXPORT const fixed __mg_tan_tbl[];
|
||||
extern MG_EXPORT const fixed __mg_acos_tbl[];
|
||||
|
||||
/************************** inline fixed point math functions *****************/
|
||||
/* ftofix and fixtof are used in generic C versions of fixmul and fixdiv */
|
||||
@@ -162,7 +174,7 @@ extern MG_EXPORT fixed _acos_tbl[];
|
||||
* \fn fixed ftofix (double x)
|
||||
* \brief Converts a float point value to a fixed point value.
|
||||
*
|
||||
* This function converts the specified float point value \a x to
|
||||
* This function converts the specified float point value \a x to
|
||||
* a fixed point value.
|
||||
*
|
||||
* \note The float point should be ranged from -32767.0 to 32767.0.
|
||||
@@ -171,7 +183,7 @@ extern MG_EXPORT fixed _acos_tbl[];
|
||||
* \sa fixtof
|
||||
*/
|
||||
static inline fixed ftofix (double x)
|
||||
{
|
||||
{
|
||||
if (x > 32767.0) {
|
||||
errno = ERANGE;
|
||||
return 0x7FFFFFFF;
|
||||
@@ -182,21 +194,21 @@ static inline fixed ftofix (double x)
|
||||
return -0x7FFFFFFF;
|
||||
}
|
||||
|
||||
return (long)(x * 65536.0 + (x < 0 ? -0.5 : 0.5));
|
||||
return (long)(x * 65536.0 + (x < 0 ? -0.5 : 0.5));
|
||||
}
|
||||
|
||||
/**
|
||||
* \fn double fixtof (fixed x)
|
||||
* \brief Converts a fixed point value to a float point value.
|
||||
*
|
||||
* This function converts the specified fixed point value \a x to
|
||||
* This function converts the specified fixed point value \a x to
|
||||
* a float point value.
|
||||
*
|
||||
* \sa ftofix
|
||||
*/
|
||||
static inline double fixtof (fixed x)
|
||||
{
|
||||
return (double)x / 65536.0;
|
||||
{
|
||||
return (double)x / 65536.0;
|
||||
}
|
||||
|
||||
|
||||
@@ -209,7 +221,7 @@ static inline double fixtof (fixed x)
|
||||
*
|
||||
* \param x x,y: Two addends.
|
||||
* \param y x,y: Two addends.
|
||||
* \return The sum. If the result runs out of range of fixed point,
|
||||
* \return The sum. If the result runs out of range of fixed point,
|
||||
* this function sets \a errno to \a ERANGE.
|
||||
*
|
||||
* \sa fixsub
|
||||
@@ -220,19 +232,19 @@ static inline fixed fixadd (fixed x, fixed y)
|
||||
|
||||
if (result >= 0) {
|
||||
if ((x < 0) && (y < 0)) {
|
||||
errno = ERANGE;
|
||||
return -0x7FFFFFFF;
|
||||
errno = ERANGE;
|
||||
return -0x7FFFFFFF;
|
||||
}
|
||||
else
|
||||
return result;
|
||||
return result;
|
||||
}
|
||||
else {
|
||||
if ((x > 0) && (y > 0)) {
|
||||
errno = ERANGE;
|
||||
return 0x7FFFFFFF;
|
||||
errno = ERANGE;
|
||||
return 0x7FFFFFFF;
|
||||
}
|
||||
else
|
||||
return result;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -240,13 +252,13 @@ static inline fixed fixadd (fixed x, fixed y)
|
||||
* \fn fixed fixsub (fixed x, fixed y)
|
||||
* \brief Subtract a fixed point value from another.
|
||||
*
|
||||
* This function subtracts the fixed point values \a y from the fixed
|
||||
* This function subtracts the fixed point values \a y from the fixed
|
||||
* point value \a x, and returns the difference.
|
||||
*
|
||||
* \param x The minuend.
|
||||
* \param y The subtrahend.
|
||||
*
|
||||
* \return The difference. If the result runs out of range of fixed point,
|
||||
* \return The difference. If the result runs out of range of fixed point,
|
||||
* this function sets \a errno to \a ERANGE.
|
||||
*
|
||||
* \sa fixadd
|
||||
@@ -257,33 +269,33 @@ static inline fixed fixsub (fixed x, fixed y)
|
||||
|
||||
if (result >= 0) {
|
||||
if ((x < 0) && (y > 0)) {
|
||||
errno = ERANGE;
|
||||
return -0x7FFFFFFF;
|
||||
errno = ERANGE;
|
||||
return -0x7FFFFFFF;
|
||||
}
|
||||
else
|
||||
return result;
|
||||
return result;
|
||||
}
|
||||
else {
|
||||
if ((x > 0) && (y < 0)) {
|
||||
errno = ERANGE;
|
||||
return 0x7FFFFFFF;
|
||||
errno = ERANGE;
|
||||
return 0x7FFFFFFF;
|
||||
}
|
||||
else
|
||||
return result;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* \fn fixed fixmul (fixed x, fixed y)
|
||||
* \brief Returns the product of two fixed point values.
|
||||
*
|
||||
*
|
||||
* This function returns the product of two fixed point values \a x and \a y.
|
||||
*
|
||||
* \param x The faciend.
|
||||
* \param y The multiplicato.
|
||||
* \return The prodcut. If the result runs out of range of fixed point,
|
||||
* \return The prodcut. If the result runs out of range of fixed point,
|
||||
* this function sets \a errno to \a ERANGE.
|
||||
*
|
||||
*
|
||||
* \sa fixdiv
|
||||
*/
|
||||
MG_EXPORT fixed fixmul (fixed x, fixed y);
|
||||
@@ -291,14 +303,14 @@ MG_EXPORT fixed fixmul (fixed x, fixed y);
|
||||
/**
|
||||
* \fn fixed fixdiv (fixed x, fixed y)
|
||||
* \brief Returns the quotient of two fixed point values.
|
||||
*
|
||||
*
|
||||
* This function returns the quotient of two fixed point values \a x and \a y.
|
||||
*
|
||||
* \param x The dividend.
|
||||
* \param y The divisor.
|
||||
* \return The quotient. If the result runs out of range of fixed point,
|
||||
* \return The quotient. If the result runs out of range of fixed point,
|
||||
* this function sets \a errno to \a ERANGE.
|
||||
*
|
||||
*
|
||||
* \sa fixmul
|
||||
*/
|
||||
MG_EXPORT fixed fixdiv (fixed x, fixed y);
|
||||
@@ -336,7 +348,7 @@ static inline int fixceil (fixed x)
|
||||
* \sa fixtoi
|
||||
*/
|
||||
static inline fixed itofix (int x)
|
||||
{
|
||||
{
|
||||
return x << 16;
|
||||
}
|
||||
|
||||
@@ -349,61 +361,61 @@ static inline fixed itofix (int x)
|
||||
* \sa itofix
|
||||
*/
|
||||
static inline int fixtoi (fixed x)
|
||||
{
|
||||
return (x >> 16) + ((x & 0x8000) >> 15);
|
||||
{
|
||||
return (x >> 16) + ((x & 0x8000) >> 15);
|
||||
}
|
||||
|
||||
/**
|
||||
* \fn fixed fixcos (fixed x)
|
||||
* \brief Returns the cosine of a fixed point.
|
||||
*
|
||||
* This function returns the cosine of the fixed point \a x,
|
||||
* This function returns the cosine of the fixed point \a x,
|
||||
* where \a x is given in radians.
|
||||
*
|
||||
* \sa fixacos
|
||||
*/
|
||||
static inline fixed fixcos (fixed x)
|
||||
{
|
||||
return _cos_tbl[((x + 0x4000) >> 15) & 0x1FF];
|
||||
return __mg_cos_tbl[((x + 0x4000) >> 15) & 0x1FF];
|
||||
}
|
||||
|
||||
/**
|
||||
* \fn fixed fixsin (fixed x)
|
||||
* \brief Returns the sine of a fixed point.
|
||||
*
|
||||
* This function returns the sine of the fixed point \a x,
|
||||
* This function returns the sine of the fixed point \a x,
|
||||
* where \a x is given in radians.
|
||||
*
|
||||
* \sa fixasin
|
||||
*/
|
||||
static inline fixed fixsin (fixed x)
|
||||
{
|
||||
return _cos_tbl[((x - 0x400000 + 0x4000) >> 15) & 0x1FF];
|
||||
{
|
||||
return __mg_cos_tbl[((x - 0x400000 + 0x4000) >> 15) & 0x1FF];
|
||||
}
|
||||
|
||||
/**
|
||||
* \fn fixed fixtan (fixed x)
|
||||
* \brief Returns the tangent of a fixed point.
|
||||
*
|
||||
* This function returns the tangent of the fixed point \a x,
|
||||
* This function returns the tangent of the fixed point \a x,
|
||||
* where \a x is given in radians.
|
||||
*
|
||||
* \sa fixcos, fixsin
|
||||
*/
|
||||
static inline fixed fixtan (fixed x)
|
||||
{
|
||||
return _tan_tbl[((x + 0x4000) >> 15) & 0xFF];
|
||||
{
|
||||
return __mg_tan_tbl[((x + 0x4000) >> 15) & 0xFF];
|
||||
}
|
||||
|
||||
/**
|
||||
* \fn fixed fixacos (fixed x)
|
||||
* \brief Calculates and returns the arc cosine of a fixed point.
|
||||
*
|
||||
* This function calculates the arc cosine of the fixed point \a x;
|
||||
* This function calculates the arc cosine of the fixed point \a x;
|
||||
* that is the value whose cosine is \a x. If \a x falls outside
|
||||
* the range -1 to 1, this function fails and \a errno is set to EDOM.
|
||||
*
|
||||
* \return Returns the arc cosine in radians and the value is mathematically
|
||||
* \return Returns the arc cosine in radians and the value is mathematically
|
||||
* defined to be between 0 and PI (inclusive).
|
||||
*
|
||||
* \sa fixcos
|
||||
@@ -415,30 +427,30 @@ static inline fixed fixacos (fixed x)
|
||||
return 0;
|
||||
}
|
||||
|
||||
return _acos_tbl[(x+65536+127)>>8];
|
||||
return __mg_acos_tbl[(x+65536+127)>>8];
|
||||
}
|
||||
|
||||
/**
|
||||
* \fn fixed fixasin (fixed x)
|
||||
* \brief Calculates and returns the arc sine of a fixed point.
|
||||
*
|
||||
* This function calculates the arc sine of the fixed point \a x;
|
||||
* This function calculates the arc sine of the fixed point \a x;
|
||||
* that is the value whose sine is \a x. If \a x falls outside
|
||||
* the range -1 to 1, this function fails and \a errno is set to EDOM.
|
||||
*
|
||||
* \return Returns the arc sine in radians and the value is mathematically
|
||||
* \return Returns the arc sine in radians and the value is mathematically
|
||||
* defined to be between -PI/2 and PI/2 (inclusive).
|
||||
*
|
||||
* \sa fixsin
|
||||
*/
|
||||
static inline fixed fixasin (fixed x)
|
||||
{
|
||||
{
|
||||
if ((x < -65536) || (x > 65536)) {
|
||||
errno = EDOM;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 0x00400000 - _acos_tbl[(x+65536+127)>>8];
|
||||
return 0x00400000 - __mg_acos_tbl[(x+65536+127)>>8];
|
||||
}
|
||||
|
||||
/** @} end of fixed_math_fns */
|
||||
|
||||
+6064
-1740
File diff suppressed because it is too large
Load Diff
+784
-410
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user