mirror of
https://github.com/VincentWei/MiniGUI.git
synced 2026-09-24 00:54:18 +08:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
38aa40042c | ||
|
|
991472894b | ||
|
|
ca249ba378 | ||
|
|
04adac288f | ||
|
|
fcd401128c | ||
|
|
067df2ea37 | ||
|
|
c47dad1ad5 | ||
|
|
28d907165f | ||
|
|
8a8cdd18ed | ||
|
|
2e5a8804bf | ||
|
|
173171b653 | ||
|
|
b4e46463cd | ||
|
|
d7c818080c | ||
|
|
c03ed8d23a | ||
|
|
f965c4b8ea | ||
|
|
3710611ebd | ||
|
|
d50c5c25ed | ||
|
|
b7820d888f | ||
|
|
a068f25519 | ||
|
|
f6ad9a960e | ||
|
|
29a6e0f0f9 | ||
|
|
868548cf0d | ||
|
|
a9daa05807 | ||
|
|
5e0500411e | ||
|
|
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 | ||
|
|
747894247b | ||
|
|
82033a44dd | ||
|
|
1c9537fc63 | ||
|
|
612c395c06 | ||
|
|
8dc0ee2ade | ||
|
|
caefd7355a | ||
|
|
9ea0e15dba | ||
|
|
83c8984c74 | ||
|
|
4761333a1a | ||
|
|
8538f29f70 | ||
|
|
b658413961 | ||
|
|
bb187f1ee3 | ||
|
|
ea8ab93bad | ||
|
|
9226fcff26 | ||
|
|
05cf370155 | ||
|
|
0d2352884a |
@@ -22,4 +22,5 @@ Makefile.in
|
|||||||
/*.pc
|
/*.pc
|
||||||
/*config.h
|
/*config.h
|
||||||
/*config.h.in
|
/*config.h.in
|
||||||
|
/*config.h.in~
|
||||||
|
|
||||||
|
|||||||
+16
@@ -0,0 +1,16 @@
|
|||||||
|
The current main maintainers and/or developers:
|
||||||
|
|
||||||
|
* WEI Yongming
|
||||||
|
|
||||||
|
As employed engineers of [Beijing FMSoft Technologies Co., Ltd.],
|
||||||
|
the following people have participated in the development of MiniGUI Core:
|
||||||
|
|
||||||
|
* HOU Huihua
|
||||||
|
* WAN Zheng
|
||||||
|
* DONG Kai
|
||||||
|
* DONG Junjie
|
||||||
|
* YAN Xiaowei
|
||||||
|
|
||||||
|
For community contributors, please see RELASENOTES.md documentation.
|
||||||
|
|
||||||
|
[Beijing FMSoft Technologies Co., Ltd.]: http://www.fmsoft.cn
|
||||||
@@ -3216,7 +3216,7 @@ alExtra.(xwyan)
|
|||||||
* src/gui/lf_flat.c
|
* src/gui/lf_flat.c
|
||||||
* src/gui/lf_skin.c
|
* src/gui/lf_skin.c
|
||||||
|
|
||||||
08/24: ENHANCEMENT #1: Add a new method for FONTOPS: get_glyph_type to return
|
08/24: ENHANCEMENT #1: Add a new method for FONTOPS: get_char_type to return
|
||||||
the glyph type the devfont can give us.
|
the glyph type the devfont can give us.
|
||||||
* src/include/devfont.h
|
* src/include/devfont.h
|
||||||
* src/font/*.c
|
* src/font/*.c
|
||||||
@@ -4761,7 +4761,7 @@ create_skin_main_window_ex:
|
|||||||
* ext/skin/skin.c
|
* ext/skin/skin.c
|
||||||
|
|
||||||
05/16. ENHANCEMENT #8: Support for UTF-16LE and UTF-16BE charsets/encodings.
|
05/16. ENHANCEMENT #8: Support for UTF-16LE and UTF-16BE charsets/encodings.
|
||||||
* Change the definition of UChar32 to 'int'.
|
* Change the definition of Uchar32 to 'int'.
|
||||||
* include/gdi.h
|
* include/gdi.h
|
||||||
|
|
||||||
05/16. ENHANCEMENT #11: Support for FreeType2.
|
05/16. ENHANCEMENT #11: Support for FreeType2.
|
||||||
@@ -4984,11 +4984,11 @@ provide the function whether the file exist or not.(xwyan)
|
|||||||
* src/server/request.c
|
* src/server/request.c
|
||||||
|
|
||||||
10/24. MODIFICATION: Use 1980/01/01 00:00:00 to return the default local time
|
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
|
* src/misc/nposix.c
|
||||||
|
|
||||||
10/24. MODIFICATION: Use HAVE_TIME, HAVE_MKTIME, and HAVE_LOCALTIME to define
|
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
|
* configure.in
|
||||||
* src/misc/nposix.c
|
* 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
|
# could be handy for archiving the generated documentation or if some version
|
||||||
# control system is used.
|
# control system is used.
|
||||||
|
|
||||||
PROJECT_NUMBER = v3.2.0
|
PROJECT_NUMBER = v4.0.1
|
||||||
|
|
||||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||||
# for a project that appears at the top of each page and should give viewer a
|
# for a project that appears at the top of each page and should give viewer a
|
||||||
@@ -58,7 +58,7 @@ PROJECT_LOGO =
|
|||||||
# entered, it will be relative to the location where doxygen was started. If
|
# entered, it will be relative to the location where doxygen was started. If
|
||||||
# left blank the current directory will be used.
|
# left blank the current directory will be used.
|
||||||
|
|
||||||
OUTPUT_DIRECTORY = doc
|
OUTPUT_DIRECTORY = doc-api-ref-minigui-procs-4.0.1
|
||||||
|
|
||||||
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
|
# 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
|
# 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.
|
# Note: If this tag is empty the current directory is searched.
|
||||||
|
|
||||||
INPUT = ./include
|
INPUT = ./include
|
||||||
|
INPUT += README.md
|
||||||
|
|
||||||
# This tag can be used to specify the character encoding of the source files
|
# 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
|
# 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
|
# (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.
|
# 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
|
# Configuration options related to source browsing
|
||||||
@@ -1288,7 +1289,7 @@ GENERATE_HTMLHELP = NO
|
|||||||
# written to the html output directory.
|
# written to the html output directory.
|
||||||
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
|
# 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
|
# 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,
|
# including file name) of the HTML help compiler (hhc.exe). If non-empty,
|
||||||
@@ -2073,6 +2074,7 @@ PREDEFINED = _MGRM_PROCESSES \
|
|||||||
_MGMISC_SAVEBITMAP \
|
_MGMISC_SAVEBITMAP \
|
||||||
_MGHAVE_CURSOR \
|
_MGHAVE_CURSOR \
|
||||||
_MGCHARSET_UNICODE \
|
_MGCHARSET_UNICODE \
|
||||||
|
_MGCOMPLEX_SCRIPTS \
|
||||||
_MGCTRL_STATIC \
|
_MGCTRL_STATIC \
|
||||||
_MGCTRL_SLEDIT \
|
_MGCTRL_SLEDIT \
|
||||||
_MGCTRL_BIDISLEDIT \
|
_MGCTRL_BIDISLEDIT \
|
||||||
@@ -2099,7 +2101,10 @@ PREDEFINED = _MGRM_PROCESSES \
|
|||||||
_MGCTRL_ANIMATION \
|
_MGCTRL_ANIMATION \
|
||||||
_MGFONT_FT2 \
|
_MGFONT_FT2 \
|
||||||
_MGFONT_UPF \
|
_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
|
# 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
|
# 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
|
# could be handy for archiving the generated documentation or if some version
|
||||||
# control system is used.
|
# control system is used.
|
||||||
|
|
||||||
PROJECT_NUMBER = v3.2.0
|
PROJECT_NUMBER = v4.0.1
|
||||||
|
|
||||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||||
# for a project that appears at the top of each page and should give viewer a
|
# for a project that appears at the top of each page and should give viewer a
|
||||||
@@ -58,7 +58,7 @@ PROJECT_LOGO =
|
|||||||
# entered, it will be relative to the location where doxygen was started. If
|
# entered, it will be relative to the location where doxygen was started. If
|
||||||
# left blank the current directory will be used.
|
# left blank the current directory will be used.
|
||||||
|
|
||||||
OUTPUT_DIRECTORY = doc
|
OUTPUT_DIRECTORY = doc-api-ref-minigui-sa-4.0.1
|
||||||
|
|
||||||
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
|
# 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
|
# 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.
|
# Note: If this tag is empty the current directory is searched.
|
||||||
|
|
||||||
INPUT = ./include
|
INPUT = ./include
|
||||||
|
INPUT += README.md
|
||||||
|
|
||||||
# This tag can be used to specify the character encoding of the source files
|
# 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
|
# 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
|
# (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.
|
# 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
|
# Configuration options related to source browsing
|
||||||
@@ -1288,7 +1289,7 @@ GENERATE_HTMLHELP = NO
|
|||||||
# written to the html output directory.
|
# written to the html output directory.
|
||||||
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
|
# 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
|
# 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,
|
# including file name) of the HTML help compiler (hhc.exe). If non-empty,
|
||||||
@@ -2073,6 +2074,7 @@ PREDEFINED = _MGRM_STANDALONE \
|
|||||||
_MGMISC_SAVEBITMAP \
|
_MGMISC_SAVEBITMAP \
|
||||||
_MGHAVE_CURSOR \
|
_MGHAVE_CURSOR \
|
||||||
_MGCHARSET_UNICODE \
|
_MGCHARSET_UNICODE \
|
||||||
|
_MGCOMPLEX_SCRIPTS \
|
||||||
_MGCTRL_STATIC \
|
_MGCTRL_STATIC \
|
||||||
_MGCTRL_SLEDIT \
|
_MGCTRL_SLEDIT \
|
||||||
_MGCTRL_BIDISLEDIT \
|
_MGCTRL_BIDISLEDIT \
|
||||||
@@ -2099,7 +2101,10 @@ PREDEFINED = _MGRM_STANDALONE \
|
|||||||
_MGCTRL_ANIMATION \
|
_MGCTRL_ANIMATION \
|
||||||
_MGFONT_FT2 \
|
_MGFONT_FT2 \
|
||||||
_MGFONT_UPF \
|
_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
|
# 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
|
# 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
|
# could be handy for archiving the generated documentation or if some version
|
||||||
# control system is used.
|
# control system is used.
|
||||||
|
|
||||||
PROJECT_NUMBER = v3.2.0
|
PROJECT_NUMBER = v4.0.1
|
||||||
|
|
||||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||||
# for a project that appears at the top of each page and should give viewer a
|
# for a project that appears at the top of each page and should give viewer a
|
||||||
@@ -58,7 +58,7 @@ PROJECT_LOGO =
|
|||||||
# entered, it will be relative to the location where doxygen was started. If
|
# entered, it will be relative to the location where doxygen was started. If
|
||||||
# left blank the current directory will be used.
|
# left blank the current directory will be used.
|
||||||
|
|
||||||
OUTPUT_DIRECTORY = doc
|
OUTPUT_DIRECTORY = doc-api-ref-minigui-ths-4.0.1
|
||||||
|
|
||||||
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
|
# 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
|
# 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.
|
# Note: If this tag is empty the current directory is searched.
|
||||||
|
|
||||||
INPUT = ./include
|
INPUT = ./include
|
||||||
|
INPUT += README.md
|
||||||
|
|
||||||
# This tag can be used to specify the character encoding of the source files
|
# 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
|
# 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
|
# (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.
|
# 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
|
# Configuration options related to source browsing
|
||||||
@@ -1288,7 +1289,7 @@ GENERATE_HTMLHELP = NO
|
|||||||
# written to the html output directory.
|
# written to the html output directory.
|
||||||
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
|
# 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
|
# 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,
|
# including file name) of the HTML help compiler (hhc.exe). If non-empty,
|
||||||
@@ -2073,6 +2074,7 @@ PREDEFINED = _MGRM_THREADS \
|
|||||||
_MGMISC_SAVEBITMAP \
|
_MGMISC_SAVEBITMAP \
|
||||||
_MGHAVE_CURSOR \
|
_MGHAVE_CURSOR \
|
||||||
_MGCHARSET_UNICODE \
|
_MGCHARSET_UNICODE \
|
||||||
|
_MGCOMPLEX_SCRIPTS \
|
||||||
_MGCTRL_STATIC \
|
_MGCTRL_STATIC \
|
||||||
_MGCTRL_SLEDIT \
|
_MGCTRL_SLEDIT \
|
||||||
_MGCTRL_BIDISLEDIT \
|
_MGCTRL_BIDISLEDIT \
|
||||||
@@ -2099,7 +2101,10 @@ PREDEFINED = _MGRM_THREADS \
|
|||||||
_MGCTRL_ANIMATION \
|
_MGCTRL_ANIMATION \
|
||||||
_MGFONT_FT2 \
|
_MGFONT_FT2 \
|
||||||
_MGFONT_UPF \
|
_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
|
# 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
|
# 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
|
SUBDIRS = src 3rd-party include rtos etc m4 cmake build
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = minigui.pc.in \
|
||||||
minigui.pc.in \
|
|
||||||
GNUmakefile makefile.ng makefile.msvc rules.make \
|
GNUmakefile makefile.ng makefile.msvc rules.make \
|
||||||
Version INSTALL LICENSE \
|
Version INSTALL LICENSE \
|
||||||
README.md RELEASE-NOTES.md \
|
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
|
# The directory where the include files will be installed
|
||||||
libminiguiincludedir = $(includedir)/minigui
|
libminiguiincludedir = $(includedir)/minigui
|
||||||
@@ -13,15 +12,17 @@ libminiguiincludedir = $(includedir)/minigui
|
|||||||
# Which header files to install
|
# Which header files to install
|
||||||
libminiguiinclude_HEADERS = mgconfig.h
|
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
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
pkgconfig_DATA = minigui.pc
|
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
|
||||||
|
|
||||||
|
|||||||
+703
-120
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,9 @@
|
|||||||
Version 3.2.0 (2018/02/10)
|
Version 4.0.2 (2019/10/31)
|
||||||
|
|
||||||
This release needs the following resource packages:
|
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:
|
The latest samples package is:
|
||||||
|
|
||||||
* mg-samples-3.2.0.tar.gz
|
* mg-samples-4.0.1.tar.gz
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
# rules for pc-linux
|
||||||
|
|
||||||
|
# set your own targaet_os
|
||||||
|
TARGET_OS=linux
|
||||||
|
|
||||||
|
##################################################
|
||||||
|
# set your compile tool #
|
||||||
|
CC=gcc
|
||||||
|
CXX=g++
|
||||||
|
CPP=g++
|
||||||
|
AR=ar
|
||||||
|
AS=as
|
||||||
|
RANLIB=ranlib
|
||||||
|
MAKE=/usr/bin/make
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
ARFLAGS=-rc
|
||||||
|
COFLAG=-c
|
||||||
|
|
||||||
|
OBJ=o
|
||||||
|
LIBA=a
|
||||||
|
|
||||||
|
##################################################
|
||||||
|
# if you don't want to create dynamic, delete it #
|
||||||
|
LIBSO=so
|
||||||
|
SOFLAGS=-fPIC -shared -o
|
||||||
|
##################################################
|
||||||
|
|
||||||
|
|
||||||
|
##################################################
|
||||||
|
# set your compile flags and install prefix path #
|
||||||
|
PREFIX=/usr/local
|
||||||
|
CFLAGS+=-g -Wall -fPIC `pkg-config --cflags freetype2` -I/usr/local/include/harfbuzz
|
||||||
|
LDFLAGS+=
|
||||||
|
##################################################
|
||||||
|
|
||||||
+353
-177
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)
|
496 static int euckr_is_this_charset (const unsigned char* charset)
|
||||||
497 {
|
497 {
|
||||||
498 int i;
|
498 int i;
|
||||||
499 char name [LEN_FONT_NAME + 1];
|
499 char name [LEN_LOGFONT_NAME_FIELD + 1];
|
||||||
500
|
500
|
||||||
501 for (i = 0; i < LEN_FONT_NAME + 1; i++) {
|
501 for (i = 0; i < LEN_LOGFONT_NAME_FIELD + 1; i++) {
|
||||||
502 if (charset [i] == '\0')
|
502 if (charset [i] == '\0')
|
||||||
503 break;
|
503 break;
|
||||||
504 name [i] = toupper (charset [i]);
|
504 name [i] = toupper (charset [i]);
|
||||||
@@ -388,9 +388,9 @@ int GUIAPI GetFirstWord (PLOGFONT log_font, const char* mstr, int len,
|
|||||||
|
|
||||||
<table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td> <pre>
|
<table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td> <pre>
|
||||||
228 typedef struct _LOGFONT {
|
228 typedef struct _LOGFONT {
|
||||||
229 char type [LEN_FONT_NAME + 1];
|
229 char type [LEN_LOGFONT_NAME_FIELD + 1];
|
||||||
230 char family [LEN_FONT_NAME + 1];
|
230 char family [LEN_LOGFONT_NAME_FIELD + 1];
|
||||||
231 char charset [LEN_FONT_NAME + 1];
|
231 char charset [LEN_LOGFONT_NAME_FIELD + 1];
|
||||||
232 DWORD style;
|
232 DWORD style;
|
||||||
233 int size;
|
233 int size;
|
||||||
234 int rotation;
|
234 int rotation;
|
||||||
|
|||||||
+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.
|
# Copyright (C) 1998~2002 Wei Yongming.
|
||||||
#
|
#
|
||||||
# Web: http://www.minigui.com
|
# Web: http://www.minigui.com
|
||||||
#
|
#
|
||||||
# This configuration file must be installed in /etc,
|
# This configuration file must be installed in /etc,
|
||||||
# /usr/local/etc or your home directory. When you install it in your
|
# /usr/local/etc, your home directory, or the current working direcotry.
|
||||||
# home directory, it should be named ".MiniGUI.cfg".
|
# 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.
|
|
||||||
#
|
#
|
||||||
# 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.
|
# modify this file to meet your configuration.
|
||||||
#
|
#
|
||||||
|
|
||||||
@@ -26,12 +30,36 @@ ial_engine=pc_xvfb
|
|||||||
mdev=/dev/input/mice
|
mdev=/dev/input/mice
|
||||||
mtype=IMPS2
|
mtype=IMPS2
|
||||||
|
|
||||||
[fbcon]
|
# Linux IAL engine based on libinput
|
||||||
defaultmode=1024x768-16bpp
|
# 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
|
# The resolution of the display
|
||||||
# It is defined in dots (physical pixels) per inch
|
# It is defined in dots (physical pixels) per inch
|
||||||
# The default value is 96.
|
# The default value is 96.
|
||||||
dpi=96
|
dpi=96
|
||||||
|
#}}
|
||||||
|
|
||||||
|
#{{ifdef _MGIAL_LIBINPUT
|
||||||
|
[libinput]
|
||||||
|
seat=seat0
|
||||||
|
#}}
|
||||||
|
|
||||||
|
#{{ifdef _MGGAL_FBCON
|
||||||
|
[fbcon]
|
||||||
|
defaultmode=1024x768-16bpp
|
||||||
|
dpi=96
|
||||||
|
#}}
|
||||||
|
|
||||||
#{{ifdef _MGGAL_PCXVFB
|
#{{ifdef _MGGAL_PCXVFB
|
||||||
[pc_xvfb]
|
[pc_xvfb]
|
||||||
@@ -58,7 +86,19 @@ def_bgcolor=0x00FF00
|
|||||||
double_buffer=enable
|
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.
|
# 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]
|
[systemfont]
|
||||||
font_number=5
|
font_number=5
|
||||||
font0=rbf-FixedSys-rrncnn-8-16-ISO8859-1
|
font0=rbf-FixedSys-rrncnn-8-16-ISO8859-1
|
||||||
@@ -88,6 +128,10 @@ font_number=0
|
|||||||
|
|
||||||
[truetypefonts]
|
[truetypefonts]
|
||||||
font_number=0
|
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]
|
[mouse]
|
||||||
dblclicktime=300
|
dblclicktime=300
|
||||||
@@ -126,7 +170,7 @@ cursor22=ve_split.cur
|
|||||||
|
|
||||||
[resinfo]
|
[resinfo]
|
||||||
respath=/usr/local/share/minigui/res/
|
respath=/usr/local/share/minigui/res/
|
||||||
|
|
||||||
[classic]
|
[classic]
|
||||||
# Note that max number defined in source code is 5.
|
# Note that max number defined in source code is 5.
|
||||||
iconnumber=5
|
iconnumber=5
|
||||||
|
|||||||
+12
-12
@@ -1,14 +1,14 @@
|
|||||||
static LOGFONT *logfont, *logfontgb12, *logfontbig24;
|
static LOGFONT *logfont, *logfontgb12, *logfontbig24;
|
||||||
|
|
||||||
logfont = CreateLogFont (NULL, "SansSerif", "ISO8859-1",
|
logfont = CreateLogFont (NULL, "SansSerif", "ISO8859-1",
|
||||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_SETWIDTH_NORMAL,
|
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_FLIP_NONE,
|
||||||
FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_LINE,
|
FONT_OTHER_NIL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_LINE,
|
||||||
16, 0);
|
16, 0);
|
||||||
logfontgb12 = CreateLogFont (NULL, "song", "GB2312",
|
logfontgb12 = CreateLogFont (NULL, "song", "GB2312",
|
||||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,
|
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
|
||||||
FONT_SPACING_CHARCELL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_LINE,
|
FONT_OTHER_NIL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_LINE,
|
||||||
12, 0);
|
12, 0);
|
||||||
logfontbig24 = CreateLogFont (NULL, "ming", "BIG5",
|
logfontbig24 = CreateLogFont (NULL, "ming", "BIG5",
|
||||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,
|
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
|
||||||
FONT_SPACING_CHARCELL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_NONE,
|
FONT_OTHER_NIL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_NONE,
|
||||||
24, 0);
|
24, 0);
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
static LOGFONT *logfont, *logfontgb12, *logfontttf;
|
||||||
|
|
||||||
|
logfont = CreateLogFontEx (NULL, "SansSerif", "ISO8859-1",
|
||||||
|
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_FLIP_NONE,
|
||||||
|
FONT_OTHER_NIL, FONT_DECORATE_NONE, FONT_RENDER_MONO,
|
||||||
|
16, 0);
|
||||||
|
logfontgb12 = CreateLogFontEx (NULL, "song", "GB2312",
|
||||||
|
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
|
||||||
|
FONT_OTHER_NIL, FONT_DECORATE_NONE, FONT_RENDER_MONO,
|
||||||
|
12, 0);
|
||||||
|
logfontttf = CreateLogFontEx ("ttf", "Courier", "UTF-8",
|
||||||
|
FONT_WEIGHT_BLACK, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
|
||||||
|
FS_OTHER_LCDPORTRAIT, FONT_DECORATE_NONE, FONT_RENDER_SUBPIXEL,
|
||||||
|
24, 0);
|
||||||
+5
-5
@@ -10,9 +10,9 @@ libminiguiincludedir = $(includedir)/minigui
|
|||||||
COMM_HDRS = \
|
COMM_HDRS = \
|
||||||
common.h endianrw.h fixedmath.h \
|
common.h endianrw.h fixedmath.h \
|
||||||
minigui.h gdi.h window.h control.h \
|
minigui.h gdi.h window.h control.h \
|
||||||
own_malloc.h own_stdio.h \
|
own_malloc.h own_stdio.h \
|
||||||
xvfb.h customial.h \
|
xvfb.h customial.h exstubs.h \
|
||||||
dti.c
|
dti.c
|
||||||
|
|
||||||
UCOSII_HDRS=ucos2_pthread.h ucos2_semaphore.h
|
UCOSII_HDRS=ucos2_pthread.h ucos2_semaphore.h
|
||||||
THREADX_HDRS=threadx_pthread.h threadx_semaphore.h
|
THREADX_HDRS=threadx_pthread.h threadx_semaphore.h
|
||||||
@@ -23,12 +23,12 @@ OSE_HDRS=ose_semaphore.h
|
|||||||
PSOS_HDRS=psos_pthread.h psos_semaphore.h
|
PSOS_HDRS=psos_pthread.h psos_semaphore.h
|
||||||
|
|
||||||
EXTRA_DIST=$(UCOSII_HDRS) $(THREADX_HDRS) $(NUCLEUS_HDRS) $(VXWORKS_HDRS) \
|
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
|
#CLEANFILES=pthread.h semaphore.h
|
||||||
|
|
||||||
libminiguiinclude_HEADERS=$(COMM_HDRS) $(UCOSII_HDRS) $(THREADX_HDRS) \
|
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
|
if MGUSE_OWN_PTHREAD
|
||||||
install-data-local:
|
install-data-local:
|
||||||
|
|||||||
+398
-129
File diff suppressed because it is too large
Load Diff
+15
-3
@@ -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
|
* \file control.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
* \date 2001/12/29
|
* \date 2001/12/29
|
||||||
*
|
*
|
||||||
* \brief This file includes interfaces of standard controls of MiniGUI.
|
* \brief This file includes interfaces of standard controls of MiniGUI.
|
||||||
*
|
*
|
||||||
\verbatim
|
\verbatim
|
||||||
|
|
||||||
This file is part of MiniGUI, a mature cross-platform windowing
|
This file is part of MiniGUI, a mature cross-platform windowing
|
||||||
and Graphics User Interface (GUI) support system for embedded systems
|
and Graphics User Interface (GUI) support system for embedded systems
|
||||||
and smart IoT devices.
|
and smart IoT devices.
|
||||||
|
|
||||||
@@ -45,7 +57,7 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: control.h 11349 2009-03-02 05:00:43Z weiym $
|
* $Id: control.h 11349 2009-03-02 05:00:43Z weiym $
|
||||||
*
|
*
|
||||||
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
|
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
|
||||||
* pSOS, ThreadX, NuCleus, OSE, and Win32.
|
* pSOS, ThreadX, NuCleus, OSE, and Win32.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -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
|
* \file animation.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file button.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file combobox.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file coolbar.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file ctrlhelper.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file edit.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file gridview.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file iconview.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file listbox.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file listview.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file menubutton.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file monthcal.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file newtoolbar.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file progressbar.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file propsheet.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file scrollbar.h
|
||||||
* \author wangjian
|
* \author wangjian
|
||||||
|
|||||||
@@ -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
|
* \file scrollview.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file spinbox.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file static.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file textedit.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file trackbar.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -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
|
* \file treeview.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
+163
-21
@@ -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
|
* \file customial.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
* \date 2007/06/06
|
* \date 2007/06/06
|
||||||
*
|
*
|
||||||
* \brief This file is the head file for Custom IAL Engine.
|
* \brief This file is the head file for Custom IAL Engine.
|
||||||
*
|
*
|
||||||
\verbatim
|
\verbatim
|
||||||
|
|
||||||
This file is part of MiniGUI, a mature cross-platform windowing
|
This file is part of MiniGUI, a mature cross-platform windowing
|
||||||
and Graphics User Interface (GUI) support system for embedded systems
|
and Graphics User Interface (GUI) support system for embedded systems
|
||||||
and smart IoT devices.
|
and smart IoT devices.
|
||||||
|
|
||||||
@@ -44,31 +56,155 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: customial.h 11349 2009-03-02 05:00:43Z weiym $
|
* $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.
|
* pSOS, ThreadX, NuCleus, OSE, and Win32.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef GUI_IAL_CUSTOM_H
|
#ifndef GUI_IAL_CUSTOM_H
|
||||||
#define GUI_IAL_CUSTOM_H
|
#define GUI_IAL_CUSTOM_H
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#define IAL_MOUSE_LEFTBUTTON (1 << 0)
|
||||||
extern "C" {
|
#define IAL_MOUSE_RIGHTBUTTON (1 << 1)
|
||||||
#endif /* __cplusplus */
|
#define IAL_MOUSE_MIDDLEBUTTON (1 << 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_LEFTBUTTON 1
|
#define IAL_MOUSE_SIDEBUTTON IAL_MOUSE_FOURTHBUTTON
|
||||||
#define IAL_MOUSE_RIGHTBUTTON 2
|
#define IAL_MOUSE_EXTRABUTTON IAL_MOUSE_FIFTHBUTTON
|
||||||
#define IAL_MOUSE_MIDDLEBUTTON 4
|
#define IAL_MOUSE_FORWARDBUTTON IAL_MOUSE_SIXTHBUTTON
|
||||||
#define IAL_MOUSE_FOURTHBUTTON 8
|
#define IAL_MOUSE_BACKBUTTON IAL_MOUSE_SEVENTHBUTTON
|
||||||
#define IAL_MOUSE_FIFTHBUTTON 16
|
#define IAL_MOUSE_TASKBUTTON IAL_MOUSE_EIGHTHBUTTON
|
||||||
#define IAL_MOUSE_SIXTHBUTTON 32
|
#define IAL_MOUSE_RESETBUTTON IAL_MOUSE_EIGHTHBUTTON
|
||||||
#define IAL_MOUSE_RESETBUTTON 64
|
*/
|
||||||
|
|
||||||
#define IAL_MOUSEEVENT 1
|
#define IAL_EVENT_MOUSE (1 << 0)
|
||||||
#define IAL_KEYEVENT 2
|
#define IAL_MOUSEEVENT IAL_EVENT_MOUSE
|
||||||
|
#define IAL_EVENT_KEY (1 << 1)
|
||||||
|
#define IAL_KEYEVENT IAL_EVENT_KEY
|
||||||
|
|
||||||
typedef struct tagINPUT
|
#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;
|
char* id;
|
||||||
|
|
||||||
// Initialization and termination
|
// Initialization and termination
|
||||||
@@ -91,12 +227,18 @@ typedef struct tagINPUT
|
|||||||
int (*resume_keyboard) (void);
|
int (*resume_keyboard) (void);
|
||||||
void (*set_leds) (unsigned int leds);
|
void (*set_leds) (unsigned int leds);
|
||||||
|
|
||||||
// Event
|
// Event loop
|
||||||
int (*wait_event) (int which, int maxfd, fd_set *in, fd_set *out,
|
int (*wait_event) (int which, int maxfd, fd_set *in, fd_set *out,
|
||||||
fd_set *except, struct timeval *timeout);
|
fd_set *except, struct timeval *timeout);
|
||||||
|
|
||||||
char mdev [MAX_PATH + 1];
|
// New wait event method for getting extra input events; since 4.0.0
|
||||||
}INPUT;
|
int (*wait_event_ex) (int maxfd, fd_set *in, fd_set *out,
|
||||||
|
fd_set *except, struct timeval *timeout, EXTRA_INPUT_EVENT* extra);
|
||||||
|
} INPUT;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
#ifdef _MGIAL_CUSTOM
|
#ifdef _MGIAL_CUSTOM
|
||||||
extern BOOL InitCustomInput (INPUT* input, const char* mdev, const char* mtype);
|
extern BOOL InitCustomInput (INPUT* input, const char* mdev, const char* mtype);
|
||||||
|
|||||||
+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
|
* \file dti.c
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
@@ -5,13 +17,37 @@
|
|||||||
*
|
*
|
||||||
\verbatim
|
\verbatim
|
||||||
|
|
||||||
Copyright (C) 2002-2018 FMSoft
|
This file is part of MiniGUI, a mature cross-platform windowing
|
||||||
Copyright (C) 1999-2002 Wei Yongming.
|
and Graphics User Interface (GUI) support system for embedded systems
|
||||||
|
and smart IoT devices.
|
||||||
All rights reserved by Feynman Software.
|
|
||||||
|
|
||||||
This file is part of MiniGUI, a compact cross-platform Graphics
|
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
|
||||||
User Interface (GUI) support system for real-time embedded systems.
|
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
|
\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 endianrw.h
|
* \file endianrw.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
@@ -0,0 +1,473 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// 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>
|
||||||
|
* \date 2019/04/07
|
||||||
|
*
|
||||||
|
* \brief This file is the header for NEWGAL/IAL engines which should be
|
||||||
|
* implemented by an external module.
|
||||||
|
*
|
||||||
|
\verbatim
|
||||||
|
|
||||||
|
This file is part of MiniGUI, a mature cross-platform windowing
|
||||||
|
and Graphics User Interface (GUI) support system for embedded systems
|
||||||
|
and smart IoT devices.
|
||||||
|
|
||||||
|
Copyright (C) 2007~2018, Beijing FMSoft Technologies Co., Ltd.
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Or,
|
||||||
|
|
||||||
|
As this program is a library, any link to this program must follow
|
||||||
|
GNU General Public License version 3 (GPLv3). If you cannot accept
|
||||||
|
GPLv3, you need to be licensed from FMSoft.
|
||||||
|
|
||||||
|
If you have got a commercial license of this program, please use it
|
||||||
|
under the terms and conditions of the commercial license.
|
||||||
|
|
||||||
|
For more information about the commercial license, please refer to
|
||||||
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
|
\endverbatim
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
|
||||||
|
* pSOS, ThreadX, NuCleus, OSE, and Win32.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef GUI_EXSTUBS_H
|
||||||
|
#define GUI_EXSTUBS_H
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \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>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \defgroup external_stubs_dri External Stubs for DRI sub driver
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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;
|
||||||
|
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
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The struct type defines the operations for a DRI driver.
|
||||||
|
*/
|
||||||
|
typedef struct _DriDriverOps {
|
||||||
|
/**
|
||||||
|
* This operation creates the DriDriver object.
|
||||||
|
*
|
||||||
|
* \note The driver must implement this operation.
|
||||||
|
*/
|
||||||
|
DriDriver* (*create_driver) (int device_fd);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This operation destroies the DriDriver object.
|
||||||
|
*
|
||||||
|
* \note The driver must implement this operation.
|
||||||
|
*/
|
||||||
|
void (*destroy_driver) (DriDriver *driver);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This operation flushs the batch buffer of the driver or the hardware cache.
|
||||||
|
*
|
||||||
|
* \note This operation can be NULL.
|
||||||
|
*/
|
||||||
|
void (* flush_driver) (DriDriver *driver);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This operation 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 operation.
|
||||||
|
*/
|
||||||
|
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 operation 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 operation.
|
||||||
|
*/
|
||||||
|
DriSurfaceBuffer* (* map_buffer) (DriDriver *driver,
|
||||||
|
uint32_t buffer_id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This operation un-maps a buffer.
|
||||||
|
*
|
||||||
|
* \note The driver must implement this operation.
|
||||||
|
*/
|
||||||
|
void (* unmap_buffer) (DriDriver *driver, DriSurfaceBuffer* buffer);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This operation destroies a buffer.
|
||||||
|
*
|
||||||
|
* \note The driver must implement this operation.
|
||||||
|
*/
|
||||||
|
void (* destroy_buffer) (DriDriver *driver, uint32_t buffer_id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This operation clears the specific rectangle area of a buffer
|
||||||
|
* with the specific pixel value. If succeed, it returns 0.
|
||||||
|
*
|
||||||
|
* \note If this operation 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 operation 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 operation 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 operation copies bits from a source buffer to a destination buffer.
|
||||||
|
*
|
||||||
|
* \note If this operation 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 operation blits pixles from a source buffer with the source alpha value
|
||||||
|
* specified to a destination buffer.
|
||||||
|
*
|
||||||
|
* \note If this operation 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 operation blits pixles from a source buffer to a destination buffer,
|
||||||
|
* but skipping the pixel value specified by \a color_key.
|
||||||
|
*
|
||||||
|
* \note If this operation 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 operation 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 operation 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 operations */
|
||||||
|
DriDriverOps* __dri_ex_driver_get (const char* driver_name);
|
||||||
|
|
||||||
|
/** @} end of external_stubs_dri */
|
||||||
|
|
||||||
|
#endif /* _MGGAL_DRI */
|
||||||
|
|
||||||
|
#ifdef _MGGAL_COMMLCD
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \defgroup external_stubs_commlcd External Stubs for CommLCD NEWGAL Engine
|
||||||
|
*
|
||||||
|
* The external stubs for COMMLCD NEWGAL engine.
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* The pixel format defined by depth */
|
||||||
|
#define COMMLCD_PSEUDO_RGB332 1
|
||||||
|
#define COMMLCD_TRUE_RGB555 2
|
||||||
|
#define COMMLCD_TRUE_RGB565 3
|
||||||
|
#define COMMLCD_TRUE_RGB888 4
|
||||||
|
#define COMMLCD_TRUE_RGB0888 5
|
||||||
|
#define COMMLCD_TRUE_ARGB1555 6
|
||||||
|
#define COMMLCD_TRUE_ARGB8888 7
|
||||||
|
#define COMMLCD_TRUE_ABRG8888 8
|
||||||
|
|
||||||
|
#define COMMLCD_UPDATE_NONE 0
|
||||||
|
#define COMMLCD_UPDATE_SYNC 1
|
||||||
|
#define COMMLCD_UPDATE_ASYNC 2
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The structue represented the screen information of CommmLCD engine.
|
||||||
|
*/
|
||||||
|
struct commlcd_info {
|
||||||
|
/** The vertical resolution of the screen. */
|
||||||
|
int height;
|
||||||
|
|
||||||
|
/** The horizontal resolution of the screen. */
|
||||||
|
int width;
|
||||||
|
|
||||||
|
/** The length of one scan line in bytes. */
|
||||||
|
int pitch;
|
||||||
|
|
||||||
|
/** The color depth (bits-per-pixel). */
|
||||||
|
int bpp;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The pixel type, can be one of the following values:
|
||||||
|
* - COMMLCD_PSEUDO_RGB332
|
||||||
|
* - COMMLCD_TRUE_RGB555
|
||||||
|
* - COMMLCD_TRUE_RGB565
|
||||||
|
* - COMMLCD_TRUE_RGB888
|
||||||
|
* - COMMLCD_TRUE_RGB0888
|
||||||
|
* - COMMLCD_TRUE_ARGB1555
|
||||||
|
* - COMMLCD_TRUE_ARGB8888
|
||||||
|
* - COMMLCD_TRUE_ABRG8888
|
||||||
|
*/
|
||||||
|
int type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The update method, can be one of the following values:
|
||||||
|
* - COMMLCD_UPDATE_NONE\n
|
||||||
|
* No update method.
|
||||||
|
* - COMMLCD_UPDATE_SYNC
|
||||||
|
* The update method should be called synchronously.
|
||||||
|
* - COMMLCD_UPDATE_ASYNC
|
||||||
|
* The update method should be called asynchronously.
|
||||||
|
*/
|
||||||
|
int update_method;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The pointer to the frame buffer of the screen.
|
||||||
|
*/
|
||||||
|
Uint8* fb;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement this stub to initialize the CommLCD engine.
|
||||||
|
* Return 0 for success.
|
||||||
|
*/
|
||||||
|
int __commlcd_drv_init (void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement this stub to initialize the CommLCD engine.
|
||||||
|
*
|
||||||
|
* \param li The pointer to struct commlcd_info. This structure
|
||||||
|
* will be used to return the LCD surface information.
|
||||||
|
* \param width The desired horizontal resolution of the screen.
|
||||||
|
* \param height The desired vertical resolution of the screen.
|
||||||
|
* \param depth The desired depth of the screen.
|
||||||
|
*
|
||||||
|
* Return 0 for success, otherwise for failure.
|
||||||
|
*/
|
||||||
|
int __commlcd_drv_getinfo (struct commlcd_info *li,
|
||||||
|
int width, int height, int depth);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement this stub to release (destroy) the CommLCD engine.
|
||||||
|
*
|
||||||
|
* Return 0 for success, otherwise for failure.
|
||||||
|
*/
|
||||||
|
int __commlcd_drv_release (void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement this stub to set the pallete when the pixel type
|
||||||
|
* is COMMLCD_PSEUDO_RGB332.
|
||||||
|
*
|
||||||
|
* \param firstcolor
|
||||||
|
* The index value of the first entry of the pallete.
|
||||||
|
* \param ncolors
|
||||||
|
* The number of entries of the pallete.
|
||||||
|
* \param colors
|
||||||
|
* The array of the colors for each entries in the pallete.
|
||||||
|
*
|
||||||
|
* Return 0 for success, otherwise for failure.
|
||||||
|
*/
|
||||||
|
int __commlcd_drv_setclut (int firstcolor, int ncolors, GAL_Color *colors);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement this stub to update the screen.
|
||||||
|
*
|
||||||
|
* \param rc_dirty The rectangle contains the dirty region.
|
||||||
|
*
|
||||||
|
* Return 0 for success, otherwise for failure.
|
||||||
|
*/
|
||||||
|
int __commlcd_drv_update (const RECT* rc_dirty);
|
||||||
|
|
||||||
|
/** @} end of external_stubs_commlcd */
|
||||||
|
|
||||||
|
#endif /* _MGGAL_COMMLCD */
|
||||||
|
|
||||||
|
#ifdef _MGIAL_COMM
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \defgroup external_stubs_commial External Stubs for COMM IAL Engine
|
||||||
|
*
|
||||||
|
* The external stubs for COMM IAL engine
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define COMM_MOUSEINPUT 0x01
|
||||||
|
#define COMM_KBINPUT 0x02
|
||||||
|
|
||||||
|
#define COMM_MOUSELBUTTON 0x01
|
||||||
|
#define COMM_MOUSERBUTTON 0x04
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement this stub to initialize the COMM IAL engine.
|
||||||
|
* Return 0 for success, otherwise for failure.
|
||||||
|
*/
|
||||||
|
int __comminput_init (void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement this stub to return the mouse event data.
|
||||||
|
* The implementation should return the position of mouse or touch,
|
||||||
|
* and the button status through the pointers \a x, \a y, and \a button.
|
||||||
|
* The position should be in absolute coordinates, and the button
|
||||||
|
* will have \a COMM_MOUSELBUTTON set if left button was pressed,
|
||||||
|
* and \a COMM_MOUSERBUTTON set if right button was pressed.
|
||||||
|
*
|
||||||
|
* Return 0 for success, otherwise for failure.
|
||||||
|
*/
|
||||||
|
int __comminput_ts_getdata (short *x, short *y, short *button);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement this stub to return the keyboard event data.
|
||||||
|
* The implementation should return the key scancode pressed or released
|
||||||
|
* through the pointer \a key, and the pressed or released status of the
|
||||||
|
* key through \a status.
|
||||||
|
*
|
||||||
|
* Return 0 for success, otherwise for failure.
|
||||||
|
*/
|
||||||
|
int __comminput_kb_getdata (short *key, short *status);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement this stub to wait for an event.
|
||||||
|
*
|
||||||
|
* \retval 0
|
||||||
|
* The timeout period expires.
|
||||||
|
* \retval COMM_MOUSEINPUT
|
||||||
|
* There is an mouse moved, button pressed, or button released event.
|
||||||
|
* \retval COMM_KBINPUT
|
||||||
|
* There is a key pressed or released event.
|
||||||
|
* \retval others
|
||||||
|
* Failed.
|
||||||
|
*/
|
||||||
|
int __comminput_wait_for_input (struct timeval *timeout);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement this stub to de-initialize the COMM IAL engine.
|
||||||
|
*/
|
||||||
|
void __comminput_deinit (void);
|
||||||
|
|
||||||
|
/** @} end of external_stubs_commial */
|
||||||
|
|
||||||
|
#endif /* _MGIAL_COMM */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
/** @} end of external_stubs */
|
||||||
|
|
||||||
|
#endif /* GUI_EXSTUBS_H */
|
||||||
|
|
||||||
+78
-66
@@ -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
|
* \file fixedmath.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
* \date 2002/01/12
|
* \date 2002/01/12
|
||||||
*
|
*
|
||||||
* \brief This file includes fixed point and three-dimension math routines.
|
* \brief This file includes fixed point and three-dimension math routines.
|
||||||
*
|
*
|
||||||
\verbatim
|
\verbatim
|
||||||
|
|
||||||
This file is part of MiniGUI, a mature cross-platform windowing
|
This file is part of MiniGUI, a mature cross-platform windowing
|
||||||
and Graphics User Interface (GUI) support system for embedded systems
|
and Graphics User Interface (GUI) support system for embedded systems
|
||||||
and smart IoT devices.
|
and smart IoT devices.
|
||||||
|
|
||||||
@@ -45,7 +57,7 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: fixedmath.h 12154 2009-10-15 07:21:34Z weiym $
|
* $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.
|
* pSOS, ThreadX, NuCleus, OSE, and Win32.
|
||||||
*
|
*
|
||||||
* Fixed-point math routins come from Allegro (a gift software)
|
* Fixed-point math routins come from Allegro (a gift software)
|
||||||
@@ -79,21 +91,21 @@ extern "C" {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \defgroup fixed_math_fns Fixed point math functions
|
* \defgroup fixed_math_fns Fixed point math functions
|
||||||
*
|
*
|
||||||
* You know that the float point mathematics routines are very
|
* 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)
|
* you can use fixed point. MiniGUI uses a double word (32-bit)
|
||||||
* integer to represent a fixed point ranged from -32767.0 to
|
* integer to represent a fixed point ranged from -32767.0 to
|
||||||
* 32767.0, and defines some fixed point mathematics routines for
|
* 32767.0, and defines some fixed point mathematics routines for
|
||||||
* your application. Some GDI functions need fixed point
|
* your application. Some GDI functions need fixed point
|
||||||
* math routines, like \a Arc.
|
* math routines, like \a Arc.
|
||||||
*
|
*
|
||||||
* Example 1:
|
* Example 1:
|
||||||
*
|
*
|
||||||
* \include fixed_point.c
|
* \include fixed_point.c
|
||||||
*
|
*
|
||||||
* Example 2:
|
* Example 2:
|
||||||
*
|
*
|
||||||
* \include fixedpoint.c
|
* \include fixedpoint.c
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
@@ -112,9 +124,9 @@ MG_EXPORT fixed fixsqrt (fixed x);
|
|||||||
/**
|
/**
|
||||||
* \fn fixed fixhypot (fixed x, fixed y)
|
* \fn fixed fixhypot (fixed x, fixed y)
|
||||||
* \brief Returns the Euclidean distance from the origin.
|
* \brief Returns the Euclidean distance from the origin.
|
||||||
*
|
*
|
||||||
* The function returns the \a sqrt(x*x+y*y). This is the length of
|
* 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 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.
|
* or the distance of the point \a (x,y) from the origin.
|
||||||
*
|
*
|
||||||
* \sa fixsqrt
|
* \sa fixsqrt
|
||||||
@@ -125,10 +137,10 @@ MG_EXPORT fixed fixhypot (fixed x, fixed y);
|
|||||||
* \fn fixed fixatan (fixed x)
|
* \fn fixed fixatan (fixed x)
|
||||||
* \brief Calculates the arc tangent of a fixed point value.
|
* \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.
|
* 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).
|
* mathematically defined to be between -PI/2 and PI/2 (inclusive).
|
||||||
*
|
*
|
||||||
* \sa fixatan2
|
* \sa fixatan2
|
||||||
@@ -140,20 +152,20 @@ MG_EXPORT fixed fixatan (fixed x);
|
|||||||
* \brief Calculates the arc tangent of two fixed point variables.
|
* \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.
|
* 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
|
* 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
|
* the signs of both arguments are used to determine the quadrant of the
|
||||||
* result.
|
* 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).
|
* (inclusive).
|
||||||
*
|
*
|
||||||
* \sa fixatan
|
* \sa fixatan
|
||||||
*/
|
*/
|
||||||
MG_EXPORT fixed fixatan2 (fixed y, fixed x);
|
MG_EXPORT fixed fixatan2 (fixed y, fixed x);
|
||||||
|
|
||||||
extern MG_EXPORT fixed _cos_tbl[];
|
extern MG_EXPORT const fixed __mg_cos_tbl[];
|
||||||
extern MG_EXPORT fixed _tan_tbl[];
|
extern MG_EXPORT const fixed __mg_tan_tbl[];
|
||||||
extern MG_EXPORT fixed _acos_tbl[];
|
extern MG_EXPORT const fixed __mg_acos_tbl[];
|
||||||
|
|
||||||
/************************** inline fixed point math functions *****************/
|
/************************** inline fixed point math functions *****************/
|
||||||
/* ftofix and fixtof are used in generic C versions of fixmul and fixdiv */
|
/* 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)
|
* \fn fixed ftofix (double x)
|
||||||
* \brief Converts a float point value to a fixed point value.
|
* \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.
|
* a fixed point value.
|
||||||
*
|
*
|
||||||
* \note The float point should be ranged from -32767.0 to 32767.0.
|
* \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
|
* \sa fixtof
|
||||||
*/
|
*/
|
||||||
static inline fixed ftofix (double x)
|
static inline fixed ftofix (double x)
|
||||||
{
|
{
|
||||||
if (x > 32767.0) {
|
if (x > 32767.0) {
|
||||||
errno = ERANGE;
|
errno = ERANGE;
|
||||||
return 0x7FFFFFFF;
|
return 0x7FFFFFFF;
|
||||||
@@ -182,21 +194,21 @@ static inline fixed ftofix (double x)
|
|||||||
return -0x7FFFFFFF;
|
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)
|
* \fn double fixtof (fixed x)
|
||||||
* \brief Converts a fixed point value to a float point value.
|
* \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.
|
* a float point value.
|
||||||
*
|
*
|
||||||
* \sa ftofix
|
* \sa ftofix
|
||||||
*/
|
*/
|
||||||
static inline double fixtof (fixed x)
|
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 x x,y: Two addends.
|
||||||
* \param y 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.
|
* this function sets \a errno to \a ERANGE.
|
||||||
*
|
*
|
||||||
* \sa fixsub
|
* \sa fixsub
|
||||||
@@ -220,19 +232,19 @@ static inline fixed fixadd (fixed x, fixed y)
|
|||||||
|
|
||||||
if (result >= 0) {
|
if (result >= 0) {
|
||||||
if ((x < 0) && (y < 0)) {
|
if ((x < 0) && (y < 0)) {
|
||||||
errno = ERANGE;
|
errno = ERANGE;
|
||||||
return -0x7FFFFFFF;
|
return -0x7FFFFFFF;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if ((x > 0) && (y > 0)) {
|
if ((x > 0) && (y > 0)) {
|
||||||
errno = ERANGE;
|
errno = ERANGE;
|
||||||
return 0x7FFFFFFF;
|
return 0x7FFFFFFF;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -240,13 +252,13 @@ static inline fixed fixadd (fixed x, fixed y)
|
|||||||
* \fn fixed fixsub (fixed x, fixed y)
|
* \fn fixed fixsub (fixed x, fixed y)
|
||||||
* \brief Subtract a fixed point value from another.
|
* \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.
|
* point value \a x, and returns the difference.
|
||||||
*
|
*
|
||||||
* \param x The minuend.
|
* \param x The minuend.
|
||||||
* \param y The subtrahend.
|
* \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.
|
* this function sets \a errno to \a ERANGE.
|
||||||
*
|
*
|
||||||
* \sa fixadd
|
* \sa fixadd
|
||||||
@@ -257,33 +269,33 @@ static inline fixed fixsub (fixed x, fixed y)
|
|||||||
|
|
||||||
if (result >= 0) {
|
if (result >= 0) {
|
||||||
if ((x < 0) && (y > 0)) {
|
if ((x < 0) && (y > 0)) {
|
||||||
errno = ERANGE;
|
errno = ERANGE;
|
||||||
return -0x7FFFFFFF;
|
return -0x7FFFFFFF;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if ((x > 0) && (y < 0)) {
|
if ((x > 0) && (y < 0)) {
|
||||||
errno = ERANGE;
|
errno = ERANGE;
|
||||||
return 0x7FFFFFFF;
|
return 0x7FFFFFFF;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \fn fixed fixmul (fixed x, fixed y)
|
* \fn fixed fixmul (fixed x, fixed y)
|
||||||
* \brief Returns the product of two fixed point values.
|
* \brief Returns the product of two fixed point values.
|
||||||
*
|
*
|
||||||
* This function returns the product of two fixed point values \a x and \a y.
|
* This function returns the product of two fixed point values \a x and \a y.
|
||||||
*
|
*
|
||||||
* \param x The faciend.
|
* \param x The faciend.
|
||||||
* \param y The multiplicato.
|
* \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.
|
* this function sets \a errno to \a ERANGE.
|
||||||
*
|
*
|
||||||
* \sa fixdiv
|
* \sa fixdiv
|
||||||
*/
|
*/
|
||||||
MG_EXPORT fixed fixmul (fixed x, fixed y);
|
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)
|
* \fn fixed fixdiv (fixed x, fixed y)
|
||||||
* \brief Returns the quotient of two fixed point values.
|
* \brief Returns the quotient of two fixed point values.
|
||||||
*
|
*
|
||||||
* This function returns the quotient of two fixed point values \a x and \a y.
|
* This function returns the quotient of two fixed point values \a x and \a y.
|
||||||
*
|
*
|
||||||
* \param x The dividend.
|
* \param x The dividend.
|
||||||
* \param y The divisor.
|
* \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.
|
* this function sets \a errno to \a ERANGE.
|
||||||
*
|
*
|
||||||
* \sa fixmul
|
* \sa fixmul
|
||||||
*/
|
*/
|
||||||
MG_EXPORT fixed fixdiv (fixed x, fixed y);
|
MG_EXPORT fixed fixdiv (fixed x, fixed y);
|
||||||
@@ -336,7 +348,7 @@ static inline int fixceil (fixed x)
|
|||||||
* \sa fixtoi
|
* \sa fixtoi
|
||||||
*/
|
*/
|
||||||
static inline fixed itofix (int x)
|
static inline fixed itofix (int x)
|
||||||
{
|
{
|
||||||
return x << 16;
|
return x << 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -349,61 +361,61 @@ static inline fixed itofix (int x)
|
|||||||
* \sa itofix
|
* \sa itofix
|
||||||
*/
|
*/
|
||||||
static inline int fixtoi (fixed x)
|
static inline int fixtoi (fixed x)
|
||||||
{
|
{
|
||||||
return (x >> 16) + ((x & 0x8000) >> 15);
|
return (x >> 16) + ((x & 0x8000) >> 15);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \fn fixed fixcos (fixed x)
|
* \fn fixed fixcos (fixed x)
|
||||||
* \brief Returns the cosine of a fixed point.
|
* \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.
|
* where \a x is given in radians.
|
||||||
*
|
*
|
||||||
* \sa fixacos
|
* \sa fixacos
|
||||||
*/
|
*/
|
||||||
static inline fixed fixcos (fixed x)
|
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)
|
* \fn fixed fixsin (fixed x)
|
||||||
* \brief Returns the sine of a fixed point.
|
* \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.
|
* where \a x is given in radians.
|
||||||
*
|
*
|
||||||
* \sa fixasin
|
* \sa fixasin
|
||||||
*/
|
*/
|
||||||
static inline fixed fixsin (fixed x)
|
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)
|
* \fn fixed fixtan (fixed x)
|
||||||
* \brief Returns the tangent of a fixed point.
|
* \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.
|
* where \a x is given in radians.
|
||||||
*
|
*
|
||||||
* \sa fixcos, fixsin
|
* \sa fixcos, fixsin
|
||||||
*/
|
*/
|
||||||
static inline fixed fixtan (fixed x)
|
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)
|
* \fn fixed fixacos (fixed x)
|
||||||
* \brief Calculates and returns the arc cosine of a fixed point.
|
* \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
|
* 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.
|
* 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).
|
* defined to be between 0 and PI (inclusive).
|
||||||
*
|
*
|
||||||
* \sa fixcos
|
* \sa fixcos
|
||||||
@@ -415,30 +427,30 @@ static inline fixed fixacos (fixed x)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return _acos_tbl[(x+65536+127)>>8];
|
return __mg_acos_tbl[(x+65536+127)>>8];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \fn fixed fixasin (fixed x)
|
* \fn fixed fixasin (fixed x)
|
||||||
* \brief Calculates and returns the arc sine of a fixed point.
|
* \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
|
* 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.
|
* 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).
|
* defined to be between -PI/2 and PI/2 (inclusive).
|
||||||
*
|
*
|
||||||
* \sa fixsin
|
* \sa fixsin
|
||||||
*/
|
*/
|
||||||
static inline fixed fixasin (fixed x)
|
static inline fixed fixasin (fixed x)
|
||||||
{
|
{
|
||||||
if ((x < -65536) || (x > 65536)) {
|
if ((x < -65536) || (x > 65536)) {
|
||||||
errno = EDOM;
|
errno = EDOM;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0x00400000 - _acos_tbl[(x+65536+127)>>8];
|
return 0x00400000 - __mg_acos_tbl[(x+65536+127)>>8];
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @} end of fixed_math_fns */
|
/** @} end of fixed_math_fns */
|
||||||
|
|||||||
+6072
-1743
File diff suppressed because it is too large
Load Diff
+858
-461
File diff suppressed because it is too large
Load Diff
@@ -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 nucleus_pthread.h
|
* \file nucleus_pthread.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user