mirror of
https://github.com/VincentWei/MiniGUI.git
synced 2026-09-23 16:43:58 +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 |
@@ -22,4 +22,5 @@ Makefile.in
|
|||||||
/*.pc
|
/*.pc
|
||||||
/*config.h
|
/*config.h
|
||||||
/*config.h.in
|
/*config.h.in
|
||||||
|
/*config.h.in~
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
+9
-4
@@ -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
|
||||||
@@ -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.4.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
|
||||||
@@ -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
|
||||||
+9
-4
@@ -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
|
||||||
@@ -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
|
||||||
|
|||||||
+12
-11
@@ -1,7 +1,6 @@
|
|||||||
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 \
|
||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -5,25 +5,27 @@ A mature and proven cross-platform GUI system for embedded and smart IoT devices
|
|||||||
|
|
||||||
## TABLE OF CONTENTS
|
## TABLE OF CONTENTS
|
||||||
|
|
||||||
1. Introduction
|
- [INTRODUCTION](#introduction)
|
||||||
1. A brief building instruction
|
- [A BRIEF BUILDING INSTRUCTION](#a-brief-building-instruction)
|
||||||
1. New features in version 3.4.x
|
* [Prerequisites](#prerequisites)
|
||||||
1. New features in version 3.2.x
|
* [Building MiniGUI Core](#building-minigui-core)
|
||||||
1. The runtime modes of MiniGUI
|
* [Building the Comprehensive Demo](#building-the-comprehensive-demo)
|
||||||
1. History
|
* [Unit Tests](#unit-tests)
|
||||||
1. About the authors
|
- [NEW FEATURES IN VERSION 4.0.x](#new-features-in-version-40x)
|
||||||
1. If you have a problem
|
- [NEW FEATURES IN VERSION 3.2.x](#new-features-in-version-32x)
|
||||||
1. A little FAQ
|
- [THE RUNTIME MODES OF MINIGUI](#the-runtime-modes-of-minigui)
|
||||||
1. Not free for commercial use
|
- [HISTORY](#history)
|
||||||
1. Copying
|
- [AUTHORS AND COPYING](#authors-and-copying)
|
||||||
|
* [Not Free for Commercial Use](#not-free-for-commercial-use)
|
||||||
|
* [Special Statement](#special-statement)
|
||||||
|
- [A LITTLE FAQ](#a-little-faq)
|
||||||
|
|
||||||
|
|
||||||
## INTRODUCTION
|
## INTRODUCTION
|
||||||
|
|
||||||
MiniGUI is a mature cross-platform windowing system and a GUI (Graphics
|
MiniGUI is a mature cross-platform windowing system and a GUI (Graphics
|
||||||
User Interface) support system for embedded systems and smart IoT devices.
|
User Interface) support system for embedded systems and smart IoT devices.
|
||||||
This is the version 3.2.x of MiniGUI maintained by WEI Yongming
|
This is the version 4.0.x of MiniGUI maintained by WEI Yongming.
|
||||||
(Vincent Wei, https://github.com/VincentWei).
|
|
||||||
|
|
||||||
MiniGUI is released under GPLv3 and the dual-licensing applies to commercial
|
MiniGUI is released under GPLv3 and the dual-licensing applies to commercial
|
||||||
use.
|
use.
|
||||||
@@ -31,42 +33,34 @@ use.
|
|||||||
MiniGUI aims to provide a fast, stable, full-featured, and cross-platform
|
MiniGUI aims to provide a fast, stable, full-featured, and cross-platform
|
||||||
windowing and GUI support system, which is especially fit for
|
windowing and GUI support system, which is especially fit for
|
||||||
embedded systems or smart IoT devices based-on Linux/uClinux, eCos, and other
|
embedded systems or smart IoT devices based-on Linux/uClinux, eCos, and other
|
||||||
traditional RTOSes, such as VxWorks, ThreadX, Nucleus, pSOS, uC/OS-II,
|
traditional RTOSes, such as RT-Thread, FreeRTOS, RTEMS, VxWorks, ThreadX,
|
||||||
and OSE.
|
Nucleus, pSOS, uC/OS-II, and OSE.
|
||||||
|
|
||||||
This is the MiniGUI core source tree, which provides windowing
|
This is the MiniGUI core source tree, which provides windowing
|
||||||
and graphics interfaces as well as a lot of standard controls (tookit).
|
and graphics interfaces as well as a lot of standard controls (toolkit).
|
||||||
|
|
||||||
Besides MiniGUI core, FMSoft also provides some components
|
Besides MiniGUI core, FMSoft also provides some components
|
||||||
for the developers to develop app much easier:
|
for the developers to develop app much easier:
|
||||||
|
|
||||||
* mGUtils: A MiniGUI component which contains miscellaneous utilities
|
* mGUtils: A MiniGUI component which contains miscellaneous utilities
|
||||||
like ColorSelectionDialogBox, FileOpenDialogBox, and so on.
|
like `ColorSelectionDialogBox`, `FileOpenDialogBox`, and so on.
|
||||||
|
|
||||||
* mGPlus: A MiniGUI component which provides support for advanced graphics
|
* mGPlus: A MiniGUI component which provides support for advanced graphics
|
||||||
functions like path, gradient, anti-aliase stretch, and color combination.
|
functions like path, gradient, anti-aliased stretch, and color combination.
|
||||||
|
|
||||||
* mGEff: mGEff provides an animation framework for MiniGUI app.
|
* mGEff: mGEff provides an animation framework for MiniGUI app.
|
||||||
It also provides some popular UI/UE special effects.
|
It also provides some popular UI/UE special effects.
|
||||||
|
|
||||||
* mGNCS: This component provides a new control set for MiniGUI app.
|
* mGNCS: This component provides a new control set for MiniGUI app.
|
||||||
By using mGNCS, you can use miniStudio to develop MiniGUI app in
|
|
||||||
WYSIWYG way.
|
|
||||||
|
|
||||||
* mGNCS4Touch: This component provides some new controls, which are
|
* mGNCS4Touch: This component provides some new controls, which are
|
||||||
compliant to the new control API spec of mGNCS, for devices with
|
compliant to the new control API spec of mGNCS, for devices with
|
||||||
a touch screen.
|
touch screens.
|
||||||
|
|
||||||
There are also some legacy MiniGUI components. We will not maintain these
|
There are also some legacy MiniGUI components. But we will not maintain these
|
||||||
components for MiniGUI core v3.2:
|
components since MiniGUI v3.2.0:
|
||||||
|
|
||||||
* mGi: An input method component for MiniGUI. This component provides
|
* mGi: An input method component for MiniGUI. This component provides
|
||||||
some typical input methods (such as softkey, hand-writing, and predict
|
some typical input methods (such as soft keyboard, hand-writing, and predict
|
||||||
text input for mobile phone) for MiniGUI apps.
|
text input for mobile phone) for MiniGUI apps.
|
||||||
|
|
||||||
* mGp: A printing component for MiniGUI. By using mGp, you can print
|
* mGp: A printing component for MiniGUI. By using mGp, you can print
|
||||||
out the graphics created by MiniGUI app to general-purpose printers.
|
out the graphics created by MiniGUI app to general-purpose printers.
|
||||||
|
|
||||||
* mG3d: A simple three-dimension component for MiniGUI. This component
|
* mG3d: A simple three-dimension component for MiniGUI. This component
|
||||||
provides a simple 3D API for app. You can use mG3d to create simple
|
provides a simple 3D API for app. You can use mG3d to create simple
|
||||||
3D UI.
|
3D UI.
|
||||||
@@ -81,7 +75,7 @@ as a free software project.
|
|||||||
You can download the source code tarball of MiniGUI and the dependent libraries
|
You can download the source code tarball of MiniGUI and the dependent libraries
|
||||||
from the download zone of the site:
|
from the download zone of the site:
|
||||||
|
|
||||||
http://www.minigui.com
|
<http://www.minigui.com>
|
||||||
|
|
||||||
FMSoft also releases some open source apps for MiniGUI on the site above,
|
FMSoft also releases some open source apps for MiniGUI on the site above,
|
||||||
for examples:
|
for examples:
|
||||||
@@ -89,27 +83,26 @@ for examples:
|
|||||||
* mDolphin, licensed under Apache 2.0, is a full-featured
|
* mDolphin, licensed under Apache 2.0, is a full-featured
|
||||||
WEB/WAP browser, which is developed based on the open source browser
|
WEB/WAP browser, which is developed based on the open source browser
|
||||||
core WebKit and uses MiniGUI as its underlying graphics support system.
|
core WebKit and uses MiniGUI as its underlying graphics support system.
|
||||||
|
|
||||||
* mGallery, licensed under Apache 2.0, intends to
|
* mGallery, licensed under Apache 2.0, intends to
|
||||||
provide a total solution for PMP (Portable Multimedia Player),
|
provide a total solution for PMP (Portable Multimedia Player),
|
||||||
which uses MiniGUI as the graphics platform.
|
which uses MiniGUI as the graphics platform.
|
||||||
|
|
||||||
* mSpider, licensed under GPL 3.0, intends to provide a
|
* mSpider, licensed under GPL 3.0, intends to provide a
|
||||||
light-weight MiniGUI-based web browser (HTML 3.2 and part JavaScript)
|
light-weight MiniGUI-based web browser (HTML 3.2 and part JavaScript)
|
||||||
|
|
||||||
* mEagle, licensed under GPL 3.0, is an embedded GIS development platform
|
* mEagle, licensed under GPL 3.0, is an embedded GIS development platform
|
||||||
which addresses the needs of map browse, query, analysis, etc
|
which addresses the needs of map browse, query, analysis, etc
|
||||||
|
|
||||||
FMSoft had created the public repositories for MiniGUI core, MiniGUI
|
FMSoft had created the public repositories for MiniGUI core, MiniGUI
|
||||||
components, and other open source apps on GitHub. You can visit them on:
|
components, and other open source apps on GitHub. You can visit them on:
|
||||||
|
|
||||||
https://github.com/VincentWei
|
<https://github.com/VincentWei>
|
||||||
|
|
||||||
FMSoft also releases miniStudio, which is a WYSIWYG IDE for MiniGUI, as a shareware.
|
and
|
||||||
You can also download it from the official site of MiniGUI.
|
|
||||||
|
|
||||||
http://www.minigui.com/en/download
|
<https://github.com/FMSoftCN>
|
||||||
|
|
||||||
|
We now maintain all documents about MiniGUI on the following public repo:
|
||||||
|
|
||||||
|
<https://github.com/VincentWei/minigui-docs>
|
||||||
|
|
||||||
## A BRIEF BUILDING INSTRUCTION
|
## A BRIEF BUILDING INSTRUCTION
|
||||||
|
|
||||||
@@ -117,16 +110,17 @@ This instruction assumes that you are using Ubuntu Linux.
|
|||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
You can run `apt install <package_name>` to install the software on Ubuntu Linux.
|
You should run `apt install <package_name>` to install the following packages
|
||||||
|
on your Ubuntu Linux.
|
||||||
|
|
||||||
* Building tools:
|
* Building tools:
|
||||||
* autoconf
|
* autoconf
|
||||||
* Dependent libraries (all are optional):
|
* Dependent libraries (all are optional):
|
||||||
* libjpeg64-dev
|
* libjpeg64-dev
|
||||||
* libpng12-dev
|
* libpng12-dev (use libpng-dev on Ubuntu Linux 18.04 LTS)
|
||||||
* libfreetype6-dev
|
* libfreetype6-dev
|
||||||
|
|
||||||
### Building
|
### Building MiniGUI Core
|
||||||
|
|
||||||
MiniGUI core uses GNU autoconf/automake scripts to configure and build the project.
|
MiniGUI core uses GNU autoconf/automake scripts to configure and build the project.
|
||||||
|
|
||||||
@@ -146,44 +140,93 @@ For more information, please run
|
|||||||
|
|
||||||
$ ./configure --help
|
$ ./configure --help
|
||||||
|
|
||||||
|
### Building the Comprehensive Demo
|
||||||
|
|
||||||
## NEW FEATURES IN VERSION 3.4.x
|
If you are anxious to see the comprehensive demo of MiniGUI core
|
||||||
|
and MiniGUI components, please fetch one of the following repositories
|
||||||
|
from GitHub and follow the instructions to build the samples and
|
||||||
|
the demonstration programs:
|
||||||
|
|
||||||
We introduce some new features in MiniGUI Version 3.4.x:
|
https://github.com/VincentWei/build-minigui-4.0
|
||||||
|
|
||||||
* The font and UNICODE related APIs are tuned or enhanced,
|
or
|
||||||
in order to support HybridOS Foundation C++ Library.
|
|
||||||
|
|
||||||
For more information, please refer to RELEASENOTES.md file.
|
https://github.com/VincentWei/build-minigui-3.2
|
||||||
|
|
||||||
|
|
||||||
|
### Unit Tests
|
||||||
|
|
||||||
|
Since MiniGUI 4.0.0, we organize the unit test code of MiniGUI APIs in the
|
||||||
|
following repository:
|
||||||
|
|
||||||
|
https://github.com/VincentWei/mg-tests
|
||||||
|
|
||||||
|
If you are interested in hacking the MiniGUI code, please visit this repository.
|
||||||
|
|
||||||
|
|
||||||
|
## NEW FEATURES IN VERSION 4.0.x
|
||||||
|
|
||||||
|
In this version, we enhanced and tuned the APIs related to text rendering,
|
||||||
|
in order to support [HybridOS Foundation Class Library].
|
||||||
|
|
||||||
|
* Since 4.0.2, MiniGUI provides support for RTEMS, RT-Thread, and FreeRTOS.
|
||||||
|
* MiniGUI now provides complete APIs for Unicode characters processing.
|
||||||
|
These APIs conform to Unicode 12.0.
|
||||||
|
* MiniGUI also provides new APIs to lay out, shape, and render glyphs
|
||||||
|
from complex and mixed scripts, such as Arabic, Thai, and Indic.
|
||||||
|
* We tuned and optimized MiniGUI's logical and device font interfaces to
|
||||||
|
support the new features above.
|
||||||
|
* MiniGUI now is enhanced to support input events which may be generated
|
||||||
|
by input devices other than standard mouse (or single-touch panel) and
|
||||||
|
keyboard, such as multi-touch panel (gesture), joystick, tablet tool,
|
||||||
|
table pad, and switch. In MiniGUI 4.0, we introduce `MSG_EXIN_XXX` messages
|
||||||
|
to support the input events from devices other than standard mouse
|
||||||
|
and keyboard. We call these messages as 'extra input messages'.
|
||||||
|
* The NEWGAL engine of `dri` to support modern DRI/DRM-driven graphics cards
|
||||||
|
or GPUs on Linux.
|
||||||
|
* The IAL engine of `libinput` to support all modern input devices including
|
||||||
|
mouse, keyboard, joystick, switch, multiple touch panel, gesture, tablet tool,
|
||||||
|
and table pad on Linux.
|
||||||
|
* We introduced a Slice Memory Allocator for fast concurrent memory chunk
|
||||||
|
allocation.
|
||||||
|
* Cleanup and tune code for GCC 7.3.
|
||||||
|
|
||||||
|
For more information, please refer to `RELEASE-NOTES.md` file:
|
||||||
|
|
||||||
|
<https://github.com/VincentWei/minigui/blob/master/RELEASE-NOTES.md>
|
||||||
|
|
||||||
|
Because of the changes of some APIs, we recommended strongly that you
|
||||||
|
use this version for new projects.
|
||||||
|
|
||||||
## NEW FEATURES IN VERSION 3.2.x
|
## NEW FEATURES IN VERSION 3.2.x
|
||||||
|
|
||||||
We introduce some new features in MiniGUI Version 3.2.x:
|
We introduce some new features in MiniGUI Version 3.2.x:
|
||||||
|
|
||||||
* The support for 64-bit platform. Note that some APIs have changed
|
* The support for 64-bit platform. Note that some APIs have changed
|
||||||
to support 64-bit platform. For more information, please refer to
|
to support 64-bit platform.
|
||||||
RELEASE-NOTES.md file.
|
* Some enhancements and optimizations.
|
||||||
|
|
||||||
Because of the changes of some APIs, we recommended strongly that you
|
For more information, please refer to `RELEASE-NOTES.md` file:
|
||||||
use this version for new projects.
|
|
||||||
|
<https://github.com/VincentWei/minigui/blob/rel-3-2/RELEASE-NOTES.md>
|
||||||
|
|
||||||
## THE RUNTIME MODES OF MINIGUI
|
## THE RUNTIME MODES OF MINIGUI
|
||||||
|
|
||||||
You can configure and compile MiniGUI as one of three runtime modes:
|
You can configure and compile MiniGUI as one of three runtime modes:
|
||||||
|
|
||||||
* 'MiniGUI-Threads': A program running on MiniGUI-Threads can create
|
* `MiniGUI-Threads`: A program running on MiniGUI-Threads can create
|
||||||
multiple cascaded windows in different threads, and all the windows
|
multiple cascaded windows in different threads, and all the windows
|
||||||
belong to a single process. MiniGUI-Threads is fit for some real-time
|
belong to a single process. MiniGUI-Threads is fit for some real-time
|
||||||
systems on Linux/uClinux, eCos, uC/OS-II, VxWorks, pSOS, ThreadX,
|
systems on Linux/uClinux, eCos, uC/OS-II, VxWorks, pSOS, ThreadX,
|
||||||
and OSE.
|
and OSE.
|
||||||
|
|
||||||
* 'MiniGUI-Processes': A program running on MiniGUI-Processes is
|
* `MiniGUI-Processes`: A program running on MiniGUI-Processes is
|
||||||
an independent process, which can also create multiple windows.
|
an independent process, which can also create multiple windows.
|
||||||
MiniGUI-Processes is fit for some complex embedded systems, such as
|
MiniGUI-Processes is fit for some complex embedded systems, such as
|
||||||
PDAs, Thin-Clients or STBs. This mode is only useful for full-featured
|
PDAs, Thin-Clients or STBs. This mode is only useful for full-featured
|
||||||
UNIX-like operating systems, like Linux.
|
UNIX-like operating systems, like Linux.
|
||||||
|
|
||||||
* 'MiniGUI-Standalone': A single process version of MiniGUI. This mode
|
* `MiniGUI-Standalone`: A single process version of MiniGUI. This mode
|
||||||
is useful for some small systems, like uClinux or RTOSes.
|
is useful for some small systems, like uClinux or RTOSes.
|
||||||
|
|
||||||
The original MiniGUI (version 1.0) run in MiniGUI-Threads mode.
|
The original MiniGUI (version 1.0) run in MiniGUI-Threads mode.
|
||||||
@@ -199,7 +242,7 @@ You can use MiniGUI-Processes to run more than one MiniGUI-based
|
|||||||
program in the form of UNIX process at the same time. MiniGUI-Processes
|
program in the form of UNIX process at the same time. MiniGUI-Processes
|
||||||
is a full-featured multi-process version of original MiniGUI -- You
|
is a full-featured multi-process version of original MiniGUI -- You
|
||||||
can run a program based on MiniGUI-Processes from a program called
|
can run a program based on MiniGUI-Processes from a program called
|
||||||
'mginit'. Just like X Window, the former process is called a client,
|
`mginit`. Just like X Window, the former process is called a client,
|
||||||
and the latter the server.
|
and the latter the server.
|
||||||
|
|
||||||
Clients connect to the server via UNIX domain socket, and the server
|
Clients connect to the server via UNIX domain socket, and the server
|
||||||
@@ -244,123 +287,80 @@ In the development of version 3.0.x, we introduced Look & Feel Renderer,
|
|||||||
BIDI text support, Non-rectangular window, double-buffer window, and
|
BIDI text support, Non-rectangular window, double-buffer window, and
|
||||||
other main features.
|
other main features.
|
||||||
|
|
||||||
|
In the development of version 4.0.x, we introduced the support for
|
||||||
|
complex writing systems (scripts), such as Arabic, Thai, and Indic.
|
||||||
|
|
||||||
A brief history description of the development progress lay below:
|
A brief history description of the development progress lay below:
|
||||||
|
|
||||||
0) 1994 ~ 1996: MiniGUI DOS version.
|
1. 1994 ~ 1996: MiniGUI DOS version.
|
||||||
1) Dec, 1998: Began to write.
|
1. Dec, 1998: Began to write.
|
||||||
2) Apr, 1999: The skeleton of MiniGUI, windowing sub-system
|
1. Apr, 1999: The skeleton of MiniGUI, windowing sub-system
|
||||||
and basic graphics device interfaces.
|
and basic graphics device interfaces.
|
||||||
3) May, 1999: Timer, menu, and the skeleton of control sub-system.
|
1. May, 1999: Timer, menu, and the skeleton of control sub-system.
|
||||||
4) Jun, 1999: Chinese input method (by Kang Xiaoning).
|
1. Jun, 1999: Chinese input method (by Kang Xiaoning).
|
||||||
5) July, 1999: GIF and JPG loading support (by LI Zhuo).
|
1. July, 1999: GIF and JPG loading support (by LI Zhuo).
|
||||||
6) Aug, 1999: Some standard controls (Portion by Zhao Jianghua).
|
1. Aug, 1999: Some standard controls (Portion by Zhao Jianghua).
|
||||||
7) Sep, 1999: Dialog boxes and message boxes.
|
1. Sep, 1999: Dialog boxes and message boxes.
|
||||||
8) Sep, 1999: Snapshot of screen or window.
|
1. Sep, 1999: Snapshot of screen or window.
|
||||||
9) Jan., 2000: VCOnGUI (Virtual Console on MiniGUI) version 0.2.02.
|
1. Jan., 2000: VCOnGUI (Virtual Console on MiniGUI) version 0.2.02.
|
||||||
10) Mar., 2000: Linux distribution installer based-on MiniGUI for
|
1. Mar., 2000: Linux distribution installer based-on MiniGUI for
|
||||||
HappyLinux 1.0.
|
HappyLinux 1.0.
|
||||||
11) Jun., 2000: Began to develop version 1.0.xx.
|
1. Jun., 2000: Began to develop version 1.0.xx.
|
||||||
12) Sep., 2000: MiniGUI version 0.3.06 released.
|
1. Sep., 2000: MiniGUI version 0.3.06 released.
|
||||||
13) Oct., 2000: MiniGUI version 0.9.00 released.
|
1. Oct., 2000: MiniGUI version 0.9.00 released.
|
||||||
14) Nov., 2000: MiniGUI version 0.9.96 released.
|
1. Nov., 2000: MiniGUI version 0.9.96 released.
|
||||||
15) Jan., 2001: MiniGUI version 0.9.98 released. You can build
|
1. Jan., 2001: MiniGUI version 0.9.98 released. You can build
|
||||||
MiniGUI-Lite from this version.
|
MiniGUI-Lite from this version.
|
||||||
16) Jan., 2001: MiniGUI version 1.0.00Beta1 released.
|
1. Jan., 2001: MiniGUI version 1.0.00Beta1 released.
|
||||||
17) Feb., 2001: MiniGUI version 1.0.00Pre1 released.
|
1. Feb., 2001: MiniGUI version 1.0.00Pre1 released.
|
||||||
18) Apr., 2001: MiniGUI version 1.0.00 released (2001/04/16).
|
1. Apr., 2001: MiniGUI version 1.0.00 released (2001/04/16).
|
||||||
18) Sep., 2001: MiniGUI version 1.1.0Pre1 released (2001/09/12).
|
1. Sep., 2001: MiniGUI version 1.1.0Pre1 released (2001/09/12).
|
||||||
19) Sep., 2001: MiniGUI version 1.0.9 released (2001/09/17),
|
1. Sep., 2001: MiniGUI version 1.0.9 released (2001/09/17),
|
||||||
this will be the last version of source branch 1.0.x.
|
this will be the last version of source branch 1.0.x.
|
||||||
20) Oct., 2001: MiniGUI version 1.1.0Pre4 released (2001/10/22).
|
1. Oct., 2001: MiniGUI version 1.1.0Pre4 released (2001/10/22).
|
||||||
This version have new GAL and GDI interfaces.
|
This version have new GAL and GDI interfaces.
|
||||||
21) Mar., 2002: MiniGUI official version 1.1.0 released (2002/03/08).
|
1. Mar., 2002: MiniGUI official version 1.1.0 released (2002/03/08).
|
||||||
MiniGUI API Reference documentation version 0.9 released.
|
MiniGUI API Reference documentation version 0.9 released.
|
||||||
22) Mar., 2002: MiniGUI API Reference documentation version 1.0 released.
|
1. Mar., 2002: MiniGUI API Reference documentation version 1.0 released.
|
||||||
23) Apr., 2002: MiniGUI the new stable version 1.2.0 released (2002/04/11).
|
1. Apr., 2002: MiniGUI the new stable version 1.2.0 released (2002/04/11).
|
||||||
24) Sep., 2002: The main developers of MiniGUI founded a
|
1. Sep., 2002: The main developers of MiniGUI founded a
|
||||||
new software corporation: Beijing FMSoft Technology Co., Ltd..
|
new software corporation: Beijing FMSoft Technology Co., Ltd..
|
||||||
And the development and maintenance of MiniGUI changes from
|
And the development and maintenance of MiniGUI changes from
|
||||||
loosely-knit team to business organization.
|
loosely-knit team to business organization.
|
||||||
25) Mar., 2003: MiniGUI official version 1.2.5 released (2003/03/23).
|
1. Mar., 2003: MiniGUI official version 1.2.5 released (2003/03/23).
|
||||||
25) May., 2003: MiniGUI official version 1.2.6 released (2003/05/18).
|
1. May., 2003: MiniGUI official version 1.2.6 released (2003/05/18).
|
||||||
26) Sep., 2003: MiniGUI official version 1.3.1 released (2003/09/11).
|
1. Sep., 2003: MiniGUI official version 1.3.1 released (2003/09/11).
|
||||||
27) Jan., 2004: MiniGUI official version 1.5.1 released (2004/01/18).
|
1. Jan., 2004: MiniGUI official version 1.5.1 released (2004/01/18).
|
||||||
28) Feb., 2004: MiniGUI tested on eCos and uC/OS-II.
|
1. Feb., 2004: MiniGUI tested on eCos and uC/OS-II.
|
||||||
29) Jun., 2004: MiniGUI tested on VxWorks.
|
1. Jun., 2004: MiniGUI tested on VxWorks.
|
||||||
30) Jan., 2005: MiniGUI tested on ThreadX and pSOS.
|
1. Jan., 2005: MiniGUI tested on ThreadX and pSOS.
|
||||||
31) Feb., 2005: MiniGUI official version 1.6.1 released.
|
1. Feb., 2005: MiniGUI official version 1.6.1 released.
|
||||||
32) Aug., 2005: MiniGUI beta version 2.0.0 released.
|
1. Aug., 2005: MiniGUI beta version 2.0.0 released.
|
||||||
33) Sep., 2005: MiniGUI official version 1.6.8 released.
|
1. Sep., 2005: MiniGUI official version 1.6.8 released.
|
||||||
34) Oct., 2005: MiniGUI official version 2.0.2 released.
|
1. Oct., 2005: MiniGUI official version 2.0.2 released.
|
||||||
35) Jun., 2006: MiniGUI provides support for OSE.
|
1. Jun., 2006: MiniGUI provides support for OSE.
|
||||||
36) Jul., 2006: MiniGUI official version 2.0.3/1.6.9 released.
|
1. Jul., 2006: MiniGUI official version 2.0.3/1.6.9 released.
|
||||||
37) Nov., 2007: MiniGUI official version 2.0.4/1.6.10 released.
|
1. Nov., 2007: MiniGUI official version 2.0.4/1.6.10 released.
|
||||||
38) Apr., 2009: MiniGUI official version 3.0.2 released.
|
1. Apr., 2009: MiniGUI official version 3.0.2 released.
|
||||||
39) Oct., 2009: MiniGUI official version 3.0.4 released.
|
1. Oct., 2009: MiniGUI official version 3.0.4 released.
|
||||||
40) Jan., 2010: MiniGUI official version 3.0.6 released.
|
1. Jan., 2010: MiniGUI official version 3.0.6 released.
|
||||||
41) May., 2010: MiniGUI official version 3.0.8 released.
|
1. May., 2010: MiniGUI official version 3.0.8 released.
|
||||||
42) Aug., 2010: MiniGUI official version 3.0.10 released.
|
1. Aug., 2010: MiniGUI official version 3.0.10 released.
|
||||||
43) Oct., 2010: MiniGUI official version 3.0.12 released.
|
1. Oct., 2010: MiniGUI official version 3.0.12 released.
|
||||||
44) Aug., 2017: FMSoft released the latest source code of MiniGUI under GPL 3.0.
|
1. Aug., 2017: FMSoft released the latest source code of MiniGUI under GPL 3.0.
|
||||||
45) Aug., 2017: FMSoft released the latest source code of mDolphin under Apache 2.0.
|
1. Aug., 2017: FMSoft released the latest source code of mDolphin under Apache 2.0.
|
||||||
46) Dec., 2017: FMSoft updated MiniGUI and miniStudio for latest Linux distributions.
|
1. Dec., 2017: FMSoft updated MiniGUI and miniStudio for latest Linux distributions.
|
||||||
47) Feb., 2018: FMSoft released MiniGUI version 3.2.
|
1. Feb., 2018: FMSoft released MiniGUI version 3.2.0.
|
||||||
47) Jun., 2019: FMSoft released MiniGUI version 3.4.
|
1. Apr., 2019: FMSoft released MiniGUI version 3.2.2.
|
||||||
|
1. Jul., 2019: FMSoft released MiniGUI version 4.0.0.
|
||||||
|
|
||||||
|
## AUTHORS AND COPYING
|
||||||
## ABOUT THE AUTHORS
|
|
||||||
|
|
||||||
The original author of MiniGUI is WEI Yongming, and now MiniGUI is
|
The original author of MiniGUI is WEI Yongming, and now MiniGUI is
|
||||||
maintained by FMSoft. For more information, please browse
|
maintained by FMSoft. For more information, please refer to
|
||||||
our home page: http://www.fmsoft.cn.
|
<http://www.fmsoft.cn>.
|
||||||
|
|
||||||
|
Copyright (C) 2002 ~ 2019, Beijing FMSoft Technologies Co., Ltd.
|
||||||
## IF YOU HAVE A PROBLEM
|
|
||||||
|
|
||||||
If you have any technical problem, advice or comment, please send
|
|
||||||
messages to consult@minigui.com.
|
|
||||||
|
|
||||||
|
|
||||||
## A LITTLE FAQ
|
|
||||||
|
|
||||||
Q: Is GPL'd MiniGUI free for commercial use?
|
|
||||||
|
|
||||||
A: Simply no. FMSoft releases MiniGUI under GPLv3 license.
|
|
||||||
It is free for those who are 100% GPL and those who never copy, modify
|
|
||||||
and distribute MiniGUI. But if you want to use these GPL'd versions
|
|
||||||
for commerce, you should get the commercial license from FMSoft first.
|
|
||||||
|
|
||||||
Q: Which operating system does MiniGUI support?
|
|
||||||
|
|
||||||
A: MiniGUI can run on Linux/uClinux, uC/OS-II, eCos, ThreadX, pSOS,
|
|
||||||
VxWorks, ThreadX, OSE, and even Win32. Any other real-time OSes can
|
|
||||||
be supported theoretically.
|
|
||||||
|
|
||||||
Q: Which architecture does MiniGUI support?
|
|
||||||
|
|
||||||
A: x86 32/64-bit, ARM 32/64-bit (e.g., ARMv7 and ARM Cortex-A7),
|
|
||||||
PowerPC, MIPS, DragonBall, ColdFire, Blackfin, and so on.
|
|
||||||
|
|
||||||
Q: Does MiniGUI offer the support for grey LCD with 4bpp (bits per pixel)?
|
|
||||||
|
|
||||||
A: Yes, it offers. It even offers the support for 1bpp and 2bpp LCD.
|
|
||||||
|
|
||||||
|
|
||||||
## NOT FREE FOR COMMERCIAL USE
|
|
||||||
|
|
||||||
MiniGUI and its components are licensed under the GPL license.
|
|
||||||
So any links about MiniGUI must follow GPL. If you cannot accept GPL,
|
|
||||||
you need to be licensed from FMSoft. If you wonder that if you need
|
|
||||||
the commercial license of MiniGUI, please refer to the LICENSE-POLICY file.
|
|
||||||
|
|
||||||
We provide you the commercial license of MiniGUI according to the number
|
|
||||||
of the run-time binary copies of MiniGUI. If you are interested in
|
|
||||||
the commercial license of MiniGUI, please write to sales@minigui.com.
|
|
||||||
|
|
||||||
|
|
||||||
## COPYING
|
|
||||||
|
|
||||||
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
|
|
||||||
Copyright (C) 1998 ~ 2002, WEI Yongming
|
Copyright (C) 1998 ~ 2002, WEI Yongming
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
@@ -388,3 +388,48 @@ the commercial license of MiniGUI, please write to sales@minigui.com.
|
|||||||
For more information about the commercial license, please refer to
|
For more information about the commercial license, please refer to
|
||||||
<http://www.minigui.com/en/about/licensing-policy/>.
|
<http://www.minigui.com/en/about/licensing-policy/>.
|
||||||
|
|
||||||
|
### Special Statement
|
||||||
|
|
||||||
|
The above open source or free software license does
|
||||||
|
not apply to any entity in the Exception List published by
|
||||||
|
Beijing FMSoft Technologies Co., Ltd.
|
||||||
|
|
||||||
|
If you are or the entity you represent is listed in the Exception List,
|
||||||
|
the above open source or free software license does not apply to you
|
||||||
|
or the entity you represent. Regardless of the purpose, you should not
|
||||||
|
use the software in any way whatsoever, including but not limited to
|
||||||
|
downloading, viewing, copying, distributing, compiling, and running.
|
||||||
|
If you have already downloaded it, you MUST destroy all of its copies.
|
||||||
|
|
||||||
|
The Exception List is published by FMSoft and may be updated
|
||||||
|
from time to time. For more information, please see
|
||||||
|
<https://www.fmsoft.cn/exception-list>.
|
||||||
|
|
||||||
|
### Not Free for Commercial Use
|
||||||
|
|
||||||
|
As stated above, MiniGUI and its components are licensed under GPL.
|
||||||
|
So any links about MiniGUI must follow GPL. If you cannot accept GPL,
|
||||||
|
you need to be licensed from FMSoft.
|
||||||
|
|
||||||
|
We provide you the commercial license of MiniGUI according to the number
|
||||||
|
of the run-time binary copies of MiniGUI. If you are interested in
|
||||||
|
the commercial license of MiniGUI, please write to <sales@minigui.com>.
|
||||||
|
|
||||||
|
## A LITTLE FAQ
|
||||||
|
|
||||||
|
Q: Which operating systems does MiniGUI support?
|
||||||
|
A: MiniGUI can run on Linux/uClinux, uC/OS-II, eCos, ThreadX, pSOS,
|
||||||
|
VxWorks, ThreadX, OSE, and even Win32. Any other real-time OSes can
|
||||||
|
be supported theoretically.
|
||||||
|
|
||||||
|
Q: Which architecture does MiniGUI support?
|
||||||
|
A: x86 32/64-bit, ARM 32/64-bit (e.g., ARMv7 and ARM Cortex-A7),
|
||||||
|
PowerPC, MIPS, DragonBall, ColdFire, Blackfin, and so on.
|
||||||
|
|
||||||
|
Q: Does MiniGUI offer the support for grey LCD with 4bpp (bits per pixel)?
|
||||||
|
A: Yes, it offers. It even offers the support for 1bpp and 2bpp LCD.
|
||||||
|
|
||||||
|
Q: Can I get the tech support from MiniGUI team?
|
||||||
|
A: Yes, FMSoft can provide you with guaranteed commercial technical
|
||||||
|
support services. Please send messages to <sales@minigui.com>.
|
||||||
|
|
||||||
|
|||||||
+505
-56
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,9 @@
|
|||||||
Version 3.4.0 (2019/06/30)
|
Version 4.0.2 (2019/10/31)
|
||||||
|
|
||||||
This release needs the following resource packages:
|
This release needs the following resource packages:
|
||||||
|
|
||||||
* minigui-res-3.4.0.tar.gz
|
* minigui-res-4.0.0.tar.gz
|
||||||
|
|
||||||
The latest samples package is:
|
The latest samples package is:
|
||||||
|
|
||||||
* mg-samples-3.4.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+=
|
||||||
|
##################################################
|
||||||
|
|
||||||
+249
-97
File diff suppressed because it is too large
Load Diff
+52
-8
@@ -1,16 +1,20 @@
|
|||||||
# 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,
|
# The priority of above configruation files is ./MiniGUI.cfg,
|
||||||
# /usr/local/etc/MiniGUI.cfg, and then /etc/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
|
# 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
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ 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
|
||||||
|
|||||||
+244
-28
@@ -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 common.h
|
* \file common.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
@@ -727,7 +739,7 @@ typedef UINT_PTR LPARAM;
|
|||||||
#define MAKEWORD16(low, high) ((WORD16)(((BYTE)(low)) | (((WORD16)((BYTE)(high))) << 8)))
|
#define MAKEWORD16(low, high) ((WORD16)(((BYTE)(low)) | (((WORD16)((BYTE)(high))) << 8)))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def MAKEWORD32(first, second, third, fourth)
|
* \def MAKEDWORD32(first, second, third, fourth)
|
||||||
* \brief Makes a WORD32 value with four bytes.
|
* \brief Makes a WORD32 value with four bytes.
|
||||||
*
|
*
|
||||||
* \sa MAKEWORD16, FIRSTBYTE, SECONDBYTE, THIRDBYTE, FOURTHBYTE
|
* \sa MAKEWORD16, FIRSTBYTE, SECONDBYTE, THIRDBYTE, FOURTHBYTE
|
||||||
@@ -1161,7 +1173,7 @@ typedef struct _GAL_Rect {
|
|||||||
*
|
*
|
||||||
* The number of MiniGUI keys is defined to 255 by default. This means that
|
* The number of MiniGUI keys is defined to 255 by default. This means that
|
||||||
* MiniGUI can destinguish 255 different keys with each has an unique scan code.
|
* MiniGUI can destinguish 255 different keys with each has an unique scan code.
|
||||||
* The scan codes below 129 are defined for PC keyboard by default.
|
* The scan codes below 251 are defined for Linux keyboard keys by default.
|
||||||
* If your system has a large amount of keys, you can define the scan code of
|
* If your system has a large amount of keys, you can define the scan code of
|
||||||
* keys ranged from 1 to 255 in your IAL engine. And your application will
|
* keys ranged from 1 to 255 in your IAL engine. And your application will
|
||||||
* receive a MSG_KEYDOWN and MSG_KEYUP messages when a key pressed and
|
* receive a MSG_KEYDOWN and MSG_KEYUP messages when a key pressed and
|
||||||
@@ -1176,7 +1188,7 @@ typedef struct _GAL_Rect {
|
|||||||
* \def NR_KEYS
|
* \def NR_KEYS
|
||||||
* \brief The number of keys defined by Linux operating system.
|
* \brief The number of keys defined by Linux operating system.
|
||||||
*
|
*
|
||||||
* For a PC box, NR_KEYS is defined to 128 by default. You can define
|
* For a Linux box, NR_KEYS is defined to 250 by default. You can define
|
||||||
* some input events from an input device other than keyboard, e.g.
|
* some input events from an input device other than keyboard, e.g.
|
||||||
* your remote controller, as key events with different scan codes from
|
* your remote controller, as key events with different scan codes from
|
||||||
* those of PC's. MiniGUI can support 255 keys, and the constant
|
* those of PC's. MiniGUI can support 255 keys, and the constant
|
||||||
@@ -1185,7 +1197,7 @@ typedef struct _GAL_Rect {
|
|||||||
* \sa MGUI_NR_KEYS
|
* \sa MGUI_NR_KEYS
|
||||||
*/
|
*/
|
||||||
#ifndef NR_KEYS
|
#ifndef NR_KEYS
|
||||||
#define NR_KEYS 128
|
#define NR_KEYS 250
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1206,7 +1218,9 @@ typedef struct _GAL_Rect {
|
|||||||
*/
|
*/
|
||||||
#define SCANCODE_USER (NR_KEYS + 1)
|
#define SCANCODE_USER (NR_KEYS + 1)
|
||||||
|
|
||||||
|
#define SCANCODE_RESERVED 0
|
||||||
#define SCANCODE_ESCAPE 1
|
#define SCANCODE_ESCAPE 1
|
||||||
|
#define SCANCODE_ESC SCANCODE_ESCAPE
|
||||||
|
|
||||||
#define SCANCODE_1 2
|
#define SCANCODE_1 2
|
||||||
#define SCANCODE_2 3
|
#define SCANCODE_2 3
|
||||||
@@ -1236,11 +1250,14 @@ typedef struct _GAL_Rect {
|
|||||||
#define SCANCODE_O 24
|
#define SCANCODE_O 24
|
||||||
#define SCANCODE_P 25
|
#define SCANCODE_P 25
|
||||||
#define SCANCODE_BRACKET_LEFT 26
|
#define SCANCODE_BRACKET_LEFT 26
|
||||||
|
#define SCANCODE_LEFTBRACE SCANCODE_BRACKET_LEFT
|
||||||
#define SCANCODE_BRACKET_RIGHT 27
|
#define SCANCODE_BRACKET_RIGHT 27
|
||||||
|
#define SCANCODE_RIGHTBRACE SCANCODE_BRACKET_RIGHT
|
||||||
|
|
||||||
#define SCANCODE_ENTER 28
|
#define SCANCODE_ENTER 28
|
||||||
|
|
||||||
#define SCANCODE_LEFTCONTROL 29
|
#define SCANCODE_LEFTCONTROL 29
|
||||||
|
#define SCANCODE_LEFTCTRL SCANCODE_LEFTCONTROL
|
||||||
|
|
||||||
#define SCANCODE_A 30
|
#define SCANCODE_A 30
|
||||||
#define SCANCODE_S 31
|
#define SCANCODE_S 31
|
||||||
@@ -1254,7 +1271,6 @@ typedef struct _GAL_Rect {
|
|||||||
#define SCANCODE_SEMICOLON 39
|
#define SCANCODE_SEMICOLON 39
|
||||||
#define SCANCODE_APOSTROPHE 40
|
#define SCANCODE_APOSTROPHE 40
|
||||||
#define SCANCODE_GRAVE 41
|
#define SCANCODE_GRAVE 41
|
||||||
|
|
||||||
#define SCANCODE_LEFTSHIFT 42
|
#define SCANCODE_LEFTSHIFT 42
|
||||||
#define SCANCODE_BACKSLASH 43
|
#define SCANCODE_BACKSLASH 43
|
||||||
|
|
||||||
@@ -1267,11 +1283,11 @@ typedef struct _GAL_Rect {
|
|||||||
#define SCANCODE_M 50
|
#define SCANCODE_M 50
|
||||||
#define SCANCODE_COMMA 51
|
#define SCANCODE_COMMA 51
|
||||||
#define SCANCODE_PERIOD 52
|
#define SCANCODE_PERIOD 52
|
||||||
|
#define SCANCODE_DOT SCANCODE_PERIOD
|
||||||
#define SCANCODE_SLASH 53
|
#define SCANCODE_SLASH 53
|
||||||
|
|
||||||
#define SCANCODE_RIGHTSHIFT 54
|
#define SCANCODE_RIGHTSHIFT 54
|
||||||
#define SCANCODE_KEYPADMULTIPLY 55
|
#define SCANCODE_KEYPADMULTIPLY 55
|
||||||
|
#define SCANCODE_KPASTERISK SCANCODE_KEYPADMULTIPLY
|
||||||
#define SCANCODE_LEFTALT 56
|
#define SCANCODE_LEFTALT 56
|
||||||
#define SCANCODE_SPACE 57
|
#define SCANCODE_SPACE 57
|
||||||
#define SCANCODE_CAPSLOCK 58
|
#define SCANCODE_CAPSLOCK 58
|
||||||
@@ -1291,66 +1307,264 @@ typedef struct _GAL_Rect {
|
|||||||
#define SCANCODE_SCROLLLOCK 70
|
#define SCANCODE_SCROLLLOCK 70
|
||||||
|
|
||||||
#define SCANCODE_KEYPAD7 71
|
#define SCANCODE_KEYPAD7 71
|
||||||
|
#define SCANCODE_KP7 SCANCODE_KEYPAD7
|
||||||
#define SCANCODE_CURSORUPLEFT 71
|
#define SCANCODE_CURSORUPLEFT 71
|
||||||
#define SCANCODE_KEYPAD8 72
|
#define SCANCODE_KEYPAD8 72
|
||||||
|
#define SCANCODE_KP8 SCANCODE_KEYPAD8
|
||||||
#define SCANCODE_CURSORUP 72
|
#define SCANCODE_CURSORUP 72
|
||||||
#define SCANCODE_KEYPAD9 73
|
#define SCANCODE_KEYPAD9 73
|
||||||
|
#define SCANCODE_KP9 SCANCODE_KEYPAD9
|
||||||
#define SCANCODE_CURSORUPRIGHT 73
|
#define SCANCODE_CURSORUPRIGHT 73
|
||||||
#define SCANCODE_KEYPADMINUS 74
|
#define SCANCODE_KEYPADMINUS 74
|
||||||
|
#define SCANCODE_KPMINUS SCANCODE_KEYPADMINUS
|
||||||
#define SCANCODE_KEYPAD4 75
|
#define SCANCODE_KEYPAD4 75
|
||||||
|
#define SCANCODE_KP4 SCANCODE_KEYPAD4
|
||||||
#define SCANCODE_CURSORLEFT 75
|
#define SCANCODE_CURSORLEFT 75
|
||||||
#define SCANCODE_KEYPAD5 76
|
#define SCANCODE_KEYPAD5 76
|
||||||
|
#define SCANCODE_KP5 SCANCODE_KEYPAD5
|
||||||
#define SCANCODE_KEYPAD6 77
|
#define SCANCODE_KEYPAD6 77
|
||||||
|
#define SCANCODE_KP6 SCANCODE_KEYPAD6
|
||||||
#define SCANCODE_CURSORRIGHT 77
|
#define SCANCODE_CURSORRIGHT 77
|
||||||
#define SCANCODE_KEYPADPLUS 78
|
#define SCANCODE_KEYPADPLUS 78
|
||||||
|
#define SCANCODE_KPPLUS SCANCODE_KEYPADPLUS
|
||||||
#define SCANCODE_KEYPAD1 79
|
#define SCANCODE_KEYPAD1 79
|
||||||
|
#define SCANCODE_KP1 SCANCODE_KEYPAD1
|
||||||
#define SCANCODE_CURSORDOWNLEFT 79
|
#define SCANCODE_CURSORDOWNLEFT 79
|
||||||
#define SCANCODE_KEYPAD2 80
|
#define SCANCODE_KEYPAD2 80
|
||||||
|
#define SCANCODE_KP2 SCANCODE_KEYPAD2
|
||||||
#define SCANCODE_CURSORDOWN 80
|
#define SCANCODE_CURSORDOWN 80
|
||||||
#define SCANCODE_KEYPAD3 81
|
#define SCANCODE_KEYPAD3 81
|
||||||
|
#define SCANCODE_KP3 SCANCODE_KEYPAD3
|
||||||
#define SCANCODE_CURSORDOWNRIGHT 81
|
#define SCANCODE_CURSORDOWNRIGHT 81
|
||||||
#define SCANCODE_KEYPAD0 82
|
#define SCANCODE_KEYPAD0 82
|
||||||
|
#define SCANCODE_KP0 SCANCODE_KEYPAD0
|
||||||
#define SCANCODE_KEYPADPERIOD 83
|
#define SCANCODE_KEYPADPERIOD 83
|
||||||
|
#define SCANCODE_KPDOT SCANCODE_KEYPADPERIOD
|
||||||
|
|
||||||
|
#define SCANCODE_ZENKAKUHANKAKU 85
|
||||||
|
|
||||||
#define SCANCODE_LESS 86
|
#define SCANCODE_LESS 86
|
||||||
|
#define SCANCODE_102ND SCANCODE_LESS
|
||||||
|
|
||||||
#define SCANCODE_F11 87
|
#define SCANCODE_F11 87
|
||||||
#define SCANCODE_F12 88
|
#define SCANCODE_F12 88
|
||||||
|
|
||||||
|
#define SCANCODE_RO 89
|
||||||
|
#define SCANCODE_KATAKANA 90
|
||||||
|
#define SCANCODE_HIRAGANA 91
|
||||||
|
#define SCANCODE_HENKAN 92
|
||||||
|
#define SCANCODE_KATAKANAHIRAGANA 93
|
||||||
|
#define SCANCODE_MUHENKAN 94
|
||||||
|
#define SCANCODE_KPJPCOMMA 95
|
||||||
|
|
||||||
#define SCANCODE_KEYPADENTER 96
|
#define SCANCODE_KEYPADENTER 96
|
||||||
|
#define SCANCODE_KPENTER SCANCODE_KEYPADENTER
|
||||||
#define SCANCODE_RIGHTCONTROL 97
|
#define SCANCODE_RIGHTCONTROL 97
|
||||||
|
#define SCANCODE_RIGHTCTRL SCANCODE_RIGHTCONTROL
|
||||||
#define SCANCODE_CONTROL 97
|
#define SCANCODE_CONTROL 97
|
||||||
#define SCANCODE_KEYPADDIVIDE 98
|
#define SCANCODE_KEYPADDIVIDE 98
|
||||||
|
#define SCANCODE_KPSLASH SCANCODE_KEYPADDIVIDE
|
||||||
#define SCANCODE_PRINTSCREEN 99
|
#define SCANCODE_PRINTSCREEN 99
|
||||||
|
#define SCANCODE_SYSRQ SCANCODE_PRINTSCREEN
|
||||||
#define SCANCODE_RIGHTALT 100
|
#define SCANCODE_RIGHTALT 100
|
||||||
#define SCANCODE_BREAK 101 /* Beware: is 119 */
|
#define SCANCODE_LINEFEED 101
|
||||||
#define SCANCODE_BREAK_ALTERNATIVE 119 /* on some keyboards! */
|
|
||||||
|
|
||||||
#define SCANCODE_HOME 102
|
#define SCANCODE_HOME 102
|
||||||
#define SCANCODE_CURSORBLOCKUP 103 /* Cursor key block */
|
#define SCANCODE_CURSORBLOCKUP 103 /* Cursor key block */
|
||||||
|
#define SCANCODE_UP SCANCODE_CURSORBLOCKUP
|
||||||
#define SCANCODE_PAGEUP 104
|
#define SCANCODE_PAGEUP 104
|
||||||
#define SCANCODE_CURSORBLOCKLEFT 105 /* Cursor key block */
|
#define SCANCODE_CURSORBLOCKLEFT 105 /* Cursor key block */
|
||||||
|
#define SCANCODE_LEFT SCANCODE_CURSORBLOCKLEFT
|
||||||
#define SCANCODE_CURSORBLOCKRIGHT 106 /* Cursor key block */
|
#define SCANCODE_CURSORBLOCKRIGHT 106 /* Cursor key block */
|
||||||
|
#define SCANCODE_RIGHT SCANCODE_CURSORBLOCKRIGHT
|
||||||
#define SCANCODE_END 107
|
#define SCANCODE_END 107
|
||||||
#define SCANCODE_CURSORBLOCKDOWN 108 /* Cursor key block */
|
#define SCANCODE_CURSORBLOCKDOWN 108 /* Cursor key block */
|
||||||
|
#define SCANCODE_DOWN SCANCODE_CURSORBLOCKDOWN
|
||||||
#define SCANCODE_PAGEDOWN 109
|
#define SCANCODE_PAGEDOWN 109
|
||||||
#define SCANCODE_INSERT 110
|
#define SCANCODE_INSERT 110
|
||||||
#define SCANCODE_REMOVE 111
|
#define SCANCODE_REMOVE 111
|
||||||
|
#define SCANCODE_DELETE SCANCODE_REMOVE
|
||||||
|
|
||||||
#define SCANCODE_PAUSE 119
|
#define SCANCODE_MACRO 112
|
||||||
|
#define SCANCODE_MUTE 113
|
||||||
#define SCANCODE_POWER 120
|
#define SCANCODE_VOLUMEDOWN 114
|
||||||
#define SCANCODE_SLEEP 121
|
#define SCANCODE_VOLUMEUP 115
|
||||||
#define SCANCODE_WAKEUP 122
|
#define SCANCODE_POWER 116 /* SC System Power Down */
|
||||||
|
#define SCANCODE_KPEQUAL 117
|
||||||
|
#define SCANCODE_KPPLUSMINUS 118
|
||||||
|
#define SCANCODE_BREAK 119
|
||||||
|
#define SCANCODE_BREAK_ALTERNATIVE SCANCODE_BREAK
|
||||||
|
#define SCANCODE_PAUSE SCANCODE_BREAK
|
||||||
|
|
||||||
|
#define SCANCODE_SCALE 120 /* AL Compiz Scale (Expose) */
|
||||||
|
#define SCANCODE_KPCOMMA 121
|
||||||
|
#define SCANCODE_HANGEUL 122
|
||||||
|
#define SCANCODE_HANJA 123
|
||||||
|
#define SCANCODE_YEN 124
|
||||||
#define SCANCODE_LEFTWIN 125
|
#define SCANCODE_LEFTWIN 125
|
||||||
|
#define SCANCODE_LEFTMETA SCANCODE_LEFTWIN
|
||||||
#define SCANCODE_RIGHTWIN 126
|
#define SCANCODE_RIGHTWIN 126
|
||||||
#define SCANCODE_MENU 127
|
#define SCANCODE_RIGHTMETA SCANCODE_RIGHTWIN
|
||||||
|
#define SCANCODE_COMPOSE 127
|
||||||
|
#define SCANCODE_STOP 128 /* AC Stop */
|
||||||
|
#define SCANCODE_AGAIN 129
|
||||||
|
#define SCANCODE_PROPS 130 /* AC Properties */
|
||||||
|
#define SCANCODE_UNDO 131 /* AC Undo */
|
||||||
|
#define SCANCODE_FRONT 132
|
||||||
|
#define SCANCODE_COPY 133 /* AC Copy */
|
||||||
|
#define SCANCODE_OPEN 134 /* AC Open */
|
||||||
|
#define SCANCODE_PASTE 135 /* AC Paste */
|
||||||
|
#define SCANCODE_FIND 136 /* AC Search */
|
||||||
|
#define SCANCODE_CUT 137 /* AC Cut */
|
||||||
|
#define SCANCODE_HELP 138 /* AL Integrated Help Center */
|
||||||
|
#define SCANCODE_MENU 139 /* Menu (show menu) */
|
||||||
|
#define SCANCODE_CALC 140 /* AL Calculator */
|
||||||
|
#define SCANCODE_SETUP 141
|
||||||
|
#define SCANCODE_SLEEP 142 /* SC System Sleep */
|
||||||
|
#define SCANCODE_WAKEUP 143 /* System Wake Up */
|
||||||
|
#define SCANCODE_FILE 144 /* AL Local Machine Browser */
|
||||||
|
#define SCANCODE_SENDFILE 145
|
||||||
|
#define SCANCODE_DELETEFILE 146
|
||||||
|
#define SCANCODE_XFER 147
|
||||||
|
#define SCANCODE_PROG1 148
|
||||||
|
#define SCANCODE_PROG2 149
|
||||||
|
#define SCANCODE_WWW 150 /* AL Internet Browser */
|
||||||
|
#define SCANCODE_MSDOS 151
|
||||||
|
#define SCANCODE_COFFEE 152 /* AL Terminal Lock/Screensaver */
|
||||||
|
#define SCANCODE_SCREENLOCK SCANCODE_COFFEE
|
||||||
|
#define SCANCODE_ROTATE_DISPLAY 153 /* Display orientation for e.g. tablets */
|
||||||
|
#define SCANCODE_DIRECTION SCANCODE_ROTATE_DISPLAY
|
||||||
|
#define SCANCODE_CYCLEWINDOWS 154
|
||||||
|
#define SCANCODE_MAIL 155
|
||||||
|
#define SCANCODE_BOOKMARKS 156 /* AC Bookmarks */
|
||||||
|
#define SCANCODE_COMPUTER 157
|
||||||
|
#define SCANCODE_BACK 158 /* AC Back */
|
||||||
|
#define SCANCODE_FORWARD 159 /* AC Forward */
|
||||||
|
#define SCANCODE_CLOSECD 160
|
||||||
|
#define SCANCODE_EJECTCD 161
|
||||||
|
#define SCANCODE_EJECTCLOSECD 162
|
||||||
|
#define SCANCODE_NEXTSONG 163
|
||||||
|
#define SCANCODE_PLAYPAUSE 164
|
||||||
|
#define SCANCODE_PREVIOUSSONG 165
|
||||||
|
#define SCANCODE_STOPCD 166
|
||||||
|
#define SCANCODE_RECORD 167
|
||||||
|
#define SCANCODE_REWIND 168
|
||||||
|
#define SCANCODE_PHONE 169 /* Media Select Telephone */
|
||||||
|
#define SCANCODE_ISO 170
|
||||||
|
#define SCANCODE_CONFIG 171 /* AL Consumer Control Configuration */
|
||||||
|
#define SCANCODE_HOMEPAGE 172 /* AC Home */
|
||||||
|
#define SCANCODE_REFRESH 173 /* AC Refresh */
|
||||||
|
#define SCANCODE_EXIT 174 /* AC Exit */
|
||||||
|
#define SCANCODE_MOVE 175
|
||||||
|
#define SCANCODE_EDIT 176
|
||||||
|
#define SCANCODE_SCROLLUP 177
|
||||||
|
#define SCANCODE_SCROLLDOWN 178
|
||||||
|
#define SCANCODE_KPLEFTPAREN 179
|
||||||
|
#define SCANCODE_KPRIGHTPAREN 180
|
||||||
|
#define SCANCODE_NEW 181 /* AC New */
|
||||||
|
#define SCANCODE_REDO 182 /* AC Redo/Repeat */
|
||||||
|
#define SCANCODE_F13 183
|
||||||
|
#define SCANCODE_F14 184
|
||||||
|
#define SCANCODE_F15 185
|
||||||
|
#define SCANCODE_F16 186
|
||||||
|
#define SCANCODE_F17 187
|
||||||
|
#define SCANCODE_F18 188
|
||||||
|
#define SCANCODE_F19 189
|
||||||
|
#define SCANCODE_F20 190
|
||||||
|
#define SCANCODE_F21 191
|
||||||
|
#define SCANCODE_F22 192
|
||||||
|
#define SCANCODE_F23 193
|
||||||
|
#define SCANCODE_F24 194
|
||||||
|
|
||||||
|
#define SCANCODE_PLAYCD 200
|
||||||
|
#define SCANCODE_PAUSECD 201
|
||||||
|
#define SCANCODE_PROG3 202
|
||||||
|
#define SCANCODE_PROG4 203
|
||||||
|
#define SCANCODE_DASHBOARD 204 /* AL Dashboard */
|
||||||
|
#define SCANCODE_SUSPEND 205
|
||||||
|
#define SCANCODE_CLOSE 206 /* AC Close */
|
||||||
|
#define SCANCODE_PLAY 207
|
||||||
|
#define SCANCODE_FASTFORWARD 208
|
||||||
|
#define SCANCODE_BASSBOOST 209
|
||||||
|
#define SCANCODE_PRINT 210 /* AC Print */
|
||||||
|
#define SCANCODE_HP 211
|
||||||
|
#define SCANCODE_CAMERA 212
|
||||||
|
#define SCANCODE_SOUND 213
|
||||||
|
#define SCANCODE_QUESTION 214
|
||||||
|
#define SCANCODE_EMAIL 215
|
||||||
|
#define SCANCODE_CHAT 216
|
||||||
|
#define SCANCODE_SEARCH 217
|
||||||
|
#define SCANCODE_CONNECT 218
|
||||||
|
#define SCANCODE_FINANCE 219 /* AL Checkbook/Finance */
|
||||||
|
#define SCANCODE_SPORT 220
|
||||||
|
#define SCANCODE_SHOP 221
|
||||||
|
#define SCANCODE_ALTERASE 222
|
||||||
|
#define SCANCODE_CANCEL 223 /* AC Cancel */
|
||||||
|
#define SCANCODE_BRIGHTNESSDOWN 224
|
||||||
|
#define SCANCODE_BRIGHTNESSUP 225
|
||||||
|
#define SCANCODE_MEDIA 226
|
||||||
|
#define SCANCODE_SWITCHVIDEOMODE 227 /* Cycle between available video outputs (Monitor/LCD/TV-out/etc) */
|
||||||
|
#define SCANCODE_KBDILLUMTOGGLE 228
|
||||||
|
#define SCANCODE_KBDILLUMDOWN 229
|
||||||
|
#define SCANCODE_KBDILLUMUP 230
|
||||||
|
#define SCANCODE_SEND 231 /* AC Send */
|
||||||
|
#define SCANCODE_REPLY 232 /* AC Reply */
|
||||||
|
#define SCANCODE_FORWARDMAIL 233 /* AC Forward Msg */
|
||||||
|
#define SCANCODE_SAVE 234 /* AC Save */
|
||||||
|
#define SCANCODE_DOCUMENTS 235
|
||||||
|
#define SCANCODE_BATTERY 236
|
||||||
|
#define SCANCODE_BLUETOOTH 237
|
||||||
|
#define SCANCODE_WLAN 238
|
||||||
|
#define SCANCODE_UWB 239
|
||||||
|
#define SCANCODE_UNKNOWN 240
|
||||||
|
#define SCANCODE_VIDEO_NEXT 241 /* drive next video source */
|
||||||
|
#define SCANCODE_VIDEO_PREV 242 /* drive previous video source */
|
||||||
|
#define SCANCODE_BRIGHTNESS_CYCLE 243 /* brightness up, after max is min */
|
||||||
|
#define SCANCODE_BRIGHTNESS_AUTO 244 /* Set Auto Brightness: manual brightness control is off, rely on ambient */
|
||||||
|
#define SCANCODE_BRIGHTNESS_ZERO SCANCODE_BRIGHTNESS_AUTO
|
||||||
|
#define SCANCODE_DISPLAY_OFF 245 /* display device to off state */
|
||||||
|
#define SCANCODE_WWAN 246 /* Wireless WAN (LTE, UMTS, GSM, etc.) */
|
||||||
|
#define SCANCODE_WIMAX SCANCODE_WWAN
|
||||||
|
#define SCANCODE_RFKILL 247 /* Key that controls all radios */
|
||||||
|
#define SCANCODE_MICMUTE 248 /* Mute / unmute the microphone */
|
||||||
|
|
||||||
#define SCANCODE_LEFTBUTTON 0x1000
|
#define SCANCODE_LEFTBUTTON 0x1000
|
||||||
#define SCANCODE_RIGHTBUTTON 0x2000
|
#define SCANCODE_RIGHTBUTTON 0x2000
|
||||||
#define SCANCODE_MIDDLBUTTON 0x4000
|
#define SCANCODE_MIDDLBUTTON 0x4000
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \def KS_LEFTMETA
|
||||||
|
* \brief This status indicate that left-Meta key was pressed when
|
||||||
|
* the key or mouse message posted to the window.
|
||||||
|
*
|
||||||
|
* \sa key_msgs
|
||||||
|
*
|
||||||
|
* Since 4.0.0
|
||||||
|
*/
|
||||||
|
#define KS_LEFTMETA 0x00002000
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \def KS_RIGHTMETA
|
||||||
|
* \brief This status indicate that right-Meta key was pressed when
|
||||||
|
* the key or mouse message posted to the window.
|
||||||
|
*
|
||||||
|
* \sa key_msgs
|
||||||
|
*
|
||||||
|
* Since 4.0.0
|
||||||
|
*/
|
||||||
|
#define KS_RIGHTMETA 0x00001000
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \def KS_META
|
||||||
|
* \brief This status indicate that either the left-Meta key or the right-Meta key
|
||||||
|
* was pressed when the key or mouse message posted to the window.
|
||||||
|
*
|
||||||
|
* \sa key_msgs
|
||||||
|
*
|
||||||
|
* Since 4.0.0
|
||||||
|
*/
|
||||||
|
#define KS_META 0x00003000
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def KS_REPEATED
|
* \def KS_REPEATED
|
||||||
* \brief This status indicate that the key down message is an
|
* \brief This status indicate that the key down message is an
|
||||||
@@ -1528,7 +1742,7 @@ typedef struct _GAL_Rect {
|
|||||||
* \def MASK_KS_SHIFTKEYS
|
* \def MASK_KS_SHIFTKEYS
|
||||||
* \brief The mask of key status.
|
* \brief The mask of key status.
|
||||||
*/
|
*/
|
||||||
#define MASK_KS_SHIFTKEYS 0x00000FFF
|
#define MASK_KS_SHIFTKEYS 0x0000FFFF
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def KS_LEFTBUTTON
|
* \def KS_LEFTBUTTON
|
||||||
@@ -1537,7 +1751,7 @@ typedef struct _GAL_Rect {
|
|||||||
*
|
*
|
||||||
* \sa key_msgs
|
* \sa key_msgs
|
||||||
*/
|
*/
|
||||||
#define KS_LEFTBUTTON 0x00001000
|
#define KS_LEFTBUTTON 0x00010000
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def KS_RIGHTBUTTON
|
* \def KS_RIGHTBUTTON
|
||||||
@@ -1546,22 +1760,22 @@ typedef struct _GAL_Rect {
|
|||||||
*
|
*
|
||||||
* \sa key_msgs
|
* \sa key_msgs
|
||||||
*/
|
*/
|
||||||
#define KS_RIGHTBUTTON 0x00002000
|
#define KS_RIGHTBUTTON 0x00020000
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def KS_MIDDLBUTTON
|
* \def KS_MIDDLEBUTTON
|
||||||
* \brief This status indicate that middle button was pressed when
|
* \brief This status indicate that middle button was pressed when
|
||||||
* the key or mouse message posted to the window.
|
* the key or mouse message posted to the window.
|
||||||
*
|
*
|
||||||
* \sa key_msgs
|
* \sa key_msgs
|
||||||
*/
|
*/
|
||||||
#define KS_MIDDLBUTTON 0x00004000
|
#define KS_MIDDLEBUTTON 0x00040000
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def MASK_KS_BUTTONS
|
* \def MASK_KS_BUTTONS
|
||||||
* \brief The mask of mouse button status.
|
* \brief The mask of mouse button status.
|
||||||
*/
|
*/
|
||||||
#define MASK_KS_BUTTONS 0x0000F000
|
#define MASK_KS_BUTTONS 0x000F0000
|
||||||
|
|
||||||
/** @} end of key_defs */
|
/** @} end of key_defs */
|
||||||
|
|
||||||
@@ -1749,7 +1963,7 @@ typedef struct _GAL_Rect {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Commonly used definitions */
|
/* Commonly used definitions */
|
||||||
#if !defined(__NOUNIX__) || defined (__ECOS__)
|
#ifdef HAVE_LIMITS_H
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1784,12 +1998,10 @@ typedef struct _GAL_Rect {
|
|||||||
|
|
||||||
/** @} end of macros_types */
|
/** @} end of macros_types */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef HAVE_TIME
|
||||||
extern "C" {
|
#include <time.h>
|
||||||
#endif
|
#else
|
||||||
|
typedef unsigned long time_t;
|
||||||
#ifndef HAVE_TIME
|
|
||||||
typedef unsigned int time_t;
|
|
||||||
|
|
||||||
struct tm {
|
struct tm {
|
||||||
int tm_sec; /* seconds [0,61] */
|
int tm_sec; /* seconds [0,61] */
|
||||||
@@ -1804,6 +2016,10 @@ struct tm {
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined (__THREADX__) && defined (__TARGET_VFANVIL__)
|
#if defined (__THREADX__) && defined (__TARGET_VFANVIL__)
|
||||||
#include "fx_api.h"
|
#include "fx_api.h"
|
||||||
#include "tx_api.h"
|
#include "tx_api.h"
|
||||||
|
|||||||
@@ -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 control.h
|
* \file control.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 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>
|
||||||
|
|||||||
+158
-16
@@ -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 customial.h
|
* \file customial.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
@@ -51,24 +63,148 @@
|
|||||||
#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,13 +227,19 @@ 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
|
||||||
|
int (*wait_event_ex) (int maxfd, fd_set *in, fd_set *out,
|
||||||
|
fd_set *except, struct timeval *timeout, EXTRA_INPUT_EVENT* extra);
|
||||||
} INPUT;
|
} 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);
|
||||||
extern void TermCustomInput (void);
|
extern void TermCustomInput (void);
|
||||||
|
|||||||
+41
-5
@@ -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.
|
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
|
||||||
|
Copyright (C) 1998~2002, WEI Yongming
|
||||||
|
|
||||||
This file is part of MiniGUI, a compact cross-platform Graphics
|
This program is free software: you can redistribute it and/or modify
|
||||||
User Interface (GUI) support system for real-time embedded systems.
|
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 */
|
||||||
|
|
||||||
@@ -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 fixedmath.h
|
* \file fixedmath.h
|
||||||
* \author Wei Yongming <vincent@minigui.org>
|
* \author Wei Yongming <vincent@minigui.org>
|
||||||
|
|||||||
+872
-515
File diff suppressed because it is too large
Load Diff
+239
-163
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>
|
||||||
|
|||||||
@@ -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_semaphore.h
|
* \file nucleus_semaphore.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 ose_semaphore.h
|
* \file ose_semaphore.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
|
||||||
|
//
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
/*
|
/*
|
||||||
Default header file for malloc-2.7.2, written by Doug Lea
|
Default header file for malloc-2.7.2, written by Doug Lea
|
||||||
and released to the public domain. Use, modify, and redistribute
|
and released to the public domain. Use, modify, and redistribute
|
||||||
|
|||||||
@@ -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 own_stdio.h
|
* \file own_stdio.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 psos.h
|
* \file psos.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