mirror of
https://github.com/VincentWei/MiniGUI.git
synced 2026-09-24 00:54:18 +08:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
56fd0a1050 | ||
|
|
fbba2ebd1a | ||
|
|
33b3ad0bd3 | ||
|
|
9bee00cf9f | ||
|
|
aedcffacf7 | ||
|
|
c91eeddd2c | ||
|
|
2ac54f9ee6 | ||
|
|
20f160074f | ||
|
|
437769c1a4 | ||
|
|
69eebf37e3 | ||
|
|
4ea6912024 | ||
|
|
6b2039c151 | ||
|
|
d7eed07222 | ||
|
|
6f033d8e93 | ||
|
|
193f5e58b1 | ||
|
|
75dabce7af | ||
|
|
2149a6aa5e | ||
|
|
bf8a9fee5c | ||
|
|
8556f15e36 | ||
|
|
57215b9e59 | ||
|
|
6201664035 | ||
|
|
7303f40b2e | ||
|
|
42b10aed6a | ||
|
|
d9dc070698 | ||
|
|
ee5a1f86a7 | ||
|
|
d335e008ad | ||
|
|
268695a94b | ||
|
|
1d211ed855 | ||
|
|
a7eaab6d38 | ||
|
|
7d671c8318 | ||
|
|
76f4bf3661 | ||
|
|
4f51baac32 | ||
|
|
4fa002216e | ||
|
|
6dc8696c08 | ||
|
|
06c497d671 | ||
|
|
79267be62c | ||
|
|
9475ff227f | ||
|
|
f562661146 | ||
|
|
eca15c447d | ||
|
|
736a532b1a | ||
|
|
5a0fc2e74f | ||
|
|
12106c036c | ||
|
|
debd8a3fdd | ||
|
|
ac6d4019d5 | ||
|
|
61dd46f965 | ||
|
|
3f53804f62 | ||
|
|
f8e9dea491 | ||
|
|
8943cc75ec | ||
|
|
ebf765f4ad | ||
|
|
3b61f25bb5 | ||
|
|
ea20032dae | ||
|
|
9245091b87 | ||
|
|
747894247b | ||
|
|
1ed5b44926 | ||
|
|
16287af2a6 | ||
|
|
c975fe5b8d | ||
|
|
b4569adbd5 | ||
|
|
715a44beeb | ||
|
|
e6bb4fa05f | ||
|
|
c436af69bb | ||
|
|
b18cd49398 | ||
|
|
1c2b4a893a | ||
|
|
5ef6e45848 | ||
|
|
088ef49c83 | ||
|
|
dbbd0f4da2 | ||
|
|
e4a2294ded | ||
|
|
f145f409e5 | ||
|
|
c44a64c95e | ||
|
|
2afb27a89d | ||
|
|
c643b10bbc | ||
|
|
c04c44eefb | ||
|
|
98baad2755 | ||
|
|
e9e7c43029 | ||
|
|
7805a3f5c3 | ||
|
|
0abc9c4aa6 | ||
|
|
2a97f34534 | ||
|
|
6de3db1482 | ||
|
|
019bc4deef | ||
|
|
9e17f428fe | ||
|
|
120705742e | ||
|
|
6e5407f42d | ||
|
|
2237be6721 | ||
|
|
faa7a2636e | ||
|
|
ce442b5e96 | ||
|
|
69050f7a5c | ||
|
|
fcbcc86c6f | ||
|
|
07a51b22ae | ||
|
|
1297ba836d | ||
|
|
09e83b6a8b | ||
|
|
ae532f03fa | ||
|
|
9945cd25a5 | ||
|
|
4f515a0359 | ||
|
|
808718bdb4 | ||
|
|
e7924ebd51 | ||
|
|
1935734df1 | ||
|
|
5ff06823e4 | ||
|
|
1bc43f6580 | ||
|
|
be27e8cb7c | ||
|
|
4597cbbc28 | ||
|
|
cde8a653b4 | ||
|
|
8b73fe0022 | ||
|
|
4db2aa093c | ||
|
|
d9da4d6e3a | ||
|
|
318dee8fd5 | ||
|
|
dcc50d45ce | ||
|
|
96a4e917d9 | ||
|
|
a507af807c | ||
|
|
9189fa4efe | ||
|
|
ac8e230207 | ||
|
|
2aa6794636 | ||
|
|
25d5b03154 | ||
|
|
ab8ce45ab0 | ||
|
|
2036a8592c | ||
|
|
dd0445689e | ||
|
|
0d49ed794e | ||
|
|
df627ee3b1 | ||
|
|
0599227023 | ||
|
|
66769dee51 | ||
|
|
1cfd032718 | ||
|
|
a45ee0b3f4 | ||
|
|
8b72783a12 | ||
|
|
378f7e1986 | ||
|
|
0b9c425b84 | ||
|
|
5e0dda0421 | ||
|
|
c0addda03b | ||
|
|
977ac1ec9b | ||
|
|
36d2ea8158 | ||
|
|
c1889bd927 | ||
|
|
6388d8049f | ||
|
|
8315dbb217 | ||
|
|
c0dd8d1bcd | ||
|
|
028bfd149f | ||
|
|
d101233a3a | ||
|
|
7960577981 | ||
|
|
69705646cc | ||
|
|
7c798483c4 | ||
|
|
bf69d0308a | ||
|
|
990b9eabc9 | ||
|
|
92fa47663a | ||
|
|
dbe75d3ea1 | ||
|
|
f4486140bc | ||
|
|
0b21445fd1 | ||
|
|
5e8cdc8cea | ||
|
|
1527a164da | ||
|
|
7f0f59bbe0 | ||
|
|
130780bf01 | ||
|
|
f3e40b9d51 | ||
|
|
f7dfca5482 | ||
|
|
f9135d7652 | ||
|
|
dc30cfc816 | ||
|
|
6fd1fdf39f | ||
|
|
24746c5ef6 | ||
|
|
2269c998e3 | ||
|
|
37b91e9482 | ||
|
|
0c8d08ed74 | ||
|
|
8ee505ddc8 | ||
|
|
cd888ca270 | ||
|
|
b5e197deeb | ||
|
|
8de5d45a6d | ||
|
|
87360df98d | ||
|
|
7c157d60ac | ||
|
|
73032f98a9 | ||
|
|
6e98d52d45 | ||
|
|
62efa8b29a | ||
|
|
5665bbb94b | ||
|
|
79c8048f83 | ||
|
|
0bec004433 | ||
|
|
e2c2ac0704 | ||
|
|
7c9fb6e4f7 | ||
|
|
c6c60b862b | ||
|
|
f4ccf7ee1c | ||
|
|
d9c95e1900 | ||
|
|
61ada7b217 | ||
|
|
655aabe2d0 | ||
|
|
4a29921154 | ||
|
|
242423951d | ||
|
|
41aa192d41 | ||
|
|
fad33d69f6 | ||
|
|
92b58d3114 | ||
|
|
60bc975fd9 | ||
|
|
1f5d3bff3a | ||
|
|
d8b8139ca1 | ||
|
|
2f3b486873 | ||
|
|
3380dd13d6 | ||
|
|
58050c7896 | ||
|
|
73d914293c | ||
|
|
9b9b912eb7 | ||
|
|
d5c8e15cb9 | ||
|
|
a3cd475ad0 | ||
|
|
d977609170 | ||
|
|
30ef378100 | ||
|
|
b1184d5358 | ||
|
|
8891a726a0 | ||
|
|
8b4334f969 | ||
|
|
8b01a29397 | ||
|
|
4b80497ee9 | ||
|
|
55a4566a33 | ||
|
|
78672276af | ||
|
|
8ddeb9806b | ||
|
|
9df26d14bf | ||
|
|
451c0cfca0 | ||
|
|
a4c3752f12 |
+26
@@ -0,0 +1,26 @@
|
|||||||
|
*.lo
|
||||||
|
*.o
|
||||||
|
*.la
|
||||||
|
*.al
|
||||||
|
*.a
|
||||||
|
*.so
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
.deps/
|
||||||
|
.libs/
|
||||||
|
/acinclude.m4
|
||||||
|
/aclocal.m4
|
||||||
|
/autom4te.cache
|
||||||
|
/compile
|
||||||
|
/missing
|
||||||
|
/stamp-h1
|
||||||
|
/config.*
|
||||||
|
/configure
|
||||||
|
/depcomp
|
||||||
|
/install-sh
|
||||||
|
/libtool
|
||||||
|
/*.pc
|
||||||
|
/*config.h
|
||||||
|
/*config.h.in
|
||||||
|
/*config.h.in~
|
||||||
|
|
||||||
@@ -1,273 +0,0 @@
|
|||||||
# Doxyfile 1.4.2
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Project related configuration options
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
PROJECT_NAME = "MiniGUI V3.0.2 API Reference"
|
|
||||||
PROJECT_NUMBER =
|
|
||||||
OUTPUT_DIRECTORY = doc
|
|
||||||
CREATE_SUBDIRS = NO
|
|
||||||
OUTPUT_LANGUAGE = English
|
|
||||||
USE_WINDOWS_ENCODING = NO
|
|
||||||
BRIEF_MEMBER_DESC = YES
|
|
||||||
REPEAT_BRIEF = YES
|
|
||||||
ABBREVIATE_BRIEF = "The $name class" \
|
|
||||||
"The $name widget" \
|
|
||||||
"The $name file" \
|
|
||||||
is \
|
|
||||||
provides \
|
|
||||||
specifies \
|
|
||||||
contains \
|
|
||||||
represents \
|
|
||||||
a \
|
|
||||||
an \
|
|
||||||
the
|
|
||||||
ALWAYS_DETAILED_SEC = YES
|
|
||||||
INLINE_INHERITED_MEMB = NO
|
|
||||||
FULL_PATH_NAMES = NO
|
|
||||||
STRIP_FROM_PATH =
|
|
||||||
STRIP_FROM_INC_PATH =
|
|
||||||
SHORT_NAMES = NO
|
|
||||||
JAVADOC_AUTOBRIEF = NO
|
|
||||||
MULTILINE_CPP_IS_BRIEF = NO
|
|
||||||
DETAILS_AT_TOP = NO
|
|
||||||
INHERIT_DOCS = YES
|
|
||||||
DISTRIBUTE_GROUP_DOC = NO
|
|
||||||
TAB_SIZE = 8
|
|
||||||
ALIASES =
|
|
||||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
|
||||||
OPTIMIZE_OUTPUT_JAVA = NO
|
|
||||||
SUBGROUPING = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Build related configuration options
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
EXTRACT_ALL = NO
|
|
||||||
EXTRACT_PRIVATE = NO
|
|
||||||
EXTRACT_STATIC = YES
|
|
||||||
EXTRACT_LOCAL_CLASSES = YES
|
|
||||||
EXTRACT_LOCAL_METHODS = NO
|
|
||||||
HIDE_UNDOC_MEMBERS = YES
|
|
||||||
HIDE_UNDOC_CLASSES = YES
|
|
||||||
HIDE_FRIEND_COMPOUNDS = NO
|
|
||||||
HIDE_IN_BODY_DOCS = NO
|
|
||||||
INTERNAL_DOCS = NO
|
|
||||||
CASE_SENSE_NAMES = YES
|
|
||||||
HIDE_SCOPE_NAMES = YES
|
|
||||||
SHOW_INCLUDE_FILES = YES
|
|
||||||
INLINE_INFO = YES
|
|
||||||
SORT_MEMBER_DOCS = YES
|
|
||||||
SORT_BRIEF_DOCS = NO
|
|
||||||
SORT_BY_SCOPE_NAME = NO
|
|
||||||
GENERATE_TODOLIST = YES
|
|
||||||
GENERATE_TESTLIST = YES
|
|
||||||
GENERATE_BUGLIST = YES
|
|
||||||
GENERATE_DEPRECATEDLIST= YES
|
|
||||||
ENABLED_SECTIONS =
|
|
||||||
MAX_INITIALIZER_LINES = 30
|
|
||||||
SHOW_USED_FILES = YES
|
|
||||||
SHOW_DIRECTORIES = YES
|
|
||||||
FILE_VERSION_FILTER =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to warning and progress messages
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
QUIET = NO
|
|
||||||
WARNINGS = YES
|
|
||||||
WARN_IF_UNDOCUMENTED = YES
|
|
||||||
WARN_IF_DOC_ERROR = YES
|
|
||||||
WARN_NO_PARAMDOC = NO
|
|
||||||
WARN_FORMAT = "$file:$line: $text"
|
|
||||||
WARN_LOGFILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the input files
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
INPUT = ./include
|
|
||||||
FILE_PATTERNS = *.h
|
|
||||||
RECURSIVE = YES
|
|
||||||
EXCLUDE = YES
|
|
||||||
EXCLUDE_SYMLINKS = NO
|
|
||||||
EXCLUDE_PATTERNS = vcongui.h own_*.h psos.h psos_*.h threadx_*.h ucos2_*.h nucleus_*.h vxworks_*.h ose_*.h win32_*.h
|
|
||||||
EXAMPLE_PATH = ./examples
|
|
||||||
EXAMPLE_PATTERNS = *.c
|
|
||||||
EXAMPLE_RECURSIVE = NO
|
|
||||||
IMAGE_PATH =
|
|
||||||
INPUT_FILTER =
|
|
||||||
FILTER_PATTERNS =
|
|
||||||
FILTER_SOURCE_FILES = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to source browsing
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SOURCE_BROWSER = YES
|
|
||||||
INLINE_SOURCES = NO
|
|
||||||
STRIP_CODE_COMMENTS = YES
|
|
||||||
REFERENCED_BY_RELATION = YES
|
|
||||||
REFERENCES_RELATION = YES
|
|
||||||
VERBATIM_HEADERS = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the alphabetical class index
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ALPHABETICAL_INDEX = YES
|
|
||||||
COLS_IN_ALPHA_INDEX = 5
|
|
||||||
IGNORE_PREFIX =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the HTML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_HTML = YES
|
|
||||||
HTML_OUTPUT = MiniGUI-API-REF-E.html
|
|
||||||
HTML_FILE_EXTENSION = .html
|
|
||||||
HTML_HEADER =
|
|
||||||
HTML_FOOTER =
|
|
||||||
HTML_STYLESHEET =
|
|
||||||
HTML_ALIGN_MEMBERS = NO
|
|
||||||
GENERATE_HTMLHELP = YES
|
|
||||||
CHM_FILE = MiniGUI-API-REF-V2.0.4-E.chm
|
|
||||||
HHC_LOCATION =
|
|
||||||
GENERATE_CHI = YES
|
|
||||||
BINARY_TOC = YES
|
|
||||||
TOC_EXPAND = YES
|
|
||||||
DISABLE_INDEX = NO
|
|
||||||
ENUM_VALUES_PER_LINE = 4
|
|
||||||
GENERATE_TREEVIEW = NO
|
|
||||||
TREEVIEW_WIDTH = 250
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the LaTeX output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_LATEX = YES
|
|
||||||
LATEX_OUTPUT = latex
|
|
||||||
LATEX_CMD_NAME = latex
|
|
||||||
MAKEINDEX_CMD_NAME = makeindex
|
|
||||||
COMPACT_LATEX = NO
|
|
||||||
PAPER_TYPE = a4wide
|
|
||||||
EXTRA_PACKAGES =
|
|
||||||
LATEX_HEADER =
|
|
||||||
PDF_HYPERLINKS = YES
|
|
||||||
USE_PDFLATEX = YES
|
|
||||||
LATEX_BATCHMODE = YES
|
|
||||||
LATEX_HIDE_INDICES = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the RTF output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_RTF = YES
|
|
||||||
RTF_OUTPUT = rtf
|
|
||||||
COMPACT_RTF = YES
|
|
||||||
RTF_HYPERLINKS = YES
|
|
||||||
RTF_STYLESHEET_FILE =
|
|
||||||
RTF_EXTENSIONS_FILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the man page output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_MAN = YES
|
|
||||||
MAN_OUTPUT = man
|
|
||||||
MAN_EXTENSION = .3
|
|
||||||
MAN_LINKS = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the XML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_XML = NO
|
|
||||||
XML_OUTPUT = xml
|
|
||||||
XML_SCHEMA =
|
|
||||||
XML_DTD =
|
|
||||||
XML_PROGRAMLISTING = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options for the AutoGen Definitions output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_AUTOGEN_DEF = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the Perl module output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_PERLMOD = NO
|
|
||||||
PERLMOD_LATEX = NO
|
|
||||||
PERLMOD_PRETTY = YES
|
|
||||||
PERLMOD_MAKEVAR_PREFIX =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the preprocessor
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ENABLE_PREPROCESSING = YES
|
|
||||||
MACRO_EXPANSION = YES
|
|
||||||
EXPAND_ONLY_PREDEF = YES
|
|
||||||
SEARCH_INCLUDES = NO
|
|
||||||
INCLUDE_PATH =
|
|
||||||
INCLUDE_FILE_PATTERNS =
|
|
||||||
PREDEFINED = _MGRM_PROCESSES \
|
|
||||||
__GNUC__ \
|
|
||||||
__LITTLE_ENDIAN__ \
|
|
||||||
MINIGUI_MAJOR_VERSION \
|
|
||||||
MINIGUI_MICRO_VERSION \
|
|
||||||
MINIGUI_MINOR_VERSION \
|
|
||||||
HAVE_SYS_TYPES_H \
|
|
||||||
_MGHAVE_FIXED_MATH \
|
|
||||||
_MGHAVE_MENU \
|
|
||||||
_MGHAVE_CLIPBOARD \
|
|
||||||
_MGHAVE_ADV_2DAPI \
|
|
||||||
_MGHAVE_MOUSECALIBRATE \
|
|
||||||
_MGMISC_ABOUTDLG \
|
|
||||||
_MGMISC_SAVESCREEN \
|
|
||||||
_MGMISC_SAVEBITMAP \
|
|
||||||
_MGHAVE_CURSOR \
|
|
||||||
_MGCHARSET_UNICODE \
|
|
||||||
_MGCTRL_STATIC \
|
|
||||||
_MGCTRL_SIMEDIT \
|
|
||||||
_MGCTRL_SLEDIT \
|
|
||||||
_MGCTRL_BIDISLEDIT \
|
|
||||||
_MGCTRL_MLEDIT \
|
|
||||||
_MGCTRL_PROGRESSBAR \
|
|
||||||
_MGCTRL_LISTBOX \
|
|
||||||
_MGCTRL_PROPSHEET \
|
|
||||||
_MGCTRL_COMBOBOX \
|
|
||||||
_MGCTRL_TOOLBAR \
|
|
||||||
_MGCTRL_NEWTOOLBAR \
|
|
||||||
_MGCTRL_MENUBUTTON \
|
|
||||||
_MGCTRL_SCROLLVIEW \
|
|
||||||
_MGCTRL_SCROLLBAR \
|
|
||||||
_MGCTRL_TEXTEDIT \
|
|
||||||
_MGCTRL_TRACKBAR \
|
|
||||||
_MGCTRL_TREEVIEW \
|
|
||||||
_MGCTRL_MONTHCAL \
|
|
||||||
_MGCTRL_SPINBOX \
|
|
||||||
_MGCTRL_COOLBAR \
|
|
||||||
_MGCTRL_LISTVIEW \
|
|
||||||
_MGCTRL_ICONVIEW \
|
|
||||||
_MGCTRL_GRIDVIEW \
|
|
||||||
_MGCTRL_BUTTON \
|
|
||||||
_MGCTRL_ANIMATION \
|
|
||||||
_MGFONT_FT2 \
|
|
||||||
_MGFONT_BMPF
|
|
||||||
EXPAND_AS_DEFINED = MGUI_HAS_64BIT_TYPE
|
|
||||||
SKIP_FUNCTION_MACROS = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::additions related to external references
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
TAGFILES =
|
|
||||||
GENERATE_TAGFILE =
|
|
||||||
ALLEXTERNALS = NO
|
|
||||||
EXTERNAL_GROUPS = YES
|
|
||||||
PERL_PATH = /usr/bin/perl
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the dot tool
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
CLASS_DIAGRAMS = NO
|
|
||||||
HIDE_UNDOC_RELATIONS = YES
|
|
||||||
HAVE_DOT = NO
|
|
||||||
CLASS_GRAPH = YES
|
|
||||||
COLLABORATION_GRAPH = YES
|
|
||||||
GROUP_GRAPHS = YES
|
|
||||||
UML_LOOK = NO
|
|
||||||
TEMPLATE_RELATIONS = NO
|
|
||||||
INCLUDE_GRAPH = YES
|
|
||||||
INCLUDED_BY_GRAPH = YES
|
|
||||||
CALL_GRAPH = NO
|
|
||||||
GRAPHICAL_HIERARCHY = YES
|
|
||||||
DIRECTORY_GRAPH = YES
|
|
||||||
DOT_IMAGE_FORMAT = png
|
|
||||||
DOT_PATH =
|
|
||||||
DOTFILE_DIRS =
|
|
||||||
MAX_DOT_GRAPH_WIDTH = 1024
|
|
||||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
|
||||||
MAX_DOT_GRAPH_DEPTH = 1000
|
|
||||||
DOT_TRANSPARENT = NO
|
|
||||||
DOT_MULTI_TARGETS = NO
|
|
||||||
GENERATE_LEGEND = YES
|
|
||||||
DOT_CLEANUP = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::additions related to the search engine
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SEARCHENGINE = NO
|
|
||||||
+2489
File diff suppressed because it is too large
Load Diff
+2489
File diff suppressed because it is too large
Load Diff
+2489
File diff suppressed because it is too large
Load Diff
@@ -631,8 +631,8 @@ to attach them to the start of each source file to most effectively
|
|||||||
state the exclusion of warranty; and each file should have at least
|
state the exclusion of warranty; and each file should have at least
|
||||||
the "copyright" line and a pointer to where the full notice is found.
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
{one line to give the program's name and a brief idea of what it does.}
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
Copyright (C) {year} {name of author}
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail.
|
|||||||
If the program does terminal interaction, make it output a short
|
If the program does terminal interaction, make it output a short
|
||||||
notice like this when it starts in an interactive mode:
|
notice like this when it starts in an interactive mode:
|
||||||
|
|
||||||
{project} Copyright (C) {year} {fullname}
|
<program> Copyright (C) <year> <name of author>
|
||||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
This is free software, and you are welcome to redistribute it
|
This is free software, and you are welcome to redistribute it
|
||||||
under certain conditions; type `show c' for details.
|
under certain conditions; type `show c' for details.
|
||||||
|
|||||||
@@ -1,30 +1,32 @@
|
|||||||
Licensing Policy for GPL'd MiniGUI versions
|
# Licensing Policy for GPLed MiniGUI versions
|
||||||
|
|
||||||
By now, FMSoft releases some MiniGUI versions under
|
By now, FMSoft releases MiniGUI versions under GPLv3 license.
|
||||||
GPL license. This is the licensing policy for the GPL'd MiniGUI
|
This is the licensing policy for the GPLed MiniGUI versions.
|
||||||
versions.
|
|
||||||
|
|
||||||
In Brief
|
Note that in this file, "MiniGUI" means MiniGUI core, mGi,
|
||||||
========
|
mGp, mG3d, mGPlus, mGEff, mGNCS, mGNCS4Touch, and other
|
||||||
|
MiniGUI components and/or tools which will be released
|
||||||
|
under GPL in the future.
|
||||||
|
|
||||||
|
## In Brief
|
||||||
|
|
||||||
This is our licensing policy in brief: Our software is 100% GPL,
|
This is our licensing policy in brief: Our software is 100% GPL,
|
||||||
and if yours is also 100% GPL, then you never have to pay us
|
and if yours is also 100% GPL, then you never have to pay us
|
||||||
for the licences. In all other instances, you are better served
|
for the licences. In all other instances, you are better served
|
||||||
by our commercial licence. Read the details below!
|
by our commercial licence. Read the details below!
|
||||||
|
|
||||||
Licensing
|
## Licensing
|
||||||
=========
|
|
||||||
|
|
||||||
MiniGUI software is licensed under the GPL license. The formal terms
|
MiniGUI software is licensed under the GPL license. The formal terms
|
||||||
of the GPL license can be found in the GNU General Public License
|
of the GPL license can be found in the GNU General Public License
|
||||||
section of the MiniGUI User Manual, or the file named "COPYING".
|
section of the MiniGUI User Manual, or the file named "LICENSE" or
|
||||||
|
"COPYING".
|
||||||
|
|
||||||
MiniGUI is also available under commercial non-GPL license. For pricing
|
MiniGUI is also available under commercial non-GPL license. For pricing
|
||||||
and ordering information, visit our web page:
|
and ordering information, visit our web page:
|
||||||
|
|
||||||
http://www.fmsoft.cn/
|
http://www.fmsoft.cn/
|
||||||
|
|
||||||
|
|
||||||
1. Free use for those who are 100% GPL
|
1. Free use for those who are 100% GPL
|
||||||
|
|
||||||
If your application is licensed under GPL, you are free and welcome
|
If your application is licensed under GPL, you are free and welcome
|
||||||
@@ -43,13 +45,13 @@ irrespective of whether your application is under GPL license or not.
|
|||||||
|
|
||||||
More specifically:
|
More specifically:
|
||||||
|
|
||||||
* Modifying - You are allowed to modify MiniGUI source code any way
|
* Modifying - You are allowed to modify MiniGUI source code any way
|
||||||
you like. If you distribute the modified version, all
|
you like. If you distribute the modified version, all
|
||||||
changes, all interface code and all code that connects
|
changes, all interface code and all code that connects
|
||||||
directly or indirectly to the interface code fall under GPL.
|
directly or indirectly to the interface code fall under GPL.
|
||||||
|
|
||||||
* Copying - You are allowed to copy MiniGUI binaries and source code,
|
* Copying - You are allowed to copy MiniGUI binaries and source code,
|
||||||
but when you do so, the copies will fall under the GPL.
|
but when you do so, the copies will fall under the GPL.
|
||||||
|
|
||||||
|
|
||||||
3. Commercial use for everyone else
|
3. Commercial use for everyone else
|
||||||
@@ -60,24 +62,24 @@ a commercial license to the MiniGUI software in question.
|
|||||||
|
|
||||||
More specifically:
|
More specifically:
|
||||||
|
|
||||||
a) If you want to use MiniGUI on an operating system which is not
|
* If you want to use MiniGUI on an operating system which is not
|
||||||
compatible with GPL (most commercial RTOSes, such as VxWorks and
|
compatible with GPL (most commercial RTOSes, such as VxWorks and
|
||||||
ThreadX), you need a commercial license for the MiniGUI library.
|
ThreadX), you need a commercial license for the MiniGUI library.
|
||||||
|
|
||||||
b) If you link MiniGUI in your non-GPL application, you need a commercial
|
* If you link MiniGUI in your non-GPL application, you need a commercial
|
||||||
licence for the MiniGUI library. Using MiniGUI with non-GPL operating
|
licence for the MiniGUI library. Using MiniGUI with non-GPL operating
|
||||||
systems (proprietary OSes, like VxWorks, ThreadX, uC/OS-II) falls into
|
systems (proprietary OSes, like VxWorks, ThreadX, uC/OS-II) falls into
|
||||||
this situation. Linking MiniGUI with your non-GPL application and
|
this situation. Linking MiniGUI with your non-GPL application and
|
||||||
proprietary libarires also falls into this situation.
|
proprietary libarires also falls into this situation.
|
||||||
|
|
||||||
c) If you use MiniGUI library within your organisation and you don't want
|
* If you use MiniGUI library within your organisation and you don't want
|
||||||
to risk it falling under the GPL license, you are welcome to purchase
|
to risk it falling under the GPL license, you are welcome to purchase
|
||||||
a commercial license.
|
a commercial license.
|
||||||
|
|
||||||
d) Many users opt for the commercial licence simply because under it
|
* Many users opt for the commercial licence simply because under it
|
||||||
FMSoft takes responsibility for its products. Under the GPL licence,
|
FMSoft takes responsibility for its products. Under the GPL licence,
|
||||||
there are no warranties or representations from the
|
there are no warranties or representations from the
|
||||||
developer (i.e. from FMSoft).
|
developer (i.e. from FMSoft).
|
||||||
|
|
||||||
|
|
||||||
4. Exceptions and free commercial licences
|
4. Exceptions and free commercial licences
|
||||||
@@ -114,28 +116,22 @@ sell our commercial licences at prices well under the industry average,
|
|||||||
and this is without compromising our own profitability.
|
and this is without compromising our own profitability.
|
||||||
|
|
||||||
|
|
||||||
Older Versions
|
## Older Versions
|
||||||
==============
|
|
||||||
|
|
||||||
Note that older versions of the MiniGUI are using the lesser GPL license
|
Note that older versions of the MiniGUI are using the lesser GPL license
|
||||||
(LGPL). See the documentation for the specific version for more
|
(LGPL). See the documentation for the specific version for more
|
||||||
information.
|
information.
|
||||||
|
|
||||||
|
|
||||||
When in doubt
|
## When in doubt
|
||||||
=============
|
|
||||||
|
|
||||||
If you have any questions on MiniGUI licensing, feel free to contact us:
|
If you have any questions on MiniGUI licensing, feel free to contact us:
|
||||||
|
|
||||||
mailto: sales@minigui.com
|
mailto: sales@minigui.com
|
||||||
|
|
||||||
Patents
|
----
|
||||||
=======
|
|
||||||
|
|
||||||
MiniGUI is also protected by patents (200810111336.X and so on).
|
* GPL = Gnu General Public License, http://www.gnu.org/copyleft/gpl.html
|
||||||
The owner of these patents is Beijing FMSoft technologies Co., Ltd..
|
* LGPL = GNU General Public License, http://www.gnu.org/copyleft/lgpl.html
|
||||||
|
* FMSoft = Beijing FMSoft technologies Co., Ltd., http://www.fmsoft.cn
|
||||||
GPL = Gnu General Public License, http://www.gnu.org/copyleft/gpl.html
|
|
||||||
LGPL = GNU General Public License, http://www.gnu.org/copyleft/lgpl.html
|
|
||||||
FMSoft = Beijing FMSoft technologies Co., Ltd., http://www.fmsoft.cn
|
|
||||||
|
|
||||||
@@ -0,0 +1,179 @@
|
|||||||
|
# MiniGUI GPL 版本的授权策略
|
||||||
|
|
||||||
|
目前,飞漫软件遵循 GPL 条款发布 MiniGUI 及其组件。本文档描述飞漫软件针对
|
||||||
|
商业用户的 MiniGUI 及其组件授权策略。
|
||||||
|
|
||||||
|
注:本文所指 MiniGUI,包含了 MiniGUI 核心库以及 mGi、mGp、mG3d、mGEff、
|
||||||
|
mGPlus、mGNCS、mGNCS4Touch 以及其他在未来可能以 GPL 条款发布的 MiniGUI
|
||||||
|
组件或工具。
|
||||||
|
|
||||||
|
## 简介
|
||||||
|
|
||||||
|
简而言之,飞漫软件针对 MiniGUI 的授权策略是:MiniGUI 是 100% 按照 GPL 条款
|
||||||
|
发布的自由软件,如果您能 100% 遵守 GPL 许可证条款,则无需支付任何授权费用。
|
||||||
|
在其他任何情况下,都需要获得我们的商业授权。
|
||||||
|
|
||||||
|
老版本 MiniGUI(1.3.0 版本之前)遵循 LGPL 条款发布,因为嵌入式系统无法
|
||||||
|
保障用户获得修改 MiniGUI 函数库并进行调试的自由,从而无法确保 LGPL 在
|
||||||
|
嵌入式产品中的实施,因此,如果要在嵌入式产品中使用老版本的 MiniGUI, 也必须
|
||||||
|
首先购买商业授权。
|
||||||
|
|
||||||
|
|
||||||
|
## 授权详解
|
||||||
|
|
||||||
|
自 MiniGUI V1.3.0 起,我们遵循 GNU General Public License 许可证(简称 GPL)
|
||||||
|
发布 MiniGUI。该条款的原文可见和 MiniGUI 源代码一同发布的 COPYING 或者
|
||||||
|
LICENSE 文件。相比早期版本使用的 LGPL(GNU Lesser General Public License)
|
||||||
|
许可证, GPL 所定义的条款要严格的多,更能有效维护自由软件的权益,避免自由
|
||||||
|
软件成为专有系统的一部分。有关 GPL 许可证的解释及适用,可参阅 GNU 官方网站上的
|
||||||
|
相关网页:
|
||||||
|
|
||||||
|
http://www.gnu.org/licenses/licenses.html
|
||||||
|
|
||||||
|
同时,我们为无法或者不愿 100% 遵循 GPL 条款使用 MiniGUI 的用户提供商业授权。
|
||||||
|
具体价格及购买方法,请访问:
|
||||||
|
|
||||||
|
http://www.minigui.com/product/cindex.shtml
|
||||||
|
|
||||||
|
|
||||||
|
1. 如果您 100% 遵循 GPL,无需获得商业授权
|
||||||
|
|
||||||
|
如果您使用 MiniGUI 的应用程序以 GPL 发布,则无需获得我们的商业授权。
|
||||||
|
我们非常欢迎任何人在遵循 GPL 条款的基础上复制、修改和发布 MiniGUI。
|
||||||
|
在这种情况下,您无需获得飞漫软件的任何形式的(包括口头或书面)使用授权,
|
||||||
|
因为 GPL 条款本身就足够确保您的权益。但需要注意的是,飞漫软件不对这种
|
||||||
|
形式下的使用提供任何形式的担保或技术支持。
|
||||||
|
|
||||||
|
|
||||||
|
2. 如果您从不复制、修改和发布 MiniGUI,无需获得商业授权
|
||||||
|
|
||||||
|
只要您从不复制、修改和发布 MiniGUI,则您可以在您的应用程序中使用 MiniGUI,而无需
|
||||||
|
获得商业授权。举个例子,您在完成一篇学位论文,并因此在您的程序中使用了 MiniGUI,
|
||||||
|
您的程序仅仅用来说明您论文中试验的可行性或者结果,而且您没有修改 MiniGUI,并且
|
||||||
|
该程序不以任何方式被复制和发布,则您无需获得商业授权。飞漫软件也不对这种形式下的
|
||||||
|
使用提供任何担保。
|
||||||
|
|
||||||
|
但需要特别指出:
|
||||||
|
|
||||||
|
* 修改。我们欢迎您对 MiniGUI 进行任意的修改。如果你发布该修改版本,则您
|
||||||
|
对 MiniGUI 所做的任何修改、所有的接口代码以及直接和间接地与接口相关联的
|
||||||
|
代码将遵循 GPL 许可证。
|
||||||
|
|
||||||
|
* 复制。我们允许您复制 MiniGUI 二进制代码和/或源代码,但一旦这么做了,所有的
|
||||||
|
副本应遵循 GPL 许可证。
|
||||||
|
|
||||||
|
|
||||||
|
3. 其他情况均需获得商业授权
|
||||||
|
|
||||||
|
如果您使用 MiniGUI 的应用程序并不以 GPL 条款发布,却打算在内部或外部发布
|
||||||
|
使用 MiniGUI 的应用程序或者函数库,则您必须首先获得飞漫软件的商业授权。
|
||||||
|
|
||||||
|
特别是:
|
||||||
|
|
||||||
|
* 如果您使用的嵌入式操作系统不采用 GPL 授权条款(比如 uC/OS-II、ThreadX、
|
||||||
|
VxWorks 等操作系统),则必须购买 MiniGUI 商业授权。
|
||||||
|
|
||||||
|
* 您的非 GPL 应用程序连接了 MiniGUI,不管静态还是动态连接,您需要为每一个
|
||||||
|
MiniGUI 函数库副本购买商业授权。尤其在您使用传统嵌入式操作系统时,操作
|
||||||
|
系统、函数库、MiniGUI 和您的应用程序需要编译链接成完整的可执行映像,这时,
|
||||||
|
必须购买 MiniGUI 商业授权。
|
||||||
|
|
||||||
|
* 如果您在自己的单位使用 MiniGUI 函数库,但又不希望将其置于 GPL 许可证
|
||||||
|
之下,则需要购买商业授权。
|
||||||
|
|
||||||
|
* 当然,更多的人购买 MiniGUI 的商业授权,其目的非常简单,他们希望获得
|
||||||
|
来自飞漫软件的技术支持和软件质量担保。
|
||||||
|
|
||||||
|
|
||||||
|
4. 建议
|
||||||
|
|
||||||
|
对商业用户,我们建议购买 MiniGUI 的商业授权。这不仅仅能帮助您避免为满足 GPL
|
||||||
|
条款而付出太多的硬件和软件开发费用,从而保护自己专有系统的商业利益,也可以从
|
||||||
|
飞漫软件获得质量担保——GPL 软件不含任何形式的、间接或直接的担保。
|
||||||
|
|
||||||
|
对自由软件社区的用户,或者经费不足的科研院校,我们建议您在开发基于 MiniGUI 的
|
||||||
|
应用程序时,采用 GPL 或者其他的开放源码许可证条款。这样,能在最大程度上满足
|
||||||
|
GPL 许可证条款,您也不必购买 MiniGUI 的商业授权。
|
||||||
|
|
||||||
|
如果您不知道自己的产品能否 100% 满足 LGPL 条款,则建议您选择商业授权,因为对
|
||||||
|
飞漫软件来讲,我们会保护商业客户的利益,并通过优秀的技术支持和产品担保来确保
|
||||||
|
您的产品能够顺利开发并良好运行。
|
||||||
|
|
||||||
|
|
||||||
|
## 老的版本
|
||||||
|
|
||||||
|
在版本 1.3.0 之前,MiniGUI 使用 LGPL 条款发布。这种条款为非自由软件使用自由
|
||||||
|
函数库而提供了非常宽松的条件。但是,LGPL 条款仍然为复制、修改和发布 LGPL 软件
|
||||||
|
定义了一些约束性的条款,以避免 LGPL 软件变成专有系统事实上的一部分,或者
|
||||||
|
通过一些技术障碍来阻止用户获得 LGPL 条款定义的自由。这些条款包括以下几个方面:
|
||||||
|
|
||||||
|
* 对 MiniGUI 本身的复制、修改和发布行为,均应在确保 MiniGUI 仍然为函数库、
|
||||||
|
仍然遵循 LGPL 或者 GPL 许可证的前提下进行。
|
||||||
|
|
||||||
|
* 使用 MiniGUI 必然要生成可执行文件。根据 LGPL 条款的定义,该可执行文件
|
||||||
|
是 MiniGUI 的“衍生作品”,并且应该按照 LGPL 许可证之第 6 条发布该可
|
||||||
|
执行文件。该条款的核心思想是,确保用户知悉在该“衍生作品”中使用了
|
||||||
|
遵循 LGPL 条款发布的 MiniGUI 函数库,用户因此将得到修改 MiniGUI 的权利;
|
||||||
|
在用户修改了 MiniGUI 函数库的情况下,只要修改后的版本和原先的版本在接口
|
||||||
|
上是兼容的,则应确保用户仍能够生成“衍生作品”(静态连接的情况),或者
|
||||||
|
“衍生作品”仍然能够正常工作(动态连接的情况)。因此,“衍生作品”的发布
|
||||||
|
必须以确保用户获得上述自由为前提和条件。
|
||||||
|
|
||||||
|
飞漫软件认为,MiniGUI 在大多数嵌入式系统中的应用,会因为某些技术上的障碍而不可
|
||||||
|
避免地阻碍用户获得上述自由:
|
||||||
|
|
||||||
|
* 某些嵌入式系统根本不存在任何硬件上的条件或机制(比如程序上载接口),以
|
||||||
|
帮助用户运行和调试修改后的 MiniGUI 函数库。
|
||||||
|
|
||||||
|
* 某些嵌入式系统采用了其他非开放源码的专有操作系统,用户根本无法免费获得
|
||||||
|
用于编译、连接和调试修改后 MiniGUI 函数库的工具。
|
||||||
|
|
||||||
|
* 某些嵌入式系统,因为专利或技术保密等原因,禁止用户对程序采用反向工程和
|
||||||
|
反汇编,从而禁止用户调试修改后的 MiniGUI 函数库。
|
||||||
|
|
||||||
|
如果您剥夺了用户获得修改 MiniGUI 的权利,即使您遵循了 LGPL 许可证的其他条款发布
|
||||||
|
了修改后的 MiniGUI 源代码,则仍不属于 100% 遵循 LGPL 条款。这时,您需要获得飞漫
|
||||||
|
的商业授权。那么,嵌入式系统需要完成哪些工作才算 100% 遵循 LGPL 条款呢?
|
||||||
|
|
||||||
|
* 确保按照 LGPL 条款复制、修改和发布 MiniGUI 函数库本身。
|
||||||
|
|
||||||
|
* 如果您采用静态连接方式生成使用 MiniGUI 函数库的可执行程序,则应确保提供
|
||||||
|
用于生成最终可执行程序的全部目标代码和/或源代码。
|
||||||
|
|
||||||
|
* 如果您采用动态连接方式使用 MiniGUI 函数库,则应确保在达到接口兼容性的情况
|
||||||
|
下,使用 MiniGUI 函数库的可执行程序仍然能够正常工作。
|
||||||
|
|
||||||
|
* 您必须允许用户对您的程序进行反向工程,以便用户调试修改后的 MiniGUI 函数库。
|
||||||
|
|
||||||
|
* 如果您采用了非开放源码的专有嵌入式操作系统,则请确保和您的产品一同提供用于
|
||||||
|
编译、连接和调试程序的工具,或者您的用户可免费获得这些工具。
|
||||||
|
|
||||||
|
* 您的产品还应该在硬件和软件上提供替换原先 MiniGUI 函数库和/或使用 MiniGUI
|
||||||
|
的可执行程序的机制和条件,以便用户在您的嵌入式产品中调试和运行修改之后
|
||||||
|
的 MiniGUI 函数库。
|
||||||
|
|
||||||
|
* 其他为确保用户具有修改 MiniGUI 函数库的自由而应该提供的法律许可及软硬件条件。
|
||||||
|
|
||||||
|
|
||||||
|
因此,我们认为在嵌入式系统中使用老版本 MiniGUI,也必须购买商业授权。
|
||||||
|
|
||||||
|
|
||||||
|
## MiniGUI 商业授权
|
||||||
|
|
||||||
|
有关 MiniGUI 产品及商业授权的方式及价格,请访问
|
||||||
|
|
||||||
|
http://www.minigui.com/
|
||||||
|
|
||||||
|
|
||||||
|
## 如有疑问
|
||||||
|
|
||||||
|
如果您对上述授权策略有任何疑问,请联系我们:
|
||||||
|
|
||||||
|
mailto: sales@minigui.com
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
* GPL = GNU General Public License, http://www.gnu.org/copyleft/gpl.html
|
||||||
|
* LGPL = GNU General Public License, http://www.gnu.org/copyleft/lgpl.html
|
||||||
|
* FMSoft = FMSoft, http://www.fmsoft.cn
|
||||||
|
|
||||||
@@ -1,180 +0,0 @@
|
|||||||
|
|
||||||
MiniGUI GPL 版 本 的 授 权 策 略
|
|
||||||
|
|
||||||
目前,飞漫软件遵循 GPL 授权条款发布某些 MiniGUI 版本。本文档描述
|
|
||||||
用户使用这些 GPL 版本时应该遵循的授权策略。
|
|
||||||
|
|
||||||
简介
|
|
||||||
====
|
|
||||||
|
|
||||||
简而言之,飞漫软件针对 MiniGUI 的授权策略是:MiniGUI 是 100% 按照 GPL 条款
|
|
||||||
发布的自由软件,如果您能 100% 遵守 GPL 许可证条款,则无需支付任何授权费用。
|
|
||||||
在其他任何情况下,都需要获得我们的商业授权。
|
|
||||||
|
|
||||||
老版本 MiniGUI(1.3.0 版本之前)遵循 LGPL 条款发布,因为嵌入式系统无法
|
|
||||||
保障用户获得修改 MiniGUI 函数库并进行调试的自由,从而无法确保 LGPL 在
|
|
||||||
嵌入式产品中的实施,因此,如果要在嵌入式产品中使用老版本的 MiniGUI, 也必须
|
|
||||||
首先购买商业授权。
|
|
||||||
|
|
||||||
|
|
||||||
授权详解
|
|
||||||
========
|
|
||||||
|
|
||||||
自 MiniGUI V1.3.0 起,我们遵循 GNU General Public License 许可证(简称 GPL)
|
|
||||||
发布 MiniGUI。该条款的原文可见和 MiniGUI 源代码一同发布的 COPYING 文件。
|
|
||||||
相比早期版本使用的 LGPL(GNU Lesser General Public License)许可证,
|
|
||||||
GPL 所定义的条款要严格的多,更能有效维护自由软件的权益,避免自由软件成为
|
|
||||||
专有系统的一部分。有关 GPL 许可证的解释及适用,可参阅 GNU 官方网站上的
|
|
||||||
相关网页:
|
|
||||||
|
|
||||||
http://www.gnu.org/licenses/licenses.html
|
|
||||||
|
|
||||||
同时,我们为无法或者不愿 100% 遵循 GPL 条款使用 MiniGUI 的用户提供商业授权。
|
|
||||||
具体价格及购买方法,请访问:
|
|
||||||
|
|
||||||
http://www.minigui.com/product/cindex.shtml
|
|
||||||
|
|
||||||
|
|
||||||
1. 如果您 100% 遵循 GPL,无需获得商业授权
|
|
||||||
|
|
||||||
如果您使用 MiniGUI 的应用程序以 GPL 发布,则无需获得我们的商业授权。
|
|
||||||
我们非常欢迎任何人在遵循 GPL 条款的基础上复制、修改和发布 MiniGUI。
|
|
||||||
在这种情况下,您无需获得飞漫软件的任何形式的(包括口头或书面)使用授权,
|
|
||||||
因为 GPL 条款本身就足够确保您的权益。但需要注意的是,飞漫软件不对这种
|
|
||||||
形式下的使用提供任何形式的担保或技术支持。
|
|
||||||
|
|
||||||
|
|
||||||
2. 如果您从不复制、修改和发布 MiniGUI,无需获得商业授权
|
|
||||||
|
|
||||||
只要您从不复制、修改和发布 MiniGUI,则您可以在您的应用程序中使用 MiniGUI,而无需
|
|
||||||
获得商业授权。举个例子,您在完成一篇学位论文,并因此在您的程序中使用了 MiniGUI,
|
|
||||||
您的程序仅仅用来说明您论文中试验的可行性或者结果,而且您没有修改 MiniGUI,并且
|
|
||||||
该程序不以任何方式被复制和发布,则您无需获得商业授权。飞漫软件也不对这种形式下的
|
|
||||||
使用提供任何担保。
|
|
||||||
|
|
||||||
但需要特别指出:
|
|
||||||
|
|
||||||
* 修改。我们欢迎您对 MiniGUI 进行任意的修改。如果你发布该修改版本,则您
|
|
||||||
对 MiniGUI 所做的任何修改、所有的接口代码以及直接和间接地与接口相关联的
|
|
||||||
代码将遵循 GPL 许可证。
|
|
||||||
|
|
||||||
* 复制。我们允许您复制 MiniGUI 二进制代码和/或源代码,但一旦这么做了,所有的
|
|
||||||
副本应遵循 GPL 许可证。
|
|
||||||
|
|
||||||
|
|
||||||
3. 其他情况均需获得商业授权
|
|
||||||
|
|
||||||
如果您使用 MiniGUI 的应用程序并不以 GPL 条款发布,却打算在内部或外部发布
|
|
||||||
使用 MiniGUI 的应用程序或者函数库,则您必须首先获得飞漫软件的商业授权。
|
|
||||||
|
|
||||||
特别是:
|
|
||||||
|
|
||||||
* 如果您使用的嵌入式操作系统不采用 GPL 授权条款(比如 uC/OS-II、ThreadX、
|
|
||||||
VxWorks 等操作系统),则必须购买 MiniGUI 商业授权。
|
|
||||||
|
|
||||||
* 您的非 GPL 应用程序连接了 MiniGUI,不管静态还是动态连接,您需要为每一个
|
|
||||||
MiniGUI 函数库副本购买商业授权。尤其在您使用传统嵌入式操作系统时,操作
|
|
||||||
系统、函数库、MiniGUI 和您的应用程序需要编译链接成完整的可执行映像,这时,
|
|
||||||
必须购买 MiniGUI 商业授权。
|
|
||||||
|
|
||||||
* 如果您在自己的单位使用 MiniGUI 函数库,但又不希望将其置于 GPL 许可证
|
|
||||||
之下,则需要购买商业授权。
|
|
||||||
|
|
||||||
* 当然,更多的人购买 MiniGUI 的商业授权,其目的非常简单,他们希望获得
|
|
||||||
来自飞漫软件的技术支持和软件质量担保。
|
|
||||||
|
|
||||||
|
|
||||||
4. 建议
|
|
||||||
|
|
||||||
对商业用户,我们建议购买 MiniGUI 的商业授权。这不仅仅能帮助您避免为满足 GPL
|
|
||||||
条款而付出太多的硬件和软件开发费用,从而保护自己专有系统的商业利益,也可以从
|
|
||||||
飞漫软件获得质量担保——GPL 软件不含任何形式的、间接或直接的担保。
|
|
||||||
|
|
||||||
对自由软件社区的用户,或者经费不足的科研院校,我们建议您在开发基于 MiniGUI 的
|
|
||||||
应用程序时,采用 GPL 或者其他的开放源码许可证条款。这样,能在最大程度上满足
|
|
||||||
GPL 许可证条款,您也不必购买 MiniGUI 的商业授权。
|
|
||||||
|
|
||||||
如果您不知道自己的产品能否 100% 满足 LGPL 条款,则建议您选择商业授权,因为对
|
|
||||||
飞漫软件来讲,我们会保护商业客户的利益,并通过优秀的技术支持和产品担保来确保
|
|
||||||
您的产品能够顺利开发并良好运行。
|
|
||||||
|
|
||||||
|
|
||||||
老的版本
|
|
||||||
========
|
|
||||||
|
|
||||||
在版本 1.3.0 之前,MiniGUI 使用 LGPL 条款发布。这种条款为非自由软件使用自由
|
|
||||||
函数库而提供了非常宽松的条件。但是,LGPL 条款仍然为复制、修改和发布 LGPL 软件
|
|
||||||
定义了一些约束性的条款,以避免 LGPL 软件变成专有系统事实上的一部分,或者
|
|
||||||
通过一些技术障碍来阻止用户获得 LGPL 条款定义的自由。这些条款包括以下几个方面:
|
|
||||||
|
|
||||||
* 对 MiniGUI 本身的复制、修改和发布行为,均应在确保 MiniGUI 仍然为函数库、
|
|
||||||
仍然遵循 LGPL 或者 GPL 许可证的前提下进行。
|
|
||||||
|
|
||||||
* 使用 MiniGUI 必然要生成可执行文件。根据 LGPL 条款的定义,该可执行文件
|
|
||||||
是 MiniGUI 的“衍生作品”,并且应该按照 LGPL 许可证之第 6 条发布该可
|
|
||||||
执行文件。该条款的核心思想是,确保用户知悉在该“衍生作品”中使用了
|
|
||||||
遵循 LGPL 条款发布的 MiniGUI 函数库,用户因此将得到修改 MiniGUI 的权利;
|
|
||||||
在用户修改了 MiniGUI 函数库的情况下,只要修改后的版本和原先的版本在接口
|
|
||||||
上是兼容的,则应确保用户仍能够生成“衍生作品”(静态连接的情况),或者
|
|
||||||
“衍生作品”仍然能够正常工作(动态连接的情况)。因此,“衍生作品”的发布
|
|
||||||
必须以确保用户获得上述自由为前提和条件。
|
|
||||||
|
|
||||||
飞漫软件认为,MiniGUI 在大多数嵌入式系统中的应用,会因为某些技术上的障碍而不可
|
|
||||||
避免地阻碍用户获得上述自由:
|
|
||||||
|
|
||||||
* 某些嵌入式系统根本不存在任何硬件上的条件或机制(比如程序上载接口),以
|
|
||||||
帮助用户运行和调试修改后的 MiniGUI 函数库。
|
|
||||||
|
|
||||||
* 某些嵌入式系统采用了其他非开放源码的专有操作系统,用户根本无法免费获得
|
|
||||||
用于编译、连接和调试修改后 MiniGUI 函数库的工具。
|
|
||||||
|
|
||||||
* 某些嵌入式系统,因为专利或技术保密等原因,禁止用户对程序采用反向工程和
|
|
||||||
反汇编,从而禁止用户调试修改后的 MiniGUI 函数库。
|
|
||||||
|
|
||||||
如果您剥夺了用户获得修改 MiniGUI 的权利,即使您遵循了 LGPL 许可证的其他条款发布
|
|
||||||
了修改后的 MiniGUI 源代码,则仍不属于 100% 遵循 LGPL 条款。这时,您需要获得飞漫
|
|
||||||
的商业授权。那么,嵌入式系统需要完成哪些工作才算 100% 遵循 LGPL 条款呢?
|
|
||||||
|
|
||||||
* 确保按照 LGPL 条款复制、修改和发布 MiniGUI 函数库本身。
|
|
||||||
|
|
||||||
* 如果您采用静态连接方式生成使用 MiniGUI 函数库的可执行程序,则应确保提供
|
|
||||||
用于生成最终可执行程序的全部目标代码和/或源代码。
|
|
||||||
|
|
||||||
* 如果您采用动态连接方式使用 MiniGUI 函数库,则应确保在达到接口兼容性的情况
|
|
||||||
下,使用 MiniGUI 函数库的可执行程序仍然能够正常工作。
|
|
||||||
|
|
||||||
* 您必须允许用户对您的程序进行反向工程,以便用户调试修改后的 MiniGUI 函数库。
|
|
||||||
|
|
||||||
* 如果您采用了非开放源码的专有嵌入式操作系统,则请确保和您的产品一同提供用于
|
|
||||||
编译、连接和调试程序的工具,或者您的用户可免费获得这些工具。
|
|
||||||
|
|
||||||
* 您的产品还应该在硬件和软件上提供替换原先 MiniGUI 函数库和/或使用 MiniGUI
|
|
||||||
的可执行程序的机制和条件,以便用户在您的嵌入式产品中调试和运行修改之后
|
|
||||||
的 MiniGUI 函数库。
|
|
||||||
|
|
||||||
* 其他为确保用户具有修改 MiniGUI 函数库的自由而应该提供的法律许可及软硬件条件。
|
|
||||||
|
|
||||||
|
|
||||||
因此,我们认为在嵌入式系统中使用老版本 MiniGUI,也必须购买商业授权。
|
|
||||||
|
|
||||||
|
|
||||||
MiniGUI 商业授权
|
|
||||||
================
|
|
||||||
|
|
||||||
有关 MiniGUI 产品及商业授权的方式及价格,请访问
|
|
||||||
|
|
||||||
http://www.minigui.com/
|
|
||||||
|
|
||||||
|
|
||||||
如有疑问
|
|
||||||
========
|
|
||||||
|
|
||||||
如果您对上述授权策略有任何疑问,请联系我们:
|
|
||||||
|
|
||||||
mailto: sales@minigui.com
|
|
||||||
|
|
||||||
|
|
||||||
GPL = GNU General Public License, http://www.gnu.org/copyleft/gpl.html
|
|
||||||
LGPL = GNU General Public License, http://www.gnu.org/copyleft/lgpl.html
|
|
||||||
FMSoft = FMSoft, http://www.fmsoft.cn
|
|
||||||
|
|
||||||
+4
-3
@@ -1,10 +1,11 @@
|
|||||||
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 \
|
||||||
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 LICENSE.POLICY
|
README.md RELEASE-NOTES.md \
|
||||||
minigui.pc.in
|
LICENSE-POLICY-en.md LICENSE-POLICY-zh.md
|
||||||
|
|
||||||
# The directory where the include files will be installed
|
# The directory where the include files will be installed
|
||||||
libminiguiincludedir = $(includedir)/minigui
|
libminiguiincludedir = $(includedir)/minigui
|
||||||
@@ -13,7 +14,7 @@ libminiguiincludedir = $(includedir)/minigui
|
|||||||
libminiguiinclude_HEADERS = mgconfig.h
|
libminiguiinclude_HEADERS = mgconfig.h
|
||||||
|
|
||||||
docs:
|
docs:
|
||||||
doxygen Doxyfile
|
doxygen Doxyfile.procs Doxyfile.ths Doxyfile.sa
|
||||||
|
|
||||||
dist-nolicense: dist
|
dist-nolicense: dist
|
||||||
./clean_license.sh $(DIST_ARCHIVES)
|
./clean_license.sh $(DIST_ARCHIVES)
|
||||||
|
|||||||
@@ -1,107 +1,142 @@
|
|||||||
# MiniGUI
|
# MiniGUI
|
||||||
|
|
||||||
A mature cross-platform windowing system and GUI system for embedded and IoT devices.
|
A mature and proven cross-platform GUI system for embedded and smart IoT devices.
|
||||||
|
|
||||||
|
|
||||||
## TABLE OF CONTENTS
|
## TABLE OF CONTENTS
|
||||||
|
|
||||||
1. Introduction
|
1. Introduction
|
||||||
|
1. A brief building instruction
|
||||||
1. New features in version 3.2.x
|
1. New features in version 3.2.x
|
||||||
1. The runtime modes of MiniGUI
|
1. The runtime modes of MiniGUI
|
||||||
1. History
|
1. History
|
||||||
1. About the authors
|
1. About the authors
|
||||||
1. If you have a problem
|
1. If you have a problem
|
||||||
1. A little FAQ
|
1. A little FAQ
|
||||||
1. Copying
|
|
||||||
1. Not free for commercial use
|
1. Not free for commercial use
|
||||||
|
1. Copying
|
||||||
|
|
||||||
|
|
||||||
## INTRODUCTION
|
## INTRODUCTION
|
||||||
|
|
||||||
MiniGUI is a mature cross-platform windowing system and GUI (Graphics
|
MiniGUI is a mature cross-platform windowing system and a GUI (Graphics
|
||||||
User Interface) support system for embedded systems and smart IoT devices.
|
User Interface) support system for embedded systems and smart IoT devices.
|
||||||
This is the version 3.2.x of MiniGUI maintained by WEI Yongming
|
This is the version 3.2.x of MiniGUI maintained by WEI Yongming
|
||||||
(Vincent Wei, https://github.com/VincentWei).
|
(Vincent Wei, <https://github.com/VincentWei>).
|
||||||
|
|
||||||
MiniGUI is released under GPLv3 and the dual-licensing applies to commercial
|
MiniGUI is released under GPLv3 and the dual-licensing applies to commercial
|
||||||
use.
|
use.
|
||||||
|
|
||||||
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 RTEMS, VxWorks, ThreadX, Nucleus, pSOS, uC/OS-II,
|
||||||
and OSE.
|
and OSE.
|
||||||
|
|
||||||
This is the MiniGUI core source tarball, 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:
|
||||||
|
|
||||||
* mGPlus: A MiniGUI component which provides support for advanced graphics
|
* mGUtils: A MiniGUI component which contains miscellaneous utilities
|
||||||
functions like path, gradient, anti-aliase stretch, and color combination.
|
like `ColorSelectionDialogBox`, `FileOpenDialogBox`, and so on.
|
||||||
|
* mGPlus: A MiniGUI component which provides support for advanced graphics
|
||||||
|
functions like path, gradient, anti-aliased stretch, and color combination.
|
||||||
|
* mGEff: mGEff provides an animation framework for MiniGUI app.
|
||||||
|
It also provides some popular UI/UE special effects.
|
||||||
|
* mGNCS: This component provides a new control set for MiniGUI app.
|
||||||
|
By using mGNCS, you can use miniStudio to develop MiniGUI app in
|
||||||
|
WYSIWYG way.
|
||||||
|
* mGNCS4Touch: This component provides some new controls, which are
|
||||||
|
compliant to the new control API spec of mGNCS, for devices with
|
||||||
|
a touch screen.
|
||||||
|
|
||||||
* mGNCS: This component provides a new control set for MiniGUI app.
|
There are also some legacy MiniGUI components. We will not maintain these
|
||||||
By using mGNCS, you can use miniStudio to develop MiniGUI app in
|
components for MiniGUI 3.2.x:
|
||||||
WYSIWYG way.
|
|
||||||
|
|
||||||
* mGEff: mGEff provides an animation framework for MiniGUI app.
|
* mGi: An input method component for MiniGUI. This component provides
|
||||||
It also provides some popular UI/UE special effects.
|
some typical input methods (such as soft keyboard, hand-writing, and predict
|
||||||
|
text input for mobile phone) for MiniGUI apps.
|
||||||
|
* mGp: A printing component for MiniGUI. By using mGp, you can print
|
||||||
|
out the graphics created by MiniGUI app to general-purpose printers.
|
||||||
|
* mG3d: A simple three-dimension component for MiniGUI. This component
|
||||||
|
provides a simple 3D API for app. You can use mG3d to create simple
|
||||||
|
3D UI.
|
||||||
|
|
||||||
* mGi: An input method component for MiniGUI. This component provides
|
MiniGUI is a free software project. In December 1998, the initiator of
|
||||||
some typical input methods (such as softkey, hand-writing, and predict
|
FMSoft, Wei Yongming, began to develop MiniGUI under the GNU General Public
|
||||||
text input for mobile phone) for MiniGUI apps.
|
License (GPL). In September 2002, the core developers of
|
||||||
|
MiniGUI founded FMSoft and started the commercial marketing with
|
||||||
* mGUtils: A MiniGUI component which contains miscellaneous utilities
|
the free software. By now, FMSoft still continues to release MiniGUI
|
||||||
like ColorSelectionDialogBox, FileOpenDialogBox, and so on.
|
|
||||||
|
|
||||||
There are also some legacy MiniGUI components:
|
|
||||||
|
|
||||||
* mGp: A printing component for MiniGUI. By using mGp, you can print
|
|
||||||
out the graphics created by MiniGUI app to general-purpose printers.
|
|
||||||
|
|
||||||
* mG3d: A simple three-dimension component for MiniGUI. This component
|
|
||||||
provides a simple 3D API for app. You can use mG3d to create simple
|
|
||||||
3D UI.
|
|
||||||
|
|
||||||
MiniGUI is a free software project. In December 1998, the initiator of
|
|
||||||
FMSoft, Wei Yongming, began to develop MiniGUI under the GNU General Public
|
|
||||||
License (GPL). In September 2002, the core developers of
|
|
||||||
MiniGUI founded FMSoft and started the commercial marketing with
|
|
||||||
the free software. By now, FMSoft still continues to release MiniGUI
|
|
||||||
as a free software project.
|
as a free software project.
|
||||||
|
|
||||||
You can download the source code tarball of MiniGUI and the dependent libraries
|
You can download the source code tarball of MiniGUI and the dependent libraries
|
||||||
from the download zone of the site:
|
from the download zone of the site:
|
||||||
|
|
||||||
http://www.minigui.com
|
<http://www.minigui.com>
|
||||||
|
|
||||||
FMSoft also releases some open source apps for MiniGUI on the site above,
|
FMSoft also releases some open source apps for MiniGUI on the site above,
|
||||||
for examples:
|
for examples:
|
||||||
|
|
||||||
* mDolphin, licensed under Apache 2.0, is a full-featured
|
* mDolphin, licensed under Apache 2.0, is a full-featured
|
||||||
WEB/WAP browser, which is developed based on the open source browser
|
WEB/WAP browser, which is developed based on the open source browser
|
||||||
core WebKit and uses MiniGUI as its underlying graphics support system.
|
core WebKit and uses MiniGUI as its underlying graphics support system.
|
||||||
|
* mGallery, licensed under Apache 2.0, intends to
|
||||||
|
provide a total solution for PMP (Portable Multimedia Player),
|
||||||
|
which uses MiniGUI as the graphics platform.
|
||||||
|
* mSpider, licensed under GPL 3.0, intends to provide a
|
||||||
|
light-weight MiniGUI-based web browser (HTML 3.2 and part JavaScript)
|
||||||
|
* mEagle, licensed under GPL 3.0, is an embedded GIS development platform
|
||||||
|
which addresses the needs of map browse, query, analysis, etc
|
||||||
|
|
||||||
* mGallery, licensed under Apache 2.0, intends to
|
FMSoft had created the public repositories for MiniGUI core, MiniGUI
|
||||||
provide a total solution for PMP (Portable Multimedia Player),
|
|
||||||
which uses MiniGUI as the graphics platform.
|
|
||||||
|
|
||||||
* mSpider, licensed under GPL 3.0, intends to provide a
|
|
||||||
light-weight MiniGUI-based web browser (HTML 3.2 and part JavaScript)
|
|
||||||
|
|
||||||
* mEagle, licensed under GPL 3.0, is an embedded GIS development platform
|
|
||||||
which addresses the needs of map browse, query, analysis, etc
|
|
||||||
|
|
||||||
FMSoft had created the public repositories for MiniGUI core, MiniGUI
|
|
||||||
components, and other open source apps on GitHub. You can visit them on:
|
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
|
||||||
|
|
||||||
|
This instruction assumes that you are using Ubuntu Linux.
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
You can run `apt install <package_name>` to install the software on Ubuntu Linux.
|
||||||
|
|
||||||
|
* Building tools:
|
||||||
|
* autoconf
|
||||||
|
* Dependent libraries (all are optional):
|
||||||
|
* libjpeg64-dev
|
||||||
|
* libpng12-dev
|
||||||
|
* libfreetype6-dev
|
||||||
|
|
||||||
|
### Building
|
||||||
|
|
||||||
|
MiniGUI core uses GNU autoconf/automake scripts to configure and build the project.
|
||||||
|
|
||||||
|
Run
|
||||||
|
|
||||||
|
$ ./configure; make; sudo make install
|
||||||
|
|
||||||
|
to configure, make, and install the headers and the libraries. If there is not
|
||||||
|
`configure` file, please run
|
||||||
|
|
||||||
|
$ ./autogen.sh
|
||||||
|
|
||||||
|
to generate the script.
|
||||||
|
|
||||||
|
MiniGUI core also provides some configuration options to customize the features.
|
||||||
|
For more information, please run
|
||||||
|
|
||||||
|
$ ./configure --help
|
||||||
|
|
||||||
|
|
||||||
## NEW FEATURES IN VERSION 3.2.x
|
## NEW FEATURES IN VERSION 3.2.x
|
||||||
@@ -112,7 +147,7 @@ We introduce some new features in MiniGUI Version 3.2.x:
|
|||||||
to support 64-bit platform. For more information, please refer to
|
to support 64-bit platform. For more information, please refer to
|
||||||
RELEASE-NOTES.md file.
|
RELEASE-NOTES.md file.
|
||||||
|
|
||||||
Because of the changes of some APIs, we recommended strongly that you
|
Because of the changes of some APIs, we recommended strongly that you
|
||||||
use this version for new projects.
|
use this version for new projects.
|
||||||
|
|
||||||
## THE RUNTIME MODES OF MINIGUI
|
## THE RUNTIME MODES OF MINIGUI
|
||||||
@@ -122,64 +157,64 @@ 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.
|
||||||
It is based on POSIX-compliant thread library. And this thread-based
|
It is based on POSIX-compliant thread library. And this thread-based
|
||||||
architecture of MiniGUI is very fit for most traditional embedded
|
architecture of MiniGUI is very fit for most traditional embedded
|
||||||
operating systems, such as eCos, uC/OS-II, and VxWorks. However,
|
operating systems, such as eCos, uC/OS-II, and VxWorks. However,
|
||||||
if you use embedded Linux, the architecture like X Window will have
|
if you use embedded Linux, the architecture like X Window will have
|
||||||
better stability and scalability, because of the independent memory
|
better stability and scalability, because of the independent memory
|
||||||
address space of every process.
|
address space of every process.
|
||||||
|
|
||||||
Since version 2.0, we provides a new runtime mode called MiniGUI-Processes.
|
Since version 2.0, we provides a new runtime mode called MiniGUI-Processes.
|
||||||
You can use MiniGUI-Processes to run more than one MiniGUI-based
|
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
|
||||||
receives and responses requests from clients. The server provides shared
|
receives and responses requests from clients. The server provides shared
|
||||||
resources for clients, manage window objects, and sends mouse
|
resources for clients, manage window objects, and sends mouse
|
||||||
(or touch screen) and keyboard events to the active top-most client.
|
(or touch screen) and keyboard events to the active top-most client.
|
||||||
If a client exits or dies for some reasons, it will not damage other
|
If a client exits or dies for some reasons, it will not damage other
|
||||||
clients and the server.
|
clients and the server.
|
||||||
|
|
||||||
|
|
||||||
## HISTORY
|
## HISTORY
|
||||||
|
|
||||||
About ten years have pasted since MiniGUI was initially created at
|
About ten years have pasted since MiniGUI was initially created at
|
||||||
the end of 1998, and now it becomes much reliable and stable.
|
the end of 1998, and now it becomes much reliable and stable.
|
||||||
During the past years, many remarkable changes have taken place in
|
During the past years, many remarkable changes have taken place in
|
||||||
the MiniGUI project.
|
the MiniGUI project.
|
||||||
|
|
||||||
At the original, the version 0.2.xx was based on SVGALib and PThread
|
At the original, the version 0.2.xx was based on SVGALib and PThread
|
||||||
(LinuxThreads). Then the version 0.3.xx had many enhanced features
|
(LinuxThreads). Then the version 0.3.xx had many enhanced features
|
||||||
including Graphics Abstract Layer (GAL), Input Abstract Layer (IAL),
|
including Graphics Abstract Layer (GAL), Input Abstract Layer (IAL),
|
||||||
and the support for multiple charsets and multiple fonts.
|
and the support for multiple charsets and multiple fonts.
|
||||||
|
|
||||||
In version 1.0.00, we designed MiniGUI-Lite, which was more fit for
|
In version 1.0.00, we designed MiniGUI-Lite, which was more fit for
|
||||||
some complex embedded systems, such as PDAs, Thin-Clients, or STBs.
|
some complex embedded systems, such as PDAs, Thin-Clients, or STBs.
|
||||||
MiniGUI-Lite made the embedded systems more stable and efficient.
|
MiniGUI-Lite made the embedded systems more stable and efficient.
|
||||||
The version 1.0.00 provided the native fbcon engine based on Linux
|
The version 1.0.00 provided the native fbcon engine based on Linux
|
||||||
frame buffer device directly as well.
|
frame buffer device directly as well.
|
||||||
|
|
||||||
In the development of version 1.1.00, we re-wrote the GAL and GDI
|
In the development of version 1.1.00, we re-wrote the GAL and GDI
|
||||||
interfaces, and provided some advanced video features, such as raster
|
interfaces, and provided some advanced video features, such as raster
|
||||||
operation, transparent blitting, alpha blending, and video hardware
|
operation, transparent blitting, alpha blending, and video hardware
|
||||||
acceleration. We also provided some important GDI functions, such as
|
acceleration. We also provided some important GDI functions, such as
|
||||||
Ellipse, Arc, Polygon, and FloodFill.
|
Ellipse, Arc, Polygon, and FloodFill.
|
||||||
|
|
||||||
In the development of version 1.6.0, we added advanced 2D graphics
|
In the development of version 1.6.0, we added advanced 2D graphics
|
||||||
@@ -196,7 +231,7 @@ A brief history description of the development progress lay below:
|
|||||||
|
|
||||||
0) 1994 ~ 1996: MiniGUI DOS version.
|
0) 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
|
2) 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.
|
3) May, 1999: Timer, menu, and the skeleton of control sub-system.
|
||||||
4) Jun, 1999: Chinese input method (by Kang Xiaoning).
|
4) Jun, 1999: Chinese input method (by Kang Xiaoning).
|
||||||
@@ -205,29 +240,29 @@ A brief history description of the development progress lay below:
|
|||||||
7) Sep, 1999: Dialog boxes and message boxes.
|
7) Sep, 1999: Dialog boxes and message boxes.
|
||||||
8) Sep, 1999: Snapshot of screen or window.
|
8) Sep, 1999: Snapshot of screen or window.
|
||||||
9) Jan., 2000: VCOnGUI (Virtual Console on MiniGUI) version 0.2.02.
|
9) Jan., 2000: VCOnGUI (Virtual Console on MiniGUI) version 0.2.02.
|
||||||
10) Mar., 2000: Linux distribution installer based-on MiniGUI for
|
10) 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.
|
11) Jun., 2000: Began to develop version 1.0.xx.
|
||||||
12) Sep., 2000: MiniGUI version 0.3.06 released.
|
12) Sep., 2000: MiniGUI version 0.3.06 released.
|
||||||
13) Oct., 2000: MiniGUI version 0.9.00 released.
|
13) Oct., 2000: MiniGUI version 0.9.00 released.
|
||||||
14) Nov., 2000: MiniGUI version 0.9.96 released.
|
14) Nov., 2000: MiniGUI version 0.9.96 released.
|
||||||
15) Jan., 2001: MiniGUI version 0.9.98 released. You can build
|
15) 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.
|
16) Jan., 2001: MiniGUI version 1.0.00Beta1 released.
|
||||||
17) Feb., 2001: MiniGUI version 1.0.00Pre1 released.
|
17) Feb., 2001: MiniGUI version 1.0.00Pre1 released.
|
||||||
18) Apr., 2001: MiniGUI version 1.0.00 released (2001/04/16).
|
18) Apr., 2001: MiniGUI version 1.0.00 released (2001/04/16).
|
||||||
18) Sep., 2001: MiniGUI version 1.1.0Pre1 released (2001/09/12).
|
18) Sep., 2001: MiniGUI version 1.1.0Pre1 released (2001/09/12).
|
||||||
19) Sep., 2001: MiniGUI version 1.0.9 released (2001/09/17),
|
19) 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).
|
20) 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).
|
21) 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.
|
22) Mar., 2002: MiniGUI API Reference documentation version 1.0 released.
|
||||||
23) Apr., 2002: MiniGUI the new stable version 1.2.0 released (2002/04/11).
|
23) Apr., 2002: MiniGUI the new stable version 1.2.0 released (2002/04/11).
|
||||||
24) Sep., 2002: The main developers of MiniGUI founded a
|
24) 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).
|
25) Mar., 2003: MiniGUI official version 1.2.5 released (2003/03/23).
|
||||||
25) May., 2003: MiniGUI official version 1.2.6 released (2003/05/18).
|
25) May., 2003: MiniGUI official version 1.2.6 released (2003/05/18).
|
||||||
@@ -257,14 +292,14 @@ A brief history description of the development progress lay below:
|
|||||||
|
|
||||||
## ABOUT THE AUTHORS
|
## 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 browse
|
||||||
our home page: http://www.fmsoft.cn.
|
our home page: http://www.fmsoft.cn.
|
||||||
|
|
||||||
|
|
||||||
## IF YOU HAVE A PROBLEM
|
## IF YOU HAVE A PROBLEM
|
||||||
|
|
||||||
If you have any technical problem, advice or comment, please send
|
If you have any technical problem, advice or comment, please send
|
||||||
messages to consult@minigui.com.
|
messages to consult@minigui.com.
|
||||||
|
|
||||||
|
|
||||||
@@ -272,42 +307,83 @@ messages to consult@minigui.com.
|
|||||||
|
|
||||||
Q: Is GPL'd MiniGUI free for commercial use?
|
Q: Is GPL'd MiniGUI free for commercial use?
|
||||||
|
|
||||||
A: Simply no. FMSoft releases MiniGUI under GPLv3 license.
|
A: Simply no. FMSoft releases MiniGUI under GPLv3 license.
|
||||||
It is free for those who are 100% GPL and those who
|
It is free for those who are 100% GPL and those who never copy, modify
|
||||||
never copy, modify and distribute MiniGUI. But if you want to use
|
and distribute MiniGUI. But if you want to use these GPL'd versions
|
||||||
these GPL'd versions for commerce, you should get the commercial
|
for commerce, you should get the commercial license from FMSoft first.
|
||||||
license from FMSoft first.
|
|
||||||
|
|
||||||
Q: Which operating system does MiniGUI support?
|
Q: Which operating system does MiniGUI support?
|
||||||
|
|
||||||
A: MiniGUI can run on Linux/uClinux, uC/OS-II, eCos, ThreadX, pSOS,
|
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
|
VxWorks, ThreadX, OSE, and even Win32. Any other real-time OSes can
|
||||||
be supported theoretically.
|
be supported theoretically.
|
||||||
|
|
||||||
Q: Which architecture does MiniGUI support?
|
Q: Which architecture does MiniGUI support?
|
||||||
|
|
||||||
A: Intel x86, ARM (ARM7/AMR9/StrongARM/xScale), PowerPC, MIPS,
|
A: x86 32/64-bit, ARM 32/64-bit (e.g., ARMv7 and ARM Cortex-A7),
|
||||||
DragonBall, ColdFire, Blackfin, and so on.
|
PowerPC, MIPS, DragonBall, ColdFire, Blackfin, and so on.
|
||||||
|
|
||||||
Q: Does MiniGUI offer the support for grey LCD with 4bpp (bits per pixel)?
|
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.
|
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
|
## COPYING
|
||||||
|
|
||||||
Copyright (C) 2002~2017, Beijing FMSoft Technologies Co., Ltd.
|
Copyright (C) 2002 ~ 2019, 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
|
||||||
|
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.
|
||||||
|
|
||||||
## NOT FREE FOR COMMERCIAL USE
|
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.
|
||||||
|
|
||||||
MiniGUI and its components are licensed under the GPL license.
|
You should have received a copy of the GNU General Public License
|
||||||
So any links about MiniGUI must follow GPL. If you cannot accept GPL,
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
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
|
Or,
|
||||||
of the run-time binary copies of MiniGUI. If you are interested in
|
|
||||||
the commercial license of MiniGUI, please write to sales@minigui.com.
|
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/>.
|
||||||
|
|
||||||
|
### 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>.
|
||||||
|
|
||||||
|
|||||||
+235
-49
@@ -1,59 +1,131 @@
|
|||||||
# Release Notes
|
# Release Notes
|
||||||
|
|
||||||
|
## Version 3.2.3
|
||||||
|
|
||||||
|
The MiniGUI development team announces the availability of MiniGUI 3.2.3.
|
||||||
|
All users of MiniGUI are recommended strongly to use this version.
|
||||||
|
Please report any bugs and incompatibilities in
|
||||||
|
|
||||||
|
<https://github.com/VincentWei/minigui>
|
||||||
|
|
||||||
|
* ENHANCEMENTS:
|
||||||
|
- Support for RTEMS operating system.
|
||||||
|
* BUGFIXES:
|
||||||
|
- Fixed errors in makefile.ng files.
|
||||||
|
* CLEANUP:
|
||||||
|
- `README.md` for correct markdown tags.
|
||||||
|
|
||||||
|
### What's new in this version
|
||||||
|
|
||||||
|
## Version 3.2.2
|
||||||
|
|
||||||
|
The MiniGUI development team announces the availability of MiniGUI 3.2.2.
|
||||||
|
All users of MiniGUI are recommended strongly to use this version.
|
||||||
|
Please report any bugs and incompatibilities in
|
||||||
|
|
||||||
|
https://github.com/VincentWei/minigui
|
||||||
|
|
||||||
|
### What's new in this version
|
||||||
|
|
||||||
|
* ENHANCEMENTS:
|
||||||
|
1. New API: `SyncUpdateDC`. You can use this function to synchronize
|
||||||
|
the update rectangles of a surface to screen, if the surface
|
||||||
|
represents the shadow frame buffer of the screen.
|
||||||
|
* configure option: `--enable-syncupdate`
|
||||||
|
* macro: `_MGUSE_SYNC_UPDATE`
|
||||||
|
1. New API `UpdateInvalidClient`. You can use this function to update
|
||||||
|
the invalid client region of a window instantly.
|
||||||
|
1. New API `LoadDevFontFromIncoreData`. You can use this function to load
|
||||||
|
a device font from incore data.
|
||||||
|
1. Use different colors for the output of `_DBG_PRINTF` and `_ERR_PRINTF`.
|
||||||
|
1. Add `__mg_save_jpg` function for storing MYBITMAP as JPEG file (10km).
|
||||||
|
1. Modified logic for checking JPEG format (10km).
|
||||||
|
1. Support BIDI for UNICODE charsets and cleanup the implementation.
|
||||||
|
* New API: `GetGlyphBIDIType` to get the glyph type in BIDI.
|
||||||
|
* New DC attribute: BIDI flag.
|
||||||
|
1. Add a new key `dpi` for NEWGAL engine to define the DPI of the screen.
|
||||||
|
If it is absent, use 96 as the default DPI.
|
||||||
|
1. Add an item for `GetGDCapability` to return DPI of the DC.
|
||||||
|
1. New API `InitSlaveScreenEx` to specify the DPI of slave screen.
|
||||||
|
Define `InitSlaveScreen` as an inline function calling `InitSlaveScreenEx`.
|
||||||
|
1. Enhance commlcd engint to support more pixel type and synchronously update.
|
||||||
|
1. New USVFB IAL engine and NEWGAL engine for web display server.
|
||||||
|
1. New type: `QDWORD` for a quauter of DWORD. This type is 16-bit long on
|
||||||
|
64-bit architecture, and 8-bit long on 32-bit.
|
||||||
|
1. New macros for QDWORD:
|
||||||
|
* `MAKEDWORD`: Make a DWROD from four QDWORDs.
|
||||||
|
* `FIRST_QDWORD`: get the first (LSB) QDWORD from a DWORD.
|
||||||
|
* `SECOND_QDWORD`: get the second (LSB) QDWORD from a DWORD.
|
||||||
|
* `THIRD_QDWORD`: get the third (LSB) QDWORD from a DWORD.
|
||||||
|
* `FOURTH_QDWORD`: get the fourth (LSB) QDWORD from a DWORD.
|
||||||
|
1. New header for CommLCD NEWGAL engine and COMM IAL engine:
|
||||||
|
`<minigui/exstubs.h>`.
|
||||||
|
|
||||||
|
* BUGFIXING:
|
||||||
|
1. handle `PNG_COLOR_TYPE_GRAY_ALPHA` color type of PNG files.
|
||||||
|
1. Fix a bug to free a null pointer (ReleaseDC).
|
||||||
|
1. No need to make the pitch of FT2 monobitmap is single-byte aligned.
|
||||||
|
This bug may generate dirty dots for monobitmap glyph from TTF.
|
||||||
|
1. Skip null pixels for SUBPIXEL glyphs. This bug will always show background
|
||||||
|
pixels of one SUBPIXEL glyph.
|
||||||
|
1. Fix the bug of wrong bounding box handling for SUBPIXEL rendering of glyph.
|
||||||
|
1. Tune cache implementation of FreeType2 font engine.
|
||||||
|
* Enable cache for rotated LOGFONT.
|
||||||
|
|
||||||
## Version 3.2.0
|
## Version 3.2.0
|
||||||
|
|
||||||
The MiniGUI development team announces the availability of MiniGUI 3.2.0.
|
The MiniGUI development team announces the availability of MiniGUI 3.2.0.
|
||||||
All users of MiniGUI are recommended strongly to use this version for new
|
All users of MiniGUI are recommended strongly to use this version for new
|
||||||
MiniGUI apps. Please report any bugs and incompatibilities in
|
MiniGUI apps. Please report any bugs and incompatibilities in
|
||||||
|
|
||||||
https://github.com/VincentWei/minigui.
|
https://github.com/VincentWei/minigui
|
||||||
|
|
||||||
### What's new in this version
|
### What's new in this version
|
||||||
|
|
||||||
* Support for 64-bit platform. Note that the definitions of some types
|
* Support for 64-bit platform. Note that the definitions of some types
|
||||||
and APIs changed.
|
and APIs changed.
|
||||||
* Eliminate all compilation warnings.
|
* Compliant to the latest GCC, and eliminate all compilation warnings.
|
||||||
|
|
||||||
### Type changes
|
### Type changes
|
||||||
|
|
||||||
#### Changes of handle types
|
#### Changes of handle types
|
||||||
|
|
||||||
All handle types, including `GHANDLE`, `HWND`, `HDC`, etc.,
|
All handle types, including `GHANDLE`, `HWND`, `HDC`, etc.,
|
||||||
are now defined as aliases of `PVOID` (`typedef void* PVOID`).
|
are now defined as aliases of `PVOID` (`typedef void* PVOID`).
|
||||||
You may need to check your code to reflect this change.
|
You may need to check your code to reflect this change.
|
||||||
|
|
||||||
#### Changes of integer types.
|
#### Changes of integer types.
|
||||||
|
|
||||||
The type of `DWORD` now has the pointer precision. That is,
|
The type of `DWORD` now has pointer precision. That is,
|
||||||
the size of `DWORD` will be 4 bytes on 32-bit platform, and 8 bytes on
|
the size of `DWORD` will be 4 bytes on 32-bit platform, and 8 bytes on
|
||||||
64-bit platform.
|
64-bit platform.
|
||||||
|
|
||||||
Similarly, `WPARAM` and `LPARAM` are now have the pointer precision.
|
Similarly, `WPARAM` and `LPARAM` now have pointer precision.
|
||||||
|
|
||||||
`WORD` and `SWORD` has a half of pointer precision. The size of these
|
`WORD` and `SWORD` has a half of pointer precision. The size of these
|
||||||
two types is 2 bytes on 32-bit platform, and 4 bytes on 64-bit platform.
|
two types is 2 bytes on 32-bit platform, and 4 bytes on 64-bit platform.
|
||||||
|
|
||||||
`RGBCOLOR` now is defined as an alias of `DWORD32` (see below).
|
`RGBCOLOR` now is defined as an alias of `DWORD32` (see below).
|
||||||
|
|
||||||
Note that the type of `BYTE` always has the size of 8-bit on both
|
Note that the type of `BYTE` always has the size of 8-bit on both
|
||||||
32-bit and 64-bit platforms.
|
32-bit and 64-bit platforms.
|
||||||
|
|
||||||
#### New integer types:
|
#### New integer types:
|
||||||
|
|
||||||
We introduce `DWORD32` and `SDWORD32` types,
|
We introduce `DWORD32` and `SDWORD32` types,
|
||||||
which have the size of 4 bytes on both 32-bit and 64-bit platforms.
|
which have the size of 4 bytes on both 32-bit and 64-bit platforms.
|
||||||
You should use these types when reading/writing 32-bit integers from
|
You should use these types when reading/writing 32-bit integers from
|
||||||
a binary files for the portability. Of course, you can also use
|
a binary files for the portability. Of course, you can also use
|
||||||
`Uint32` or `Sint32` types.
|
`Uint32` or `Sint32` types.
|
||||||
|
|
||||||
Similarly, we introduce `WORD16` and `SWORD16` types,
|
Similarly, we introduce `WORD16` and `SWORD16` types,
|
||||||
which have the size of 2 bytes on both 32-bit and 64-bit platforms.
|
which have the size of 2 bytes on both 32-bit and 64-bit platforms.
|
||||||
You should use these types when reading/writing 16-bit integers from
|
You should use these types when reading/writing 16-bit integers from
|
||||||
a binary file for the portability. Of course, you can also use
|
a binary file for the portability. Of course, you can also use
|
||||||
`Uint16` or `SUint16` types.
|
`Uint16` or `SUint16` types.
|
||||||
|
|
||||||
`LRESULT` is defined for window callback procedure, and it has
|
`LRESULT` is defined for window callback procedure, and it has
|
||||||
the pointer precision.
|
pointer precision.
|
||||||
|
|
||||||
`LINT` is a new integer type with pointer precision.
|
`LINT` is a new integer type with pointer precision.
|
||||||
|
|
||||||
@@ -61,54 +133,76 @@ the pointer precision.
|
|||||||
|
|
||||||
#### Integer macros
|
#### Integer macros
|
||||||
|
|
||||||
|
`MAKEWPARAM`: this new macro makes a WPARAM value by using four bytes.
|
||||||
|
On the contrary, `FIRSTBYTE`, `SECONDBYTE`, `THIRDBYTE`, and `FOURTH`
|
||||||
|
macros get the four bytes from a `WPARAM` or a `Uint32` value.
|
||||||
|
|
||||||
`MAKEWORD16`: this new macro makes a 16-bit word by using two bytes.
|
`MAKEWORD16`: this new macro makes a 16-bit word by using two bytes.
|
||||||
Meanwhile, `MAKEWORD` makes a 16-bit word on 32-bit platform, and a 32-bit
|
Meanwhile, `MAKEWORD` makes a 16-bit word on 32-bit platform, and a 32-bit
|
||||||
word on 64-bit platform.
|
word on 64-bit platform.
|
||||||
|
|
||||||
`LOBYTE_WORD16` and `HIBYTE_WORD16`: these two new macros get the low byte
|
Note that `MAKELONG` macro always makes a `DWORD` integer, which has pointer
|
||||||
and the high byte in a 16-bit word respectively.
|
precision. Meanwhile, `MAKELONG32` macro makes a `Uint32` integer.
|
||||||
|
|
||||||
Note that `MAKELONG` macro always makes a DWORD integer, which has the pointer
|
Note that `MakeRGB` and `MakeRGBA` macros always make `DWORD32` integers.
|
||||||
precision.
|
In contract, `GetRValue`, `GetRValue`, `GetBValue`, `GetAValue` always
|
||||||
|
get red, green, blue, and alpha components from a `DWORD32` integer
|
||||||
|
respectively.
|
||||||
|
|
||||||
Note that 'MakeRGB` and `MakeRGBA` macros always make DWORD32 integers.
|
Note that you should use `(-1)` instead of `0xFFFFFFFF` for the invalid
|
||||||
In contract, GetRValue, GetRValue, GetBValue, GetAValue always get Red,
|
integer or pointer type value for good portability.
|
||||||
green, blue, and alpha components from a DWORD32 integer respectively.
|
|
||||||
|
|
||||||
Note that you should use `(-1)` instead of `0xFFFFFFFF` for the invalid
|
|
||||||
pointer-type value for good portability.
|
|
||||||
|
|
||||||
#### Structure and functions
|
#### Structure and functions
|
||||||
|
|
||||||
The main changes in structure and functions:
|
The main changes in structure and functions:
|
||||||
|
|
||||||
* We now use a `UINT` instead of an `int` integer for the message identifier.
|
* We now use a `UINT` instead of an `int` integer for the message identifier.
|
||||||
This is not a very important change.
|
|
||||||
|
|
||||||
* We now use a `DWORD` integer for the time tick count. Meanwhile, you can
|
* We now use a `DWORD` integer for the time tick count. Meanwhile, you can
|
||||||
create 64 timers on 64-bit platform.
|
create 64 timers on 64-bit platform.
|
||||||
|
|
||||||
* We now use a `LRESULT` integer for the return value of a window callback
|
* We now use a `LRESULT` integer for the return value of a window callback
|
||||||
procedure. Now it is safe to return a pointer from the callback procedure
|
procedure. Now it is safe to return a pointer from the callback procedure
|
||||||
on 64-bit platform. This is a very important change, and it will break the
|
on 64-bit platform. This is a very important change, and it will break the
|
||||||
source compatibilty of your code. You should check the source code (use
|
source compatibilty of your code. You should check the source code (use
|
||||||
gcc option `-Wall`) carefully.
|
gcc option `-Wall`) carefully.
|
||||||
|
|
||||||
* We now use a `LINT` integer for the identifier of a timer. So you can pass
|
* We now use a `LINT` integer for the identifier of a timer. So you can pass
|
||||||
a pointer as the identifier of the timer on 64-bit platform. mGNCS uses
|
a pointer as the identifier of the timer on 64-bit platform. mGNCS uses
|
||||||
MiniGUI timer in this manner.
|
MiniGUI timer in this manner.
|
||||||
|
|
||||||
As a result, the strcuture `MSG` and all message-related functions changed.
|
* We now use a `LINT` integer for the identifier of a control/widget and a
|
||||||
|
menu item. So you can pass a pointer as the identifier of the timer on
|
||||||
|
64-bit platform. mGNCS works in this manner.
|
||||||
|
|
||||||
|
##### Message
|
||||||
|
|
||||||
|
The strcuture `MSG` and all message-related functions changed.
|
||||||
For example, the prototype of `SendMessage` changed from
|
For example, the prototype of `SendMessage` changed from
|
||||||
|
|
||||||
int SendMessage (HWND hWnd, int nMsg, WPARAM wParam, LPARAM lParam)
|
int SendMessage (HWND hWnd, int nMsg, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
to
|
to
|
||||||
|
|
||||||
LRESULT SendMessage (HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
|
LRESULT SendMessage (HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
Furthermore, the structure and functions to register window class,
|
_IMPORTANT NOTE_
|
||||||
create main window, and create dialog box changed. For example, the prototype
|
|
||||||
|
For best portability, you should use `FIRSTBYTE` to `FOURTHBYTE` macros
|
||||||
|
to get the bytes of a character when you extract the bytes from `WPARAM`
|
||||||
|
parameter of a `MSG_CHAR` message:
|
||||||
|
|
||||||
|
MSG_CHAR
|
||||||
|
unsigned char ch_buff [4];
|
||||||
|
unsigned char ch_buff [0] = FIRSTBYTE(wParam);
|
||||||
|
unsigned char ch_buff [1] = SECONDBYTE(wParam);
|
||||||
|
unsigned char ch_buff [2] = THIRDBYTE(wParam);
|
||||||
|
unsigned char ch_buff [3] = FOURTHBYTE(wParam);
|
||||||
|
|
||||||
|
##### Window callback procedure
|
||||||
|
|
||||||
|
Furthermore, the structure and functions to register window class,
|
||||||
|
create main window, and create dialog box changed. For example, the prototype
|
||||||
of `WNDPROC` changed from
|
of `WNDPROC` changed from
|
||||||
|
|
||||||
typedef int (* WNDPROC)(HWND, int, WPARAM, LPARAM)
|
typedef int (* WNDPROC)(HWND, int, WPARAM, LPARAM)
|
||||||
@@ -126,7 +220,44 @@ to
|
|||||||
LRESULT DefaultWindowProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
LRESULT DefaultWindowProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
All main window procedures, control class procedures, and dialog box procedures
|
All main window procedures, control class procedures, and dialog box procedures
|
||||||
defined by your app should change the implementation to reflect the change above.
|
defined by your app should change the implementation to reflect the changes
|
||||||
|
above.
|
||||||
|
|
||||||
|
_IMPORTANT NOTE_
|
||||||
|
|
||||||
|
Do not cast the result returned by a window procedure to `int` on 64-bit
|
||||||
|
platform, unless you know what your are doing.
|
||||||
|
|
||||||
|
##### Notification callback procedure
|
||||||
|
|
||||||
|
The type of notification callback changes from:
|
||||||
|
|
||||||
|
typedef void (* NOTIFPROC) (HWND hwnd, int id, int nc, DWORD add_data);
|
||||||
|
|
||||||
|
to
|
||||||
|
|
||||||
|
typedef void (* NOTIFPROC) (HWND hwnd, LINT id, int nc, DWORD add_data);
|
||||||
|
|
||||||
|
_IMPORTANT NOTE_
|
||||||
|
|
||||||
|
If you use `MSG_COMMAND` message to handle the notification sent from children
|
||||||
|
controls, you should make sure the identifier is small enough on 64-bit
|
||||||
|
platform. Because MiniGUI packs the identifier and the notification code
|
||||||
|
in the `WPARAM` parameter:
|
||||||
|
|
||||||
|
MSG_COMMAND
|
||||||
|
int id = LOWORD(wParam);
|
||||||
|
int code = HIWORD(wParam);
|
||||||
|
HWND hwnd = (HWND)lParam;
|
||||||
|
|
||||||
|
The code above will not work on 64-bit if you use a pointer as the identifier
|
||||||
|
of the control.
|
||||||
|
|
||||||
|
Therefore, we recommend strongly that you use a `NOTIFYPOROC` callback to
|
||||||
|
handle the notification sent from controls. To do this, please call
|
||||||
|
`SetNotificationCallback` function to set the notification callback function.
|
||||||
|
|
||||||
|
##### Time and timer
|
||||||
|
|
||||||
The prototype of `GetTickCount` changed from
|
The prototype of `GetTickCount` changed from
|
||||||
|
|
||||||
@@ -144,13 +275,15 @@ to
|
|||||||
|
|
||||||
typedef BOOL (* TIMERPROC)(HWND, LINT, DWORD)
|
typedef BOOL (* TIMERPROC)(HWND, LINT, DWORD)
|
||||||
|
|
||||||
In additio, we correct the bad or wrong definitions of some APIs:
|
##### Miscellaneous
|
||||||
|
|
||||||
1. `DWORD2PIXEL` to `DWORD2Pixel`. The old one has a bad name.
|
In addition, we correct the bad or wrong definitions of some APIs:
|
||||||
2. `GetWindowRendererFromName`: The return type changes from
|
|
||||||
|
* `DWORD2PIXEL` to `DWORD2Pixel`. The old one has a bad name.
|
||||||
|
* `GetWindowRendererFromName`: The return type changes from
|
||||||
`const WINDOW_ELEMENT_RENDERER*` to `WINDOW_ELEMENT_RENDERER*`.
|
`const WINDOW_ELEMENT_RENDERER*` to `WINDOW_ELEMENT_RENDERER*`.
|
||||||
So you can overload some methods directly of a renderer.
|
So you can overload some methods directly of a renderer.
|
||||||
3. `GetDefaultWindowElementRenderer`: The return type changes from
|
* `GetDefaultWindowElementRenderer`: The return type changes from
|
||||||
`const WINDOW_ELEMENT_RENDERER*` to `WINDOW_ELEMENT_RENDERER*`.
|
`const WINDOW_ELEMENT_RENDERER*` to `WINDOW_ELEMENT_RENDERER*`.
|
||||||
So you can overload some methods directly of the default renderer.
|
So you can overload some methods directly of the default renderer.
|
||||||
|
|
||||||
@@ -164,15 +297,15 @@ We add some new options for autoconf script (`configure`):
|
|||||||
|
|
||||||
* `--enable-develmode`: You should use this option to define `_DEBUG` macro,
|
* `--enable-develmode`: You should use this option to define `_DEBUG` macro,
|
||||||
enable `-Wall -Werror` option, and enable all features of MiniGUI,
|
enable `-Wall -Werror` option, and enable all features of MiniGUI,
|
||||||
if you were a MiniGUI developer.
|
if you were a MiniGUI developer.
|
||||||
|
|
||||||
## Version 3.0.13
|
## Version 3.0.13
|
||||||
|
|
||||||
The MiniGUI development team announces the availability of MiniGUI 3.0.13.
|
The MiniGUI development team announces the availability of MiniGUI 3.0.13.
|
||||||
All users of MiniGUI are encouraged to test this version carefully, and
|
All users of MiniGUI are encouraged to test this version carefully, and
|
||||||
report any bugs and incompatibilities in
|
report any bugs and incompatibilities in
|
||||||
|
|
||||||
https://github.com/VincentWei/minigui.
|
https://github.com/VincentWei/minigui.
|
||||||
|
|
||||||
### What's new in this version
|
### What's new in this version
|
||||||
|
|
||||||
@@ -180,7 +313,7 @@ report any bugs and incompatibilities in
|
|||||||
* The autoconf/automake config scripts are cleaned up.
|
* The autoconf/automake config scripts are cleaned up.
|
||||||
* Remove most of compilation warnings (not used variables).
|
* Remove most of compilation warnings (not used variables).
|
||||||
* Remove some inline function definitions, especially GetIMEPos/SetIMEPos.
|
* Remove some inline function definitions, especially GetIMEPos/SetIMEPos.
|
||||||
* Fix some bugs.
|
* Fix some bugs.
|
||||||
|
|
||||||
### API changes
|
### API changes
|
||||||
|
|
||||||
@@ -189,12 +322,12 @@ report any bugs and incompatibilities in
|
|||||||
* [NEW] ToUnicode/ToAscii: Converts the key code between Unicode and ASCII.
|
* [NEW] ToUnicode/ToAscii: Converts the key code between Unicode and ASCII.
|
||||||
* [NEW] GetWindowRegion: The function obtains a copy of the window region of a window.
|
* [NEW] GetWindowRegion: The function obtains a copy of the window region of a window.
|
||||||
* [NEW] InvalidateRegion: Invalidates the client area within the specified region.
|
* [NEW] InvalidateRegion: Invalidates the client area within the specified region.
|
||||||
* [NEW] ValidateRect: Validates the client area within a rectangle by removing the
|
* [NEW] ValidateRect: Validates the client area within a rectangle by removing the
|
||||||
rectangle from the update region of the specified window.
|
rectangle from the update region of the specified window.
|
||||||
* [NEW] ValidateRegion: Validates the client area within a region by removing the
|
* [NEW] ValidateRegion: Validates the client area within a region by removing the
|
||||||
region from the current update region of the specified window.
|
region from the current update region of the specified window.
|
||||||
* [NEW] GetUpdateRegion: Copy the update region of a window to a region.
|
* [NEW] GetUpdateRegion: Copy the update region of a window to a region.
|
||||||
* [NEW] AdjustWindowRectEx: Calculates the required size of the window rectangle
|
* [NEW] AdjustWindowRectEx: Calculates the required size of the window rectangle
|
||||||
based on the desired size of the client rectangle.
|
based on the desired size of the client rectangle.
|
||||||
* [NEW] WindowFromPointEx: Retrieves a handle to the window that contains the specified point.
|
* [NEW] WindowFromPointEx: Retrieves a handle to the window that contains the specified point.
|
||||||
* [NEW] ChildWindowFromPointEx: Retrieves a handle to the child window that contains the
|
* [NEW] ChildWindowFromPointEx: Retrieves a handle to the child window that contains the
|
||||||
@@ -205,3 +338,56 @@ report any bugs and incompatibilities in
|
|||||||
* [ADJUST] ChildWindowFromPoint: normal function -> inline function.
|
* [ADJUST] ChildWindowFromPoint: normal function -> inline function.
|
||||||
* [ADJUST] ScrollWindow: normal function -> inline function.
|
* [ADJUST] ScrollWindow: normal function -> inline function.
|
||||||
|
|
||||||
|
|
||||||
|
## Version 3.0.2
|
||||||
|
|
||||||
|
The MiniGUI development team announces the availability of MiniGUI 3.0.2.
|
||||||
|
All users of MiniGUI are encouraged to test this version carefully, and
|
||||||
|
report any bugs and incompatibilities in
|
||||||
|
|
||||||
|
https://github.com/VincentWei/minigui.
|
||||||
|
|
||||||
|
### What's new in this version
|
||||||
|
|
||||||
|
* Append non-rectangle window support.
|
||||||
|
* Append support of double buffer of maindow.
|
||||||
|
* Support for Look and Feel (LF) concept.
|
||||||
|
* Remove SKIN interfaces of MGExt library, move MGExt library and vcongui into mGUtils component.
|
||||||
|
* Newly added bitmap font.
|
||||||
|
* Developing interfaces of desktop for MiniGUI.
|
||||||
|
* Support direct draw to DC for higher efficiency.
|
||||||
|
* Enhancement of resource management
|
||||||
|
* Enhancement of controls: Support of independent scrollbar and transparent control.
|
||||||
|
* Enhancement of font and character set, support bidi text support.
|
||||||
|
* Enhancement of zoom of picture
|
||||||
|
|
||||||
|
|
||||||
|
### API changes
|
||||||
|
|
||||||
|
* [NEW] ScaleBitmapEx: a bilinear interpolation algorithm which is better than the original.
|
||||||
|
* [NEW] GetWindowInfo: get New structure WINDOWINFO.
|
||||||
|
* [NEW] CreateMainWindowEx: enhance of CreeateMainWindow, compatiable with CreeateMainWindow.
|
||||||
|
* [NEW] CreateWindowEx2:enhance of CreateWindowEx2, compatiable with CreateWindowEx2.
|
||||||
|
* [NEW] DialogBoxIndirectParamEx: new create dialog.
|
||||||
|
* [NEW] CreateMainWindowIndirectParamEx:new create dialog.
|
||||||
|
* [NEW] GetWindowRendererFromName: get LF renderer by name
|
||||||
|
* [NEW] AddWindowElementRenderer: append a LF renderer to MiniGU
|
||||||
|
* [NEW] RemoveWindowElementRenderer: delete a LF renderer from MiniG
|
||||||
|
* [NEW] GetDefaultWindowElementRenderer: get default LF renderer
|
||||||
|
* [NEW] SetDefaultWindowElementRenderer: set default LF renderer
|
||||||
|
* [NEW] SetWindowElementRenderer: set a LF renderer for one window’s render
|
||||||
|
* [NEW] SetWindowElementAttr: set window’s attributes.
|
||||||
|
* [NEW] GetWindowElementAttr: get window’s attributes value
|
||||||
|
* [NEW] CreateBMPDevFont: create an bitmap device font.
|
||||||
|
* [NEW] AddGlyphsToBMPFont: add an bitmap font glyph.
|
||||||
|
* [NEW] DestroyBMPFont: destroy bitmap device font.
|
||||||
|
* [NEW] SetCustomDesktopOperationSet: set the custom desktop operation set.
|
||||||
|
* [NEW] DesktopUpdateAllWindow: refresh all windows on the desktop.
|
||||||
|
* [NEW] PopupDesktopMenu: pop up a menu on the desktop
|
||||||
|
* [NEW] GetTextAlign: get the current text-alignment flags of a DC.
|
||||||
|
* [NEW] SetTextAlign: set text-alignment flags of a DC.
|
||||||
|
* [NEW] SetWindowMask: set non-rectangle window mask rect.
|
||||||
|
* [NEW] SetWindowRegion: set non-rectangle window visible region
|
||||||
|
* [NEW] LockDCEx: support for directly read and write the pixels in a DC.
|
||||||
|
* [NEW] CreateSecondaryDC: Creates a secondary window DC of a window.
|
||||||
|
* [NEW] SetSecondaryDC:set a window's secondary DC and the callback for double buffer window.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
Version 3.0.13 (2017/12/06)
|
Version 3.2.3 (2019/10/31)
|
||||||
|
|
||||||
This release needs the following resource packages:
|
This release needs the following resource packages:
|
||||||
|
|
||||||
@@ -6,4 +6,4 @@ This release needs the following resource packages:
|
|||||||
|
|
||||||
The latest samples package is:
|
The latest samples package is:
|
||||||
|
|
||||||
* mg-samples-3.0.13.tar.gz
|
* mg-samples-3.2.2.tar.gz
|
||||||
|
|||||||
@@ -25,4 +25,29 @@ rm config.cache config.status -f
|
|||||||
--disable-savescreen \
|
--disable-savescreen \
|
||||||
--disable-splash \
|
--disable-splash \
|
||||||
--disable-screensaver \
|
--disable-screensaver \
|
||||||
|
--with-runmode=ths \
|
||||||
|
--enable-ctrlstatic \
|
||||||
|
--enable-ctrlbutton \
|
||||||
|
--enable-ctrlsledit \
|
||||||
|
--enable-ctrlbidisledit \
|
||||||
|
--enable-ctrlnewtextedit \
|
||||||
|
--enable-ctrllistbox \
|
||||||
|
--enable-ctrlpgbar \
|
||||||
|
--enable-ctrlcombobox \
|
||||||
|
--enable-ctrlpropsheet \
|
||||||
|
--enable-ctrltrackbar \
|
||||||
|
--enable-ctrlscrollbar \
|
||||||
|
--enable-ctrlnewtoolbar \
|
||||||
|
--enable-ctrlmenubtn \
|
||||||
|
--enable-ctrlscrollview \
|
||||||
|
--enable-ctrltextedit \
|
||||||
|
--enable-ctrlmonthcal \
|
||||||
|
--enable-ctrltreeview \
|
||||||
|
--enable-ctrltreeview-rdr \
|
||||||
|
--enable-ctrlspinbox \
|
||||||
|
--enable-ctrlcoolbar \
|
||||||
|
--enable-ctrllistview \
|
||||||
|
--enable-ctrliconview \
|
||||||
|
--enable-ctrlgridview \
|
||||||
|
--enable-ctrlanimation \
|
||||||
--disable-watermark
|
--disable-watermark
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
./configure \
|
./configure \
|
||||||
|
--with-runmode=ths \
|
||||||
--disable-dblclk \
|
--disable-dblclk \
|
||||||
--disable-cursor \
|
--disable-cursor \
|
||||||
--disable-mousecalibrate \
|
--disable-mousecalibrate \
|
||||||
|
|||||||
Executable
+44
@@ -0,0 +1,44 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
RTEMS_DIR=/home/projects/movidius/m8_gui/tools/18.11.4/linux64/sparc-myriad-rtems-6.3.0
|
||||||
|
|
||||||
|
#RTEMS_GLOBAL_CFLAGS="-ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -finit-priority"
|
||||||
|
|
||||||
|
rm -f config.cache config.status
|
||||||
|
|
||||||
|
CC=${RTEMS_DIR}/bin/sparc-myriad-rtems-gcc \
|
||||||
|
CFLAGS="-I${RTEMS_DIR}/sparc-myriad-rtems/include -I${RTEMS_DIR}/pnglib/include -I${RTEMS_DIR}/zlib/include" \
|
||||||
|
LDFLAGS="-L${RTEMS_DIR}/lib/gcc/sparc-myriad-rtems/6.3.0 -L${RTEMS_DIR}/pnglib/lib -L${RTEMS_DIR}/zlib/lib" \
|
||||||
|
./configure --prefix=/home/projects/movidius/m8_gui/tools/18.11.4/linux64/sparc-myriad-rtems-6.3.0/minigui \
|
||||||
|
--build=i686-linux \
|
||||||
|
--host=sparc-myriad-rtems \
|
||||||
|
--target=sparc-myriad-rtems \
|
||||||
|
--with-osname=rtems \
|
||||||
|
--with-runmode=ths \
|
||||||
|
--enable-miniguientry \
|
||||||
|
--enable-incoreres \
|
||||||
|
--disable-cursor \
|
||||||
|
--disable-videofbcon \
|
||||||
|
--disable-qvfbial \
|
||||||
|
--disable-vbfsupport \
|
||||||
|
--disable-qpfsupport \
|
||||||
|
--disable-latin9support \
|
||||||
|
--enable-gbksupport \
|
||||||
|
--disable-big5support \
|
||||||
|
--enable-unicodesupport \
|
||||||
|
--disable-savebitmap \
|
||||||
|
--disable-jpgsupport \
|
||||||
|
--disable-pngsupport \
|
||||||
|
--disable-aboutdlg \
|
||||||
|
--enable-adv2dapi \
|
||||||
|
--enable-videodummy \
|
||||||
|
--disable-consoleial \
|
||||||
|
--disable-videopcxvfb \
|
||||||
|
--with-targetname=external \
|
||||||
|
--enable-pngsupport \
|
||||||
|
--disable-develmode \
|
||||||
|
--disable-detaildebug \
|
||||||
|
--disable-tracemsg \
|
||||||
|
--enable-videocommlcd \
|
||||||
|
--enable-commial \
|
||||||
|
--disable-splash
|
||||||
@@ -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`
|
||||||
|
LDFLAGS+=
|
||||||
|
##################################################
|
||||||
|
|
||||||
+82
-52
@@ -1,6 +1,6 @@
|
|||||||
dnl Process this file with autoconf to produce a configure script.
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
AC_PREREQ(2.60)
|
AC_PREREQ(2.60)
|
||||||
AC_INIT(libminigui, 3.2.0)
|
AC_INIT(libminigui, 3.2.3)
|
||||||
AC_CONFIG_SRCDIR(src/main/main.c)
|
AC_CONFIG_SRCDIR(src/main/main.c)
|
||||||
|
|
||||||
dnl Set various version strings - taken gratefully from the SDL sources
|
dnl Set various version strings - taken gratefully from the SDL sources
|
||||||
@@ -16,9 +16,9 @@ dnl Set various version strings - taken gratefully from the SDL sources
|
|||||||
#
|
#
|
||||||
MINIGUI_MAJOR_VERSION=3
|
MINIGUI_MAJOR_VERSION=3
|
||||||
MINIGUI_MINOR_VERSION=2
|
MINIGUI_MINOR_VERSION=2
|
||||||
MINIGUI_MICRO_VERSION=0
|
MINIGUI_MICRO_VERSION=3
|
||||||
MINIGUI_INTERFACE_AGE=0
|
MINIGUI_INTERFACE_AGE=0
|
||||||
MINIGUI_BINARY_AGE=0
|
MINIGUI_BINARY_AGE=3
|
||||||
MINIGUI_VERSION=$MINIGUI_MAJOR_VERSION.$MINIGUI_MINOR_VERSION.$MINIGUI_MICRO_VERSION
|
MINIGUI_VERSION=$MINIGUI_MAJOR_VERSION.$MINIGUI_MINOR_VERSION.$MINIGUI_MICRO_VERSION
|
||||||
|
|
||||||
AC_SUBST(MINIGUI_MAJOR_VERSION)
|
AC_SUBST(MINIGUI_MAJOR_VERSION)
|
||||||
@@ -62,7 +62,7 @@ dnl ========================================================================
|
|||||||
dnl Checks for header files.
|
dnl Checks for header files.
|
||||||
AC_HEADER_STDC
|
AC_HEADER_STDC
|
||||||
AC_HEADER_DIRENT
|
AC_HEADER_DIRENT
|
||||||
AC_CHECK_HEADERS(sys/types.h sys/time.h termio.h unistd.h math.h locale.h)
|
AC_CHECK_HEADERS(limits.h math.h locale.h unistd.h termio.h sys/types.h sys/time.h)
|
||||||
|
|
||||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||||
AC_C_CONST
|
AC_C_CONST
|
||||||
@@ -76,21 +76,19 @@ AC_FUNC_ALLOCA
|
|||||||
AC_FUNC_MEMCMP
|
AC_FUNC_MEMCMP
|
||||||
AC_FUNC_MMAP
|
AC_FUNC_MMAP
|
||||||
AC_FUNC_VPRINTF
|
AC_FUNC_VPRINTF
|
||||||
AC_CHECK_FUNCS(time mktime localtime strdup strcasecmp strncasecmp strerror setlocale getpt)
|
AC_CHECK_FUNCS(time mktime localtime strdup strcasecmp strncasecmp strerror setlocale)
|
||||||
|
|
||||||
dnl ========================================================================
|
dnl ========================================================================
|
||||||
dnl User selectable options
|
dnl User selectable options
|
||||||
|
|
||||||
dnl System wide options
|
dnl System wide options
|
||||||
devel_mode="no"
|
devel_mode="no"
|
||||||
use_debug="no"
|
detail_debug="no"
|
||||||
trace_message="no"
|
trace_message="no"
|
||||||
message_string="no"
|
message_string="no"
|
||||||
|
|
||||||
runtime_mode="procs"
|
runtime_mode="procs"
|
||||||
|
|
||||||
stand_alone="no"
|
|
||||||
|
|
||||||
incore_res="no"
|
incore_res="no"
|
||||||
use_miniguientry="no"
|
use_miniguientry="no"
|
||||||
fixed_math="yes"
|
fixed_math="yes"
|
||||||
@@ -102,6 +100,7 @@ use_own_malloc="no"
|
|||||||
use_own_pthread="no"
|
use_own_pthread="no"
|
||||||
|
|
||||||
build_adv2dapi="yes"
|
build_adv2dapi="yes"
|
||||||
|
build_syncupdate="no"
|
||||||
build_minimalgdi="no"
|
build_minimalgdi="no"
|
||||||
|
|
||||||
dnl Options for look and feel renderer
|
dnl Options for look and feel renderer
|
||||||
@@ -164,7 +163,7 @@ build_incorefont_times="yes"
|
|||||||
build_sef_support="no"
|
build_sef_support="no"
|
||||||
build_qpf_support="no"
|
build_qpf_support="no"
|
||||||
use_ttf_lib="ft2"
|
use_ttf_lib="ft2"
|
||||||
build_ttfcache_support="no"
|
build_ttfcache_support="yes"
|
||||||
build_bmpf_support="yes"
|
build_bmpf_support="yes"
|
||||||
|
|
||||||
dnl Charset related options
|
dnl Charset related options
|
||||||
@@ -236,7 +235,7 @@ build_ctrl_trackbar="yes"
|
|||||||
build_ctrl_scrollbar="yes"
|
build_ctrl_scrollbar="yes"
|
||||||
build_ctrl_newtoolbar="yes"
|
build_ctrl_newtoolbar="yes"
|
||||||
build_ctrl_menubutton="yes"
|
build_ctrl_menubutton="yes"
|
||||||
build_ctrl_scrollview="no"
|
build_ctrl_scrollview="yes"
|
||||||
build_ctrl_textedit="no"
|
build_ctrl_textedit="no"
|
||||||
build_ctrl_monthcal="no"
|
build_ctrl_monthcal="no"
|
||||||
build_ctrl_treeview="no"
|
build_ctrl_treeview="no"
|
||||||
@@ -253,6 +252,7 @@ enable_video_pc_xvfb="yes"
|
|||||||
enable_video_rtos_xvfb="no"
|
enable_video_rtos_xvfb="no"
|
||||||
enable_video_qvfb="no"
|
enable_video_qvfb="no"
|
||||||
enable_video_wvfb="no"
|
enable_video_wvfb="no"
|
||||||
|
enable_video_usvfb="no"
|
||||||
enable_video_dfb="no"
|
enable_video_dfb="no"
|
||||||
enable_video_dfb_st7167="no"
|
enable_video_dfb_st7167="no"
|
||||||
enable_video_stgfb="no"
|
enable_video_stgfb="no"
|
||||||
@@ -286,9 +286,9 @@ AC_ARG_ENABLE(develmode,
|
|||||||
[ --enable-develmode developer mode <default=no>],
|
[ --enable-develmode developer mode <default=no>],
|
||||||
devel_mode=$enableval)
|
devel_mode=$enableval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(debug,
|
AC_ARG_ENABLE(detaildebug,
|
||||||
[ --enable-debug build with debugging messages <default=no>],
|
[ --enable-detaildebug detailed debug info <default=no>],
|
||||||
use_debug=$enableval)
|
detail_debug=$enableval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(tracemsg,
|
AC_ARG_ENABLE(tracemsg,
|
||||||
[ --enable-tracemsg trace messages of MiniGUI <default=no>],
|
[ --enable-tracemsg trace messages of MiniGUI <default=no>],
|
||||||
@@ -302,10 +302,6 @@ AC_ARG_WITH(runmode,
|
|||||||
[ --with-runmode=procs/ths/sa the MiniGUI runtime mode <default=procs>],
|
[ --with-runmode=procs/ths/sa the MiniGUI runtime mode <default=procs>],
|
||||||
runtime_mode=$withval)
|
runtime_mode=$withval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(standalone,
|
|
||||||
[ --enable-standalone build MiniGUI-Standalone version <default=no>],
|
|
||||||
stand_alone=$enableval)
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(incoreres,
|
AC_ARG_ENABLE(incoreres,
|
||||||
[ --enable-incoreres use incore resource instead file IO to initialize MiniGUI <default=no>],
|
[ --enable-incoreres use incore resource instead file IO to initialize MiniGUI <default=no>],
|
||||||
incore_res=$enableval)
|
incore_res=$enableval)
|
||||||
@@ -346,6 +342,10 @@ AC_ARG_ENABLE(adv2dapi,
|
|||||||
[ --enable-adv2dapi include advanced 2D graphics APIs <default=yes>],
|
[ --enable-adv2dapi include advanced 2D graphics APIs <default=yes>],
|
||||||
build_adv2dapi=$enableval)
|
build_adv2dapi=$enableval)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(syncupdate,
|
||||||
|
[ --enable-syncupdate include implementation of SyncUpdateDC <default=yes>],
|
||||||
|
build_syncupdate=$enableval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(minimalgdi,
|
AC_ARG_ENABLE(minimalgdi,
|
||||||
[ --enable-minimalgdi build a minimal GDI library only <default=no>],
|
[ --enable-minimalgdi build a minimal GDI library only <default=no>],
|
||||||
build_minimalgdi=$enableval)
|
build_minimalgdi=$enableval)
|
||||||
@@ -383,7 +383,7 @@ AC_ARG_ENABLE(netial,
|
|||||||
build_net_ial_engine=$enableval)
|
build_net_ial_engine=$enableval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(cisco_touchpad_ial,
|
AC_ARG_ENABLE(cisco_touchpad_ial,
|
||||||
[ --enable-cisco_touchpad_ial build the IAL engine for Cisco Touchpad <default=no>],
|
[ --enable-cisco_touchpad_ial build the IAL engine for Cisco Touchpad <default=no>],
|
||||||
build_cisco_touchpad_ial_engine=$enableval)
|
build_cisco_touchpad_ial_engine=$enableval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(mstar_ial,
|
AC_ARG_ENABLE(mstar_ial,
|
||||||
@@ -726,9 +726,8 @@ AC_ARG_ENABLE(ctrlbidisledit,
|
|||||||
[ --enable-ctrlbidisledit include Single-Line BIDI EDIT control <default=no>],
|
[ --enable-ctrlbidisledit include Single-Line BIDI EDIT control <default=no>],
|
||||||
build_ctrl_bidisledit=$enableval)
|
build_ctrl_bidisledit=$enableval)
|
||||||
|
|
||||||
dnl enable new textedit
|
AC_ARG_ENABLE(ctrlnewtextedit,
|
||||||
AC_ARG_ENABLE(newtextedit,
|
[ --disable-ctrlnewtextedit include the new implementation of TEXTEDIT control <default=yes>],
|
||||||
[ --enable-ctrlnewtextedit include the new implementation of TEXTEDIT control <default=yes>],
|
|
||||||
build_ctrl_textedit_new=$enableval)
|
build_ctrl_textedit_new=$enableval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(ctrllistbox,
|
AC_ARG_ENABLE(ctrllistbox,
|
||||||
@@ -784,7 +783,7 @@ AC_ARG_ENABLE(ctrltreeview-rdr,
|
|||||||
build_ctrl_treeview_rdr=$enableval)
|
build_ctrl_treeview_rdr=$enableval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(ctrlspinbox,
|
AC_ARG_ENABLE(ctrlspinbox,
|
||||||
[ --enable-ctrlspinbox include SPINBOX control <default=no>],
|
[ --enable-ctrlspinbox include SPINBOX control <default=yes>],
|
||||||
build_ctrl_spinbox=$enableval)
|
build_ctrl_spinbox=$enableval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(ctrlcoolbar,
|
AC_ARG_ENABLE(ctrlcoolbar,
|
||||||
@@ -792,7 +791,7 @@ AC_ARG_ENABLE(ctrlcoolbar,
|
|||||||
build_ctrl_coolbar=$enableval)
|
build_ctrl_coolbar=$enableval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(ctrllistview,
|
AC_ARG_ENABLE(ctrllistview,
|
||||||
[ --enable-ctrllistview include LISTVIEW control <default=no>],
|
[ --enable-ctrllistview include LISTVIEW control <default=yes>],
|
||||||
build_ctrl_listview=$enableval)
|
build_ctrl_listview=$enableval)
|
||||||
|
|
||||||
AC_ARG_ENABLE(ctrliconview,
|
AC_ARG_ENABLE(ctrliconview,
|
||||||
@@ -886,21 +885,21 @@ CheckXVFB()
|
|||||||
[ --enable-videortosxvfb include RTOS Virtual FrameBuffer NEWGAL engine <default=no>. Please disable pcxvfb to enable rtosxvfb],
|
[ --enable-videortosxvfb include RTOS Virtual FrameBuffer NEWGAL engine <default=no>. Please disable pcxvfb to enable rtosxvfb],
|
||||||
enable_video_rtos_xvfb=$enableval)
|
enable_video_rtos_xvfb=$enableval)
|
||||||
|
|
||||||
if test "x$enable_video_pc_xvfb" = "xyes"; then
|
if test "x$enable_video_pc_xvfb" = "xyes"; then
|
||||||
dnl CheckPCXVFB
|
dnl CheckPCXVFB
|
||||||
AC_DEFINE(_MGGAL_PCXVFB, 1,
|
AC_DEFINE(_MGGAL_PCXVFB, 1,
|
||||||
[Define if include PC Virtual FrameBuffer NEWGAL engine])
|
[Define if include PC Virtual FrameBuffer NEWGAL engine])
|
||||||
VIDEO_SUBDIRS="$VIDEO_SUBDIRS pcxvfb"
|
VIDEO_SUBDIRS="$VIDEO_SUBDIRS pcxvfb"
|
||||||
VIDEO_DRIVERS="$VIDEO_DRIVERS pcxvfb/libvideo_pcxvfb.la"
|
VIDEO_DRIVERS="$VIDEO_DRIVERS pcxvfb/libvideo_pcxvfb.la"
|
||||||
else
|
else
|
||||||
if test "x$enable_video_rtos_xvfb" = "xyes"; then
|
if test "x$enable_video_rtos_xvfb" = "xyes"; then
|
||||||
dnl CheckRTOSXVFB
|
dnl CheckRTOSXVFB
|
||||||
AC_DEFINE(_MGGAL_RTOSXVFB, 1,
|
AC_DEFINE(_MGGAL_RTOSXVFB, 1,
|
||||||
[Define if include RTOS Virtual FrameBuffer NEWGAL engine])
|
[Define if include RTOS Virtual FrameBuffer NEWGAL engine])
|
||||||
VIDEO_SUBDIRS="$VIDEO_SUBDIRS rtos_xvfb"
|
VIDEO_SUBDIRS="$VIDEO_SUBDIRS rtos_xvfb"
|
||||||
VIDEO_DRIVERS="$VIDEO_DRIVERS rtos_xvfb/libvideo_rtos_xvfb.la"
|
VIDEO_DRIVERS="$VIDEO_DRIVERS rtos_xvfb/libvideo_rtos_xvfb.la"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -908,7 +907,7 @@ dnl Check Windows Virtual FrameBuffer
|
|||||||
CheckWVFB()
|
CheckWVFB()
|
||||||
{
|
{
|
||||||
AC_ARG_ENABLE(videowvfb,
|
AC_ARG_ENABLE(videowvfb,
|
||||||
[ --enable-videowvfb include Windows Virtual FrameBuffer NEWGAL engine <default=no>],
|
[ --enable-videowvfb include Windows Virtual Frame Buffer NEWGAL engine <default=no>],
|
||||||
enable_video_wvfb=$enableval)
|
enable_video_wvfb=$enableval)
|
||||||
|
|
||||||
if test "x$enable_video_wvfb" = "xyes"; then
|
if test "x$enable_video_wvfb" = "xyes"; then
|
||||||
@@ -920,6 +919,23 @@ CheckWVFB()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dnl Set up the UnixSocket virtual Frame Buffer video driver.
|
||||||
|
CheckUSVFB()
|
||||||
|
{
|
||||||
|
AC_ARG_ENABLE(videousvfb,
|
||||||
|
[ --enable-videousvfb include NEWGAL/IAL engines for UnixSocket Virtual Frame Buffer <default=no>],
|
||||||
|
enable_video_usvfb=$enableval)
|
||||||
|
|
||||||
|
if test "x$enable_video_usvfb" = "xyes"; then
|
||||||
|
AC_DEFINE(_MGIAL_USVFB, 1,
|
||||||
|
[Define if include IAL engine for UnixSocket Virtual Frame Buffer])
|
||||||
|
AC_DEFINE(_MGGAL_USVFB, 1,
|
||||||
|
[Define if include NEWGAL engine for UnixSocket Virtual Frame Buffer])
|
||||||
|
VIDEO_SUBDIRS="$VIDEO_SUBDIRS usvfb"
|
||||||
|
VIDEO_DRIVERS="$VIDEO_DRIVERS usvfb/libvideo_usvfb.la"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
dnl Set up the Common LCD video driver.
|
dnl Set up the Common LCD video driver.
|
||||||
CheckCOMMLCD()
|
CheckCOMMLCD()
|
||||||
{
|
{
|
||||||
@@ -1280,6 +1296,7 @@ dnl Checks NewGAL Engine.
|
|||||||
CheckQVFB
|
CheckQVFB
|
||||||
CheckXVFB
|
CheckXVFB
|
||||||
CheckWVFB
|
CheckWVFB
|
||||||
|
CheckUSVFB
|
||||||
CheckCOMMLCD
|
CheckCOMMLCD
|
||||||
CheckShadowVideo
|
CheckShadowVideo
|
||||||
CheckMLShadowVideo
|
CheckMLShadowVideo
|
||||||
@@ -1380,12 +1397,18 @@ case "$with_libsuffix" in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
AC_ARG_WITH(osname,
|
AC_ARG_WITH(osname,
|
||||||
[ --with-osname=linux/uclinux/ecos/ucos2/swlinux/vxworks/win32/darwin/threadx/cygwin/nucleus/ose/psos])
|
[ --with-osname=linux/uclinux/ecos/ucos2/swlinux/vxworks/win32/darwin/threadx/cygwin/nucleus/ose/psos/rtems])
|
||||||
|
|
||||||
dnl configure.in file is used only for the following OSes: linux/uclinux/swlinux/ecos/darwin/cygwin
|
dnl configure.in file is used only for the following OSes: linux/uclinux/swlinux/ecos/darwin/cygwin
|
||||||
dnl for other OSes, you should use makefile.ng or else.
|
dnl for other OSes, you should use makefile.ng or else.
|
||||||
|
|
||||||
case "$with_osname" in
|
case "$with_osname" in
|
||||||
|
rtems)
|
||||||
|
AC_DEFINE(__RTEMS__, 1,
|
||||||
|
[Define if compile for rtems])
|
||||||
|
AC_DEFINE(__NOUNIX__, 1,
|
||||||
|
[Define if compile for non-UNIX like OS])
|
||||||
|
;;
|
||||||
uclinux)
|
uclinux)
|
||||||
AC_DEFINE(__uClinux__, 1,
|
AC_DEFINE(__uClinux__, 1,
|
||||||
[Define if compile for uClinux])
|
[Define if compile for uClinux])
|
||||||
@@ -1489,13 +1512,17 @@ AC_ARG_WITH(targetname,
|
|||||||
S3C6410/S3C2440/S3C2410/hi3560a Define the target board name])
|
S3C6410/S3C2440/S3C2410/hi3560a Define the target board name])
|
||||||
|
|
||||||
case "$with_targetname" in
|
case "$with_targetname" in
|
||||||
|
external)
|
||||||
|
AC_DEFINE(__TARGET_EXTERNAL__, 1,
|
||||||
|
[Define for targets which use GAL and/or IAL engines and define the interfaces externally])
|
||||||
|
;;
|
||||||
fmsoft)
|
fmsoft)
|
||||||
AC_DEFINE(__TARGET_FMSOFT__, 1,
|
AC_DEFINE(__TARGET_FMSOFT__, 1,
|
||||||
[Define for FMSoft internal use])
|
[Define for FMSoft internal use])
|
||||||
;;
|
;;
|
||||||
mstudio)
|
mstudio)
|
||||||
AC_DEFINE(__TARGET_MSTUDIO__, 1,
|
AC_DEFINE(__TARGET_MSTUDIO__, 1,
|
||||||
[Define for FMSoft miniStudio])
|
[Define for FMSoft miniStudio])
|
||||||
;;
|
;;
|
||||||
stb810)
|
stb810)
|
||||||
AC_DEFINE(__TARGET_STB810__, 1,
|
AC_DEFINE(__TARGET_STB810__, 1,
|
||||||
@@ -1523,11 +1550,11 @@ case "$with_targetname" in
|
|||||||
;;
|
;;
|
||||||
bfin)
|
bfin)
|
||||||
AC_DEFINE(__TARGET_BLACKFIN__, 1,
|
AC_DEFINE(__TARGET_BLACKFIN__, 1,
|
||||||
[Define for Blackfin run uClinux])
|
[Define for Blackfin run uClinux])
|
||||||
;;
|
;;
|
||||||
c33l05)
|
c33l05)
|
||||||
AC_DEFINE(__TARGET_C33L05__, 1,
|
AC_DEFINE(__TARGET_C33L05__, 1,
|
||||||
[Define for EPSON C33L05 (axLinux)])
|
[Define for EPSON C33L05 (axLinux)])
|
||||||
;;
|
;;
|
||||||
S3C6410)
|
S3C6410)
|
||||||
CFLAGS="$CFLAGS -D_WITH_TARGET_S3C6410"
|
CFLAGS="$CFLAGS -D_WITH_TARGET_S3C6410"
|
||||||
@@ -1636,15 +1663,21 @@ if test "x$build_adv2dapi" = "xyes"; then
|
|||||||
[Define if include advanced 2D graphics APIs])
|
[Define if include advanced 2D graphics APIs])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "x$build_syncupdate" = "xyes"; then
|
||||||
|
AC_DEFINE(_MGUSE_SYNC_UPDATE, 1,
|
||||||
|
[Define if include implementation of SyncUpdateDC])
|
||||||
|
fi
|
||||||
|
|
||||||
if test "x$fixed_math" = "xyes"; then
|
if test "x$fixed_math" = "xyes"; then
|
||||||
AC_DEFINE(_MGHAVE_FIXED_MATH, 1,
|
AC_DEFINE(_MGHAVE_FIXED_MATH, 1,
|
||||||
[Define if include fixed math routines])
|
[Define if include fixed math routines])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$devel_mode" = "xyes"; then
|
if test "x$devel_mode" = "xyes"; then
|
||||||
use_debug="yes"
|
|
||||||
message_string="yes"
|
message_string="yes"
|
||||||
trace_message="no"
|
if test "x$detail_debug" = "xyes"; then
|
||||||
|
trace_message="yes"
|
||||||
|
fi
|
||||||
|
|
||||||
build_auto_ial_engine="yes"
|
build_auto_ial_engine="yes"
|
||||||
build_random_ial_engine="yes"
|
build_random_ial_engine="yes"
|
||||||
@@ -1694,12 +1727,9 @@ if test "x$devel_mode" = "xyes"; then
|
|||||||
build_ctrl_iconview="yes"
|
build_ctrl_iconview="yes"
|
||||||
build_ctrl_gridview="yes"
|
build_ctrl_gridview="yes"
|
||||||
|
|
||||||
enable_video_commlcd="yes"
|
|
||||||
enable_video_shadow="yes"
|
enable_video_shadow="yes"
|
||||||
enable_video_mlshadow="yes"
|
enable_video_mlshadow="yes"
|
||||||
enable_video_custom="yes"
|
enable_video_custom="yes"
|
||||||
|
|
||||||
build_screensaver="yes"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl Depedencies
|
dnl Depedencies
|
||||||
@@ -1711,11 +1741,6 @@ if test "x$build_ctrl_treeview_rdr" = "xyes"; then
|
|||||||
build_ctrl_scrollview="yes"
|
build_ctrl_scrollview="yes"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$use_debug" = "xyes"; then
|
|
||||||
AC_DEFINE(_DEBUG, 1,
|
|
||||||
[Define if build with debugging messages])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$trace_message" = "xyes"; then
|
if test "x$trace_message" = "xyes"; then
|
||||||
message_string="yes"
|
message_string="yes"
|
||||||
|
|
||||||
@@ -1965,7 +1990,7 @@ dnl Check for FreeType1 library
|
|||||||
ft2)
|
ft2)
|
||||||
dnl Check for FreeType2 library
|
dnl Check for FreeType2 library
|
||||||
AC_CHECK_LIB(freetype, FT_Library_Version,
|
AC_CHECK_LIB(freetype, FT_Library_Version,
|
||||||
DEP_LIBS="$DEP_LIBS -lfreetype -lz -lpng12",
|
DEP_LIBS="$DEP_LIBS -lfreetype",
|
||||||
use_ttf_lib="none")
|
use_ttf_lib="none")
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -2048,7 +2073,6 @@ case "$use_ttf_lib" in
|
|||||||
FT1_INC_DIR="-I$with_ft1_includes"
|
FT1_INC_DIR="-I$with_ft1_includes"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DEP_LIBS="$DEP_LIBS -lttf"
|
|
||||||
AC_SUBST(FT1_INC_DIR)
|
AC_SUBST(FT1_INC_DIR)
|
||||||
;;
|
;;
|
||||||
ft2)
|
ft2)
|
||||||
@@ -2065,7 +2089,6 @@ case "$use_ttf_lib" in
|
|||||||
FT2_INC_DIR="-I$with_ft2_includes"
|
FT2_INC_DIR="-I$with_ft2_includes"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DEP_LIBS="$DEP_LIBS -lfreetype"
|
|
||||||
AC_SUBST(FT2_INC_DIR)
|
AC_SUBST(FT2_INC_DIR)
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -2410,8 +2433,8 @@ fi
|
|||||||
if test "x$build_ctrl_textedit_new" = "xyes"; then
|
if test "x$build_ctrl_textedit_new" = "xyes"; then
|
||||||
AC_DEFINE(_MGCTRL_TEXTEDIT, 1,
|
AC_DEFINE(_MGCTRL_TEXTEDIT, 1,
|
||||||
[Define if include TEXTEDIT control])
|
[Define if include TEXTEDIT control])
|
||||||
AC_DEFINE(_MGCTRL_TEXTEDIT_USE_NEW_IMPL, 1,
|
AC_DEFINE(_MGCTRL_TEXTEDIT_USE_NEW_IMPL, 1,
|
||||||
[Define if use new implementation of TEXTEDIT control])
|
[Define if use new implementation of TEXTEDIT control])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$build_splash" = "xyes"; then
|
if test "x$build_splash" = "xyes"; then
|
||||||
@@ -2439,9 +2462,16 @@ dnl define _GNU_SOURCE for pthread_rwlock_t
|
|||||||
CFLAGS="$CFLAGS -D_GNU_SOURCE"
|
CFLAGS="$CFLAGS -D_GNU_SOURCE"
|
||||||
|
|
||||||
if test "x$devel_mode" = "xyes"; then
|
if test "x$devel_mode" = "xyes"; then
|
||||||
|
CPPFLAGS="$CPPFLAGS -D_DEBUG"
|
||||||
|
if test "x$detail_debug" = "xyes"; then
|
||||||
|
CPPFLAGS="$CPPFLAGS -DDEBUG"
|
||||||
|
fi
|
||||||
|
|
||||||
if test "$ac_cv_prog_gcc" = "yes"; then
|
if test "$ac_cv_prog_gcc" = "yes"; then
|
||||||
CPPFLAGS="$CPPFLAGS -Wall -Werror"
|
CPPFLAGS="$CPPFLAGS -Wall -Werror"
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
CPPFLAGS="$CPPFLAGS -DNDEBUG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$ac_cv_prog_gcc" = "yes"; then
|
if test "$ac_cv_prog_gcc" = "yes"; then
|
||||||
@@ -2507,6 +2537,7 @@ src/newgal/sigma8654/Makefile
|
|||||||
src/newgal/mstar/Makefile
|
src/newgal/mstar/Makefile
|
||||||
src/newgal/gdl/Makefile
|
src/newgal/gdl/Makefile
|
||||||
src/newgal/stgfb/Makefile
|
src/newgal/stgfb/Makefile
|
||||||
|
src/newgal/usvfb/Makefile
|
||||||
src/ial/Makefile
|
src/ial/Makefile
|
||||||
src/ial/native/Makefile
|
src/ial/native/Makefile
|
||||||
src/ial/netial/Makefile
|
src/ial/netial/Makefile
|
||||||
@@ -2556,4 +2587,3 @@ dnl echo "WARNING: failed to generate license pictures."
|
|||||||
dnl else
|
dnl else
|
||||||
dnl echo "Done."
|
dnl echo "Done."
|
||||||
dnl fi
|
dnl fi
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
*.css
|
|
||||||
*.png
|
|
||||||
*.html
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
SUBDIRS = man3 man5
|
|
||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
*.3
|
|
||||||
@@ -1,249 +0,0 @@
|
|||||||
EXTRA_DIST = \
|
|
||||||
about_dlg.3 \
|
|
||||||
accel_fns.3 \
|
|
||||||
_ARC.3 \
|
|
||||||
basic_types.3 \
|
|
||||||
_BITMAP.3 \
|
|
||||||
_BLOCKHEAP.3 \
|
|
||||||
block_heap_fns.3 \
|
|
||||||
bmp_fns.3 \
|
|
||||||
bmp_load_fns.3 \
|
|
||||||
bmp_struct.3 \
|
|
||||||
bug.3 \
|
|
||||||
caret_fns.3 \
|
|
||||||
_CHILDINFO.3 \
|
|
||||||
class_fns.3 \
|
|
||||||
clipboard_fns.3 \
|
|
||||||
clip_fns.3 \
|
|
||||||
_CLIPRECT.3 \
|
|
||||||
_CLIPRGN.3 \
|
|
||||||
color_vars.3 \
|
|
||||||
common.h.3 \
|
|
||||||
_CONTAINERINFO.3 \
|
|
||||||
control_fns.3 \
|
|
||||||
control.h.3 \
|
|
||||||
controls.3 \
|
|
||||||
_COOLBARITEMINFO.3 \
|
|
||||||
creation_msgs.3 \
|
|
||||||
ctrl_button.3 \
|
|
||||||
ctrl_button_msgs.3 \
|
|
||||||
ctrl_button_ncs.3 \
|
|
||||||
ctrl_button_states.3 \
|
|
||||||
ctrl_button_styles.3 \
|
|
||||||
ctrl_combobox.3 \
|
|
||||||
ctrl_combobox_msgs.3 \
|
|
||||||
ctrl_combobox_ncs.3 \
|
|
||||||
ctrl_combobox_styles.3 \
|
|
||||||
_CTRLDATA.3 \
|
|
||||||
ctrl_edit.3 \
|
|
||||||
ctrl_edit_msgs.3 \
|
|
||||||
ctrl_edit_ncs.3 \
|
|
||||||
ctrl_edit_styles.3 \
|
|
||||||
ctrl_listbox.3 \
|
|
||||||
ctrl_listbox_msgs.3 \
|
|
||||||
ctrl_listbox_ncs.3 \
|
|
||||||
ctrl_listbox_styles.3 \
|
|
||||||
ctrl_menubutton.3 \
|
|
||||||
ctrl_menubutton_msgs.3 \
|
|
||||||
ctrl_menubutton_ncs.3 \
|
|
||||||
ctrl_menubutton_styles.3 \
|
|
||||||
ctrl_msgs.3 \
|
|
||||||
ctrl_newtoolbar.3 \
|
|
||||||
ctrl_newtoolbar_msgs.3 \
|
|
||||||
ctrl_newtoolbar_styles.3 \
|
|
||||||
ctrl_progbar.3 \
|
|
||||||
ctrl_progbar_msgs.3 \
|
|
||||||
ctrl_progbar_ncs.3 \
|
|
||||||
ctrl_progbar_styles.3 \
|
|
||||||
ctrl_propsheet.3 \
|
|
||||||
ctrl_propsheet_msgs.3 \
|
|
||||||
ctrl_propsheet_ncs.3 \
|
|
||||||
ctrl_propsheet_styles.3 \
|
|
||||||
ctrl_scrollview.3 \
|
|
||||||
ctrl_scrollview_msgs.3 \
|
|
||||||
ctrl_scrollview_ncs.3 \
|
|
||||||
ctrl_scrollview_styles.3 \
|
|
||||||
ctrl_static.3 \
|
|
||||||
ctrl_static_msgs.3 \
|
|
||||||
ctrl_static_ncs.3 \
|
|
||||||
ctrl_static_styles.3 \
|
|
||||||
ctrl_textedit.3 \
|
|
||||||
ctrl_textedit_msgs.3 \
|
|
||||||
ctrl_textedit_ncs.3 \
|
|
||||||
ctrl_textedit_styles.3 \
|
|
||||||
ctrl_toolbar.3 \
|
|
||||||
ctrl_toolbar_msgs.3 \
|
|
||||||
ctrl_trackbar.3 \
|
|
||||||
ctrl_trackbar_msgs.3 \
|
|
||||||
ctrl_trackbar_ncs.3 \
|
|
||||||
ctrl_trackbar_styles.3 \
|
|
||||||
cursor_fns.3 \
|
|
||||||
dc_attrs.3 \
|
|
||||||
dc_fns.3 \
|
|
||||||
desktop_msgs.3 \
|
|
||||||
dialog_fns.3 \
|
|
||||||
_DLGTEMPLATE.3 \
|
|
||||||
draw_adv_2d_fns.3 \
|
|
||||||
draw_fns.3 \
|
|
||||||
endian_info.3 \
|
|
||||||
endian_rw_fns.3 \
|
|
||||||
endianrw.h.3 \
|
|
||||||
err_codes.3 \
|
|
||||||
etc_fns.3 \
|
|
||||||
_FILEDLGDATA.3 \
|
|
||||||
filedlg.h.3 \
|
|
||||||
fixed_math_fns.3 \
|
|
||||||
fixedmath.h.3 \
|
|
||||||
fixed_str.3 \
|
|
||||||
fns.3 \
|
|
||||||
font_fns.3 \
|
|
||||||
_FONTMETRICS.3 \
|
|
||||||
GAL_Color.3 \
|
|
||||||
GAL_Overlay.3 \
|
|
||||||
GAL_Palette.3 \
|
|
||||||
GAL_Rect.3 \
|
|
||||||
gamma_fns.3 \
|
|
||||||
gdi_fns.3 \
|
|
||||||
gdi.h.3 \
|
|
||||||
gdi_types.3 \
|
|
||||||
general_rw_fns.3 \
|
|
||||||
global_fns.3 \
|
|
||||||
global_vars.3 \
|
|
||||||
_GLYPHBITMAP.3 \
|
|
||||||
_GRIDCELL.3 \
|
|
||||||
_GRIDCOLHEADER.3 \
|
|
||||||
_GRIDNM_NORMAL.3 \
|
|
||||||
_GRIDROWHEADER.3 \
|
|
||||||
handles.3 \
|
|
||||||
_HOOKINFO.3 \
|
|
||||||
icon_fns.3 \
|
|
||||||
ime_fns.3 \
|
|
||||||
init_fns.3 \
|
|
||||||
key_defs.3 \
|
|
||||||
key_msgs.3 \
|
|
||||||
key_status.3 \
|
|
||||||
_LISTBOXITEMINFO.3 \
|
|
||||||
lite_fns.3 \
|
|
||||||
lite_layer_fns.3 \
|
|
||||||
lite_listenfd_fns.3 \
|
|
||||||
lite_request_fns.3 \
|
|
||||||
lite_server_fns.3 \
|
|
||||||
lite_socket_fns.3 \
|
|
||||||
lite_vars.3 \
|
|
||||||
_LOGFONT.3 \
|
|
||||||
_LVCOLUMN.3 \
|
|
||||||
_LVFINDINFO.3 \
|
|
||||||
_LVITEM.3 \
|
|
||||||
_LVNM_NORMAL.3 \
|
|
||||||
_LVSORTDATA.3 \
|
|
||||||
_LVSUBITEM.3 \
|
|
||||||
macros_types.3 \
|
|
||||||
_MAINWINCREATE.3 \
|
|
||||||
map_fns.3 \
|
|
||||||
_MCCOLORINFO.3 \
|
|
||||||
_MENUBUTTONITEM.3 \
|
|
||||||
menu_fns.3 \
|
|
||||||
_MENUITEMINFO.3 \
|
|
||||||
menu_msgs.3 \
|
|
||||||
MG_Client.3 \
|
|
||||||
mgext_control_grid_msgs.3 \
|
|
||||||
mgext_controls.3 \
|
|
||||||
mgext_ctrl_coolbar.3 \
|
|
||||||
mgext_ctrl_coolbar_msgs.3 \
|
|
||||||
mgext_ctrl_coolbar_styles.3 \
|
|
||||||
mgext_ctrl_grid.3 \
|
|
||||||
mgext_ctrl_grid_ncs.3 \
|
|
||||||
mgext_ctrl_listview.3 \
|
|
||||||
mgext_ctrl_listview_msgs.3 \
|
|
||||||
mgext_ctrl_listview_ncs.3 \
|
|
||||||
mgext_ctrl_listview_styles.3 \
|
|
||||||
mgext_ctrl_monthcal.3 \
|
|
||||||
mgext_ctrl_monthcal_msgs.3 \
|
|
||||||
mgext_ctrl_monthcal_ncs.3 \
|
|
||||||
mgext_ctrl_monthcal_styles.3 \
|
|
||||||
mgext_ctrl_spinbox.3 \
|
|
||||||
mgext_ctrl_spinbox_msgs.3 \
|
|
||||||
mgext_ctrl_spinbox_ncs.3 \
|
|
||||||
mgext_ctrl_spinbox_styles.3 \
|
|
||||||
mgext_ctrl_treeview.3 \
|
|
||||||
mgext_ctrl_treeview_msgs.3 \
|
|
||||||
mgext_ctrl_treeview_ncs.3 \
|
|
||||||
mgext_ctrl_treeview_styles.3 \
|
|
||||||
mgext_fns.3 \
|
|
||||||
mgext_gif_fns.3 \
|
|
||||||
mgext.h.3 \
|
|
||||||
mgext_skin_fns.3 \
|
|
||||||
MG_Layer.3 \
|
|
||||||
MG_RWops.3 \
|
|
||||||
minigui.h.3 \
|
|
||||||
misc_fns.3 \
|
|
||||||
misc_macros.3 \
|
|
||||||
mouse_msgs.3 \
|
|
||||||
_MSG.3 \
|
|
||||||
msgbox_fns.3 \
|
|
||||||
msg_fns.3 \
|
|
||||||
msg_hook_fns.3 \
|
|
||||||
msg_pass_fns.3 \
|
|
||||||
msgs.3 \
|
|
||||||
_MYBITMAP.3 \
|
|
||||||
_myWinButton.3 \
|
|
||||||
mywindows.h.3 \
|
|
||||||
_myWinEntry.3 \
|
|
||||||
mywins_filedlg.3 \
|
|
||||||
mywins_fns.3 \
|
|
||||||
mywins_helpers.3 \
|
|
||||||
_NTBINFO.3 \
|
|
||||||
_NTBITEMINFO.3 \
|
|
||||||
own_stdio.h.3 \
|
|
||||||
paint_msgs.3 \
|
|
||||||
pal_fns.3 \
|
|
||||||
_POINT.3 \
|
|
||||||
post_event_msgs.3 \
|
|
||||||
_RECT.3 \
|
|
||||||
rect_fns.3 \
|
|
||||||
rect_vars.3 \
|
|
||||||
region_fns.3 \
|
|
||||||
_REQUEST.3 \
|
|
||||||
_RGB.3 \
|
|
||||||
scrollbar_fns.3 \
|
|
||||||
_SCROLLINFO.3 \
|
|
||||||
_SCROLLVIEWITEMINFO.3 \
|
|
||||||
si_bmplabel_s.3 \
|
|
||||||
sie_slider_s.3 \
|
|
||||||
simple_types.3 \
|
|
||||||
si_nrmlabel_s.3 \
|
|
||||||
si_nrmslider_s.3 \
|
|
||||||
si_rotslider_s.3 \
|
|
||||||
_SIZE.3 \
|
|
||||||
skin.h.3 \
|
|
||||||
skin_head_s.3 \
|
|
||||||
skin_item_s.3 \
|
|
||||||
skin_set_s.3 \
|
|
||||||
_SPININFO.3 \
|
|
||||||
_STIPPLE.3 \
|
|
||||||
str_helpers.3 \
|
|
||||||
styles.3 \
|
|
||||||
_svitem_operations.3 \
|
|
||||||
sys_bmps.3 \
|
|
||||||
system_font.3 \
|
|
||||||
system_msgs.3 \
|
|
||||||
_SYSTEMTIME.3 \
|
|
||||||
sys_text.3 \
|
|
||||||
text_output_fns.3 \
|
|
||||||
text_parse_fns.3 \
|
|
||||||
timer_fns.3 \
|
|
||||||
_TOOLBARITEMINFO.3 \
|
|
||||||
_TVITEMINFO.3 \
|
|
||||||
user_msgs.3 \
|
|
||||||
vcongui_fns.3 \
|
|
||||||
vcongui.h.3 \
|
|
||||||
version_info.3 \
|
|
||||||
win32_types.3 \
|
|
||||||
window_create_fns.3 \
|
|
||||||
window_fns.3 \
|
|
||||||
window_general_fns.3 \
|
|
||||||
window.h.3 \
|
|
||||||
window_msgs.3 \
|
|
||||||
_WNDCLASS.3 \
|
|
||||||
_WORDINFO.3 \
|
|
||||||
yuv_fns.3
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
*.5
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
man_MANS=MiniGUI.cfg.5
|
|
||||||
|
|
||||||
EXTRA_DIST = $(man_MANS)
|
|
||||||
@@ -1,109 +0,0 @@
|
|||||||
.TH MiniGUI.cfg 5 "August 2000" "libminigui" "MiniGUI User Documentation"
|
|
||||||
|
|
||||||
.SH NAME
|
|
||||||
MiniGUI.cfg \- The configuration file of MiniGUI.
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
.PP
|
|
||||||
In MiniGUI, you can get specific values from \fBetc\fP files using \fBGetValueFromEtcFile\fP and \fBGetIntValueFromEtcFile\fP. Etc files are text configuration files with same format as Windows INI files. A etc file has following simple format:
|
|
||||||
.PP
|
|
||||||
.nf
|
|
||||||
[section0]
|
|
||||||
key0=value0
|
|
||||||
key1=value1
|
|
||||||
|
|
||||||
[section1]
|
|
||||||
key0=value0
|
|
||||||
key1=value1
|
|
||||||
.fi
|
|
||||||
.PP
|
|
||||||
As you have seen, etc files are composed by \fBsections\fP. Every \fBvalue\fP in etc file is refrenced by \fBkey\fP. You should specify section name and key name to find a specific value.
|
|
||||||
.PP
|
|
||||||
MiniGUI uses a ETC file to store some system configuration data. This file is named MiniGUI.cfg. By default, this file will be installed in /etc directory. However, if there is a MiniGUI.cfg file in /usr/local/etc or in your home directory (saved as .MiniGUI.cfg), MiniGUI will use the latter MiniGUI.cfg file to get configuration data, so can override your system /etc/MiniGUI.cfg file.
|
|
||||||
.PP
|
|
||||||
This manpage describes the sections in MiniGUI.cfg file.
|
|
||||||
|
|
||||||
.SH "SECTIONS"
|
|
||||||
.SS
|
|
||||||
o system
|
|
||||||
.PP
|
|
||||||
\fBsystem\fP section defines system information of MiniGUI, including graphics engine, mouse type and mouse device. \fBengine\fP key specifies the graphics engine and \fBmdev\fP specifies the mouse device and \fBmtype\fP the mouse type.
|
|
||||||
.PP
|
|
||||||
If your graphics engine needs some other configuration data, these data will go into a section named by the engine name. For example, if your graphics engine is \fBSVGALib\fP, \fBSVGALib\fP section will define the configuration data for SVGALib.
|
|
||||||
.SS
|
|
||||||
o systemfont
|
|
||||||
.PP
|
|
||||||
\fBsystemfont\fP section defines system fonts for MiniGUI. \fBfont_number\fP key specifies the number of fonts, and \fBname?\fP key and \fBfontfile?\fP key define the font name and the path of the font file respectively. \fBname0\fP and \fBfontfile0\fP for the first font, \fBname1\fP and \fBfontfile1\fP for the second font, and so forth.
|
|
||||||
.PP
|
|
||||||
Generally, system fonts have identical size (height of font), but each belongs to a different charset. The first font should belong to a single-byte character charset.
|
|
||||||
.SS
|
|
||||||
o rawbitmapfonts
|
|
||||||
.PP
|
|
||||||
\fBrawbitmapfonts\fP section defines \fBRaw Bitmap Fonts\fP can be used by MiniGUI. The pattern of this section is similiar with \fBsystemfont\fP section.
|
|
||||||
.SS
|
|
||||||
o varbitmapfonts
|
|
||||||
.PP
|
|
||||||
\fBvarbitmapfonts\fP section defines \fBVar Bitmap Fonts\fP can be used by MiniGUI. The pattern of this section is similiar with \fBsystemfont\fP section.
|
|
||||||
.SS
|
|
||||||
o truetypefonts
|
|
||||||
.PP
|
|
||||||
\fBtruetypefonts\fP section defines \fBTrue Type Fonts\fP can be used by MiniGUI. The pattern of this section is similiar with \fBsystemfont\fP section.
|
|
||||||
o type1fonts
|
|
||||||
.PP
|
|
||||||
\fBtype1fonts\fP section defines \fBAdobe Type1 Fonts\fP can be used by MiniGUI. The pattern of this section is similiar with \fBsystemfont\fP section.
|
|
||||||
.SS
|
|
||||||
o bgpicture
|
|
||||||
.PP
|
|
||||||
\fBbgpicture\fP section defines the position of the background picture in MiniGUI.
|
|
||||||
.SS
|
|
||||||
o mouse
|
|
||||||
.PP
|
|
||||||
\fBmouse\fP section defines the mouse configuration data. No need to change this section.
|
|
||||||
.SS
|
|
||||||
o event
|
|
||||||
.PP
|
|
||||||
\fBevent\fP section defines the event handling configuration data. No need to change this section.
|
|
||||||
.SS
|
|
||||||
o cursorinfo
|
|
||||||
.PP
|
|
||||||
\fBcursorinfo\fP section defines the cursors can be used by MiniGUI. \fBcursorpath\fP key specifies the path of cursor files, and \fBcursornumber\fP key specifies the number of cursor should be loaded at startup of MiniGUI. \fBcursor0, cursor1, cursor2, ...\fP keys specify the name of each cursor file. If you define \fBcursornumber\fP as zero, there will be no mouse cursor displayed in MiniGUI application.
|
|
||||||
.SS
|
|
||||||
o iconinfo
|
|
||||||
.PP
|
|
||||||
\fBiconinfo\fP section defines the icons can be used by MiniGUI. \fBiconpath\fP key specifies the path of icon files, and \fBiconnumber\fP key specifies the number of icon should be loaded at startup of MiniGUI. \fBicon0, icon1, icon2, ...\fP keys specify the name of each icon file.
|
|
||||||
.SS
|
|
||||||
o bitmapinfo
|
|
||||||
.PP
|
|
||||||
\fBbitmapinfo\fP section defines the bitmaps used by MiniGUI. \fBbitmappath\fP key specifies the path of bitmap files, and other keys specify the bitmap file names. You can change the value of \fBbgpicture\fP key to specify a different background picture, or change the value of \fBlogo\fP key to specify a different logo picture. No need to change other values.
|
|
||||||
.SS
|
|
||||||
o mainwinmetrics
|
|
||||||
.PP
|
|
||||||
\fBmainwinmetrics\fP section defines the metrics of main windows.
|
|
||||||
.SS
|
|
||||||
o windowelementcolors
|
|
||||||
.PP
|
|
||||||
\fBwindowelementcolors\fP section defines colors of window elements in RGB.
|
|
||||||
.SS
|
|
||||||
o imeinfo
|
|
||||||
.PP
|
|
||||||
\fBimeinfo\fP section defines the Hanzi Input Methods can be used by MiniGUI. \fBimepath\fP key specifies the path of files used by IME, and \fBimenumber\fP key specifies the number of IME should be loaded at startup of IME window. \fBime0, ime1, ...\fP keys specify the name of each IME.
|
|
||||||
.SS
|
|
||||||
o appinfo
|
|
||||||
.PP
|
|
||||||
\fBappinfo\fP section defines the applications information of MiniGUI. So far, MiniGUI only uses this section to define the path storing application resource files.
|
|
||||||
|
|
||||||
.SH COPYING
|
|
||||||
.PP
|
|
||||||
Copyright (C) 2002 ~ 2004, Beijing Feynman Software Technology Co., Ltd.
|
|
||||||
.BR
|
|
||||||
Copyright (C) 1998 ~ 2002, Wei Yongming.
|
|
||||||
.BR
|
|
||||||
Portion copyright (C) 2000, Song Lixin, Zheng Xiang and othres..
|
|
||||||
|
|
||||||
.PP
|
|
||||||
MiniGUI is free woftware; 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 2 of the License, or (at your option) any later version.
|
|
||||||
.PP
|
|
||||||
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
||||||
.PP
|
|
||||||
You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
||||||
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
man_MANS=libminigui.7
|
|
||||||
|
|
||||||
EXTRA_DIST = $(man_MANS)
|
|
||||||
@@ -1,99 +0,0 @@
|
|||||||
.TH libminigui 7 "Jan 2004" "libminigui" "Introduction to libminigui"
|
|
||||||
|
|
||||||
.SH NAME
|
|
||||||
libminigui \- A compact Graphics User Interface support system for real-time embedded systems based-on Linux.
|
|
||||||
.SH DESCRIPTION
|
|
||||||
|
|
||||||
.PP
|
|
||||||
MiniGUI is a LGPLed free software project.
|
|
||||||
Its goal is providing a lightweight Graphics User Interface support system;
|
|
||||||
especially fit for real-time embedded systems based on Linux. We have released
|
|
||||||
MiniGUI version 1.0.00Pre1 so far, and the official release version will be born
|
|
||||||
in the near future.
|
|
||||||
|
|
||||||
.PP
|
|
||||||
MiniGUI defines some Win32-like APIs for the applications. By using the
|
|
||||||
MiniGUI, one application can create multiple windows, and can draw in
|
|
||||||
these windows without interfering each other.
|
|
||||||
|
|
||||||
.PP
|
|
||||||
You can find latest information about MiniGUI at our home page:
|
|
||||||
|
|
||||||
.PP
|
|
||||||
http://www.minigui.org
|
|
||||||
|
|
||||||
.SH WHAT IS MINIGUI-LITE
|
|
||||||
|
|
||||||
.PP
|
|
||||||
You know that MiniGUI before version 0.9.98 is based on LinuxThreads.
|
|
||||||
Therefore, if you want to start a program based on MiniGUI, you have to
|
|
||||||
quit current one and start another one, or you can dynamically load the
|
|
||||||
program via 'dlopen'. Although the latter can extend your application
|
|
||||||
in some degrees, but it is not a good way because one thread in a MiniGUI-based
|
|
||||||
process may damage the whole process.
|
|
||||||
|
|
||||||
.PP
|
|
||||||
Now you can use MiniGUI-Lite to run more than one MiniGUI-based program
|
|
||||||
in the form of Linux processes at the same time. MiniGUI-Lite is a lightweight
|
|
||||||
version of original MiniGUI -- because LinuxThreads is not needed any more.
|
|
||||||
You can run a programm based on MiniGUI-Lite from a program called 'mginit'.
|
|
||||||
Just like X Window, the former process is called a client, and the latter a server.
|
|
||||||
|
|
||||||
.PP
|
|
||||||
The clients connect to the server via UNIX domain socket, and the server accepts
|
|
||||||
the request from clients. The server provides the shared resource for the clients,
|
|
||||||
and sends mouse (touch screen) and keyboard events to the topmost client.
|
|
||||||
If a client exit or die for a reason, the server will run as normal.
|
|
||||||
|
|
||||||
.PP
|
|
||||||
In our release, there is a package called 'mglite-exec'. In this package,
|
|
||||||
there is a 'mginit' program which creates a virtual console window. You can start
|
|
||||||
a program in this package from the command line of the virtual console.
|
|
||||||
You can even debug this program by using 'gbd'.
|
|
||||||
|
|
||||||
.PP
|
|
||||||
You can create many windows in a program based on MiniGUI-Lite, but you can not
|
|
||||||
start a new thread to create a window. So some functions in original MiniGUI can
|
|
||||||
not be used in MiniGUI-Lite, but most of APIs of MiniGUI-Lite are compatible with
|
|
||||||
original MiniGUI. Porting from original MiniGUI to MiniGUI-Lite is simple.
|
|
||||||
Please see the programs in 'mglite-exec' package, all programs are porting
|
|
||||||
from 'miniguiexec' package.
|
|
||||||
|
|
||||||
.PP
|
|
||||||
The source of MiniGUI is configured as MiniGUI-Lite by default.
|
|
||||||
When you run `./configure' to configure MiniGUI, you can use the command:
|
|
||||||
|
|
||||||
.PP
|
|
||||||
$ ./configure --disable-lite
|
|
||||||
|
|
||||||
.PP
|
|
||||||
to disable MiniGUI-Lite. You will get the original MiniGUI libraries which
|
|
||||||
run on PThread.
|
|
||||||
|
|
||||||
.PP
|
|
||||||
For clear distinguish, we will call MiniGUI based-on PThread as `MiniGUI-Threads'.
|
|
||||||
|
|
||||||
.SH AUTHOR
|
|
||||||
.PP
|
|
||||||
The original author of MiniGUI is WEI Yongming (ymwei@minigui.org), but many others added some features to MiniGUI, and some code of MiniGUI comes from other free software. For instance, the Chinses input method comes from CCE (Console Chinese Environment)
|
|
||||||
by He Rui and others, and ported it to MiniGUI by KANG Xiaoning and Zheng Xiang.
|
|
||||||
.PP
|
|
||||||
For other authors and contributors to see CREDITS.
|
|
||||||
|
|
||||||
.SH COPYING
|
|
||||||
.PP
|
|
||||||
Copyright (C) 1998, 1999, 2000, 2001, WEI Yongming.
|
|
||||||
.br
|
|
||||||
Copyright (C) 2000, 2001, BluePoint Software.
|
|
||||||
.br
|
|
||||||
Portion copyright (C) 2000, Song Lixin.
|
|
||||||
.br
|
|
||||||
Portion copyright (C) 2000, Zheng Xiang.
|
|
||||||
.PP
|
|
||||||
MiniGUI is free woftware; you can redistribute it and/or modify it under the terms of the GNU Library General Public
|
|
||||||
License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
|
|
||||||
.PP
|
|
||||||
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.
|
|
||||||
.PP
|
|
||||||
You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
||||||
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
man_MANS = minigui.3 miniguiFunctions.3 miniguiAccelerator.3 miniguiAsyncKey.3 miniguiBitmap.3 \
|
|
||||||
miniguiCaretHandler.3 miniguiClipRectHeap.3 miniguiCreateWindow.3 \
|
|
||||||
miniguiCursor.3 miniguiDC.3 miniguiDCAttr.3 miniguiDCClipping.3 \
|
|
||||||
miniguiDTI.3 miniguiDialogBox.3 miniguiDrawing.3 miniguiEtcFile.3 \
|
|
||||||
miniguiFixStr.3 miniguiHook.3 miniguiIME.3 miniguiIcon.3 miniguiInit.3 \
|
|
||||||
miniguiLogFont.3 miniguiMain.3 miniguiMainWindow.3 miniguiMapTransf.3 \
|
|
||||||
miniguiMapping.3 miniguiMenu.3 miniguiMessage.3 miniguiMisc.3 \
|
|
||||||
miniguiPenBrush.3 miniguiRect.3 miniguiRegion.3 miniguiScreen.3 \
|
|
||||||
miniguiString.3 miniguiSysChar.3 miniguiTextOutput.3 miniguiTextParse.3 \
|
|
||||||
miniguiTimer.3 miniguiWindowClass.3 miniguiGetSysText.3 \
|
|
||||||
miniguiMessages.3 miniguiStructures.3 miniguiControls.3 \
|
|
||||||
miniguiLite.3
|
|
||||||
|
|
||||||
EXTRA_DIST = $(man_MANS) docmaker functions.txt
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
#! /usr/bin/perl -w
|
|
||||||
|
|
||||||
use POSIX;
|
|
||||||
|
|
||||||
if ($#ARGV < 0) {
|
|
||||||
print "Usage: ./docmaker functions.txt\n";
|
|
||||||
exit -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
open FUNCHANDLE, "<$ARGV[0]" || die;
|
|
||||||
$i = 0;
|
|
||||||
while (<FUNCHANDLE>) {
|
|
||||||
next if /^\n/;
|
|
||||||
chop;
|
|
||||||
if (/^(\D.+?) \\-.+$/){
|
|
||||||
$docfile = "minigui$1.3";
|
|
||||||
open DOC, ">$docfile" || die;
|
|
||||||
print DOC ".\\\" This manpage is Copyright (C) 2000, 2001 Wei Yongming\n";
|
|
||||||
print DOC ".\\\" 2000, 2001 BluePoint Software\n";
|
|
||||||
print DOC ".\\\"\n";
|
|
||||||
print DOC ".\\\" Permission is granted to make and distribute verbatim copies of this\n";
|
|
||||||
print DOC ".\\\" manual provided the copyright notice and this permission notice are\n";
|
|
||||||
print DOC ".\\\" preserved on all copies.\n";
|
|
||||||
print DOC ".\\\"\n";
|
|
||||||
print DOC ".\\\" Permission is granted to copy and distribute modified versions of this\n";
|
|
||||||
print DOC ".\\\" manual under the conditions for verbatim copying, provided that the\n";
|
|
||||||
print DOC ".\\\" entire resulting derived work is distributed under the terms of a\n";
|
|
||||||
print DOC ".\\\" permission notice identical to this one.\n";
|
|
||||||
print DOC ".\\\"\n";
|
|
||||||
print DOC ".\\\" Since MiniGUI is constantly changing, this\n";
|
|
||||||
print DOC ".\\\" manual page may be incorrect or out-of-date. The author(s) assume no\n";
|
|
||||||
print DOC ".\\\" responsibility for errors or omissions, or for damages resulting from\n";
|
|
||||||
print DOC ".\\\" the use of the information contained herein. The author(s) may not\n";
|
|
||||||
print DOC ".\\\" have taken the same level of care in the production of this manual,\n";
|
|
||||||
print DOC ".\\\" which is licensed free of charge, as they might when working\n";
|
|
||||||
print DOC ".\\\" professionally.\n";
|
|
||||||
print DOC ".\\\"\n";
|
|
||||||
print DOC ".\\\" Formatted or processed versions of this manual, if unaccompanied by\n";
|
|
||||||
print DOC ".\\\" the source, must acknowledge the copyright and authors of this work.\n";
|
|
||||||
|
|
||||||
print DOC ".TH \"$1\" ";
|
|
||||||
print DOC "\"3\" \"August 2000\" \"MiniGUI\"\n\n";
|
|
||||||
print DOC ".SH \"NAME\"\n";
|
|
||||||
print DOC "$_\n\n";
|
|
||||||
print DOC ".SH \"SYNOPSIS\"\n";
|
|
||||||
}
|
|
||||||
elsif (/^#.+?/){
|
|
||||||
print DOC ".B $_\n";
|
|
||||||
print DOC ".br\n";
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
$funcname[$i++]=$_;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
print DOC "\n.PP\n";
|
|
||||||
for ($j = 0; $j < $i; $j++){
|
|
||||||
$funcname[$j] =~ /(.+?) *(\(.+?\);)/;
|
|
||||||
$funcname[$j] = $1;
|
|
||||||
print DOC ".BI \"$1\" \"$2\"\n";
|
|
||||||
print DOC ".br\n" if ($j != $i - 1);
|
|
||||||
}
|
|
||||||
print DOC ".SH \"DESCRIPTION\"\n";
|
|
||||||
print DOC ".PP\n";
|
|
||||||
for ($j = 0; $j < $i; $j++){
|
|
||||||
$funcname[$j] =~ /.+ (.+?)$/;
|
|
||||||
print DOC "\\fB$1\\fP function description goes here\n";
|
|
||||||
print DOC ".PP\n" if ($j != $i - 1);
|
|
||||||
# open FUNCDOC, ">$1.3" || die;
|
|
||||||
# print FUNCDOC ".so man3/$docfile\n";
|
|
||||||
# close FUNCDOC;
|
|
||||||
}
|
|
||||||
print DOC ".SH \"RETURN VALUE\"\n";
|
|
||||||
print DOC ".PP\n\n";
|
|
||||||
print DOC ".SH \"NOTE\"\n";
|
|
||||||
print DOC ".PP\n\n";
|
|
||||||
print DOC ".SH \"SEE ALSO\"\n\n";
|
|
||||||
print DOC ".SH \"AUTHOR\"\n";
|
|
||||||
print DOC ".PP\n";
|
|
||||||
print DOC "This manual page was edited by <yourname> <yourid\@minigui.org>.\n";
|
|
||||||
print DOC "If you have any problems, comments or found some bugs, please send messages to me.\n";
|
|
||||||
|
|
||||||
close FUNCHANDLE;
|
|
||||||
close DOC;
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
New \- MiniGUI-Lite version specified functions.
|
|
||||||
|
|
||||||
#include <minigui/minigui.h>
|
|
||||||
|
|
||||||
BOOL GUIAPI SetDesktopRect (int lx, int ty, int rx, int by);
|
|
||||||
void GUIAPI GetDesktopRect (int* lx, int* ty, int* rx, int* by);
|
|
||||||
BOOL GUIAPI ServerStartup (void);
|
|
||||||
BOOL GUIAPI SetClientScreen (int lx, int ty, int rx, int by);
|
|
||||||
BOOL GUIAPI OnlyMeCanDraw (void);
|
|
||||||
BOOL GUIAPI ClientCanDrawNowEx (BOOL bRepaint);
|
|
||||||
BOOL GUIAPI SetTopMostClient (int cli);
|
|
||||||
int GUIAPI GetClientByPID (int pid);
|
|
||||||
int cli_request (PREQUEST request, void* result, int len_rslt);
|
|
||||||
BOOL GUIAPI RegisterRequestHandler (int req_id, REQ_HANDLER your_handler);
|
|
||||||
REQ_HANDLER GUIAPI GetRequestHandler (int req_id);
|
|
||||||
int get_sock_fd2srv (void);
|
|
||||||
int sock_write (int fd, const void* buff, int count);
|
|
||||||
int sock_read (int fd, void* buff, int count);
|
|
||||||
BOOL GUIAPI Send2TopMostClient (int iMsg, WPARAM wParam, LPARAM lParam);
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one.
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.\" Modified 2000/11/30 by Wei Yongming.
|
|
||||||
|
|
||||||
.TH "minigui" "3" "August 2000" "MiniGUI"
|
|
||||||
|
|
||||||
.SH "NAME"
|
|
||||||
minigui \- Guide for manpages of MiniGUI version 1.x.
|
|
||||||
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.TP
|
|
||||||
.BR miniguiFunctions (3)
|
|
||||||
Function list of MiniGUI version 1.x. Gives the brief description for functions of MiniGUI.
|
|
||||||
.TP
|
|
||||||
.BR miniguiMessages (3)
|
|
||||||
Message list of MiniGUI version 1.x. Gives the brief description for messages of MiniGUI.
|
|
||||||
.TP
|
|
||||||
.BR miniguiStructures (3)
|
|
||||||
Structure list of MiniGUI version 1.x. Gives the brief description for structures of MiniGUI.
|
|
||||||
.TP
|
|
||||||
.BR miniguiControls (3)
|
|
||||||
Brief description of usage of MiniGUI built-in controls.
|
|
||||||
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by Wei Yongming <ymwei@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one.
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.\" Modified 2000/11/30 by Wei Yongming.
|
|
||||||
|
|
||||||
.TH "Accelerator" "3" "August 2000" "MiniGUI"
|
|
||||||
|
|
||||||
.SH "NAME"
|
|
||||||
Accelerator \- Accelerator support functions
|
|
||||||
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.B #include <minigui/window.h>
|
|
||||||
.br
|
|
||||||
|
|
||||||
.PP
|
|
||||||
.BI "HACCEL GUIAPI CopyAcceleratorTable" "(HACCEL hacc);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI DeleteAccelerators" "(HACCEL hacc, int key, DWORD keymask);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI AddAccelerators" "(HACCEL hacc,int key, DWORD keymask, WPARAM wParam, LPARAM lParam);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI DestroyAcceleratorTable" "(HACCEL hacc);"
|
|
||||||
.br
|
|
||||||
.BI "HACCEL GUIAPI CreateAcceleratorTable" "(HWND hWnd);"
|
|
||||||
.br
|
|
||||||
.BI "HACCEL GUIAPI LoadAccelerators" "(const char* filename, int id);"
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.PP
|
|
||||||
\fBCopyAcceleratorTable\fP function copies the specified accelerator table. This function is used to obtain the accelerator-table data that corresponds to an accelerator-table handle, or to determine the size of the accelerator-table data.
|
|
||||||
.PP
|
|
||||||
\fBDeleteAccelerators\fP function deletes an accelerator from the accelerator table.
|
|
||||||
.PP
|
|
||||||
\fBAddAccelerators\fP function adds an accelerator to the accelerator table. It's called after you call \fBCreateAcceleratorTable\fP function.
|
|
||||||
.PP
|
|
||||||
\fBDestroyAcceleratorTable\fP function destroys an accelerator table. Before closing a window, you must call this function to destroy each accelerator table that is created by using the \fBCreateAcceleratorTable\fP function.
|
|
||||||
.PP
|
|
||||||
\fBCreateAcceleratorTable\fP function creates an accelerator table.
|
|
||||||
.PP
|
|
||||||
\fBLoadAccelerators\fP function loads the specified accelerator table. This function has not been implemented.
|
|
||||||
.SH "RETURN VALUE"
|
|
||||||
.PP
|
|
||||||
|
|
||||||
.SH "NOTE"
|
|
||||||
.PP
|
|
||||||
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by Song Lixin <zjujoe@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one.
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.TH "AsyncKey" "3" "July 2000" "MiniGUI"
|
|
||||||
|
|
||||||
.SH "NAME"
|
|
||||||
AsyncKey \- Gets asynchronize key status in MiniGUI.
|
|
||||||
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.B #include <minigui/minigui.h>
|
|
||||||
.PP
|
|
||||||
.BI "BOOL GUIAPI GetKeyStatus" "(UINT uKey);"
|
|
||||||
.br
|
|
||||||
.BI "DWORD GUIAPI GetShiftKeyStatus" "(void);"
|
|
||||||
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.PP
|
|
||||||
\fBGetKeyStatus\fP gets a key or a mouse button status, return TRUE when pressed, or FALSE when released. \fBuKey\fP indicates the key or mouse button. For keys on keyboard, \fBuKey\fP should be the scancode of the key, for mouse button, \fBuKey\fP should be one value of the following:
|
|
||||||
.PP
|
|
||||||
.IP \fBSCANCODE_LEFTBUTTON\fP
|
|
||||||
Left mouse button.
|
|
||||||
.IP \fBSCANCODE_MIDDLBUTTON\fP
|
|
||||||
Middle mouse button.
|
|
||||||
.IP \fBSCANCODE_RIGHTBUTTON\fP
|
|
||||||
Right mouse button.
|
|
||||||
.PP
|
|
||||||
The above constants and the scancodes of keys are defined in \fB<minigui/common.h>\fP.
|
|
||||||
.PP
|
|
||||||
\fBGetShiftKeyStatus\fP gets status of shift keys, the returned value indicates the status of shift keys -- \fBCapsLock, ScrollLock, NumLock, Left Shift, Right Shift, Left Ctrl, Right Ctrl, Left Alt, and Right Alt\fP. You can use KS_* with OR operation to determine one shift key's status:
|
|
||||||
.PP
|
|
||||||
.IP \fBKS_CAPSLOCK\fP
|
|
||||||
Indicates that CapsLock is locked.
|
|
||||||
.IP \fBKS_NUMLOCK\fP
|
|
||||||
Indicates that NumLock is locked.
|
|
||||||
.IP \fBKS_SCROLLLOCK\fP
|
|
||||||
Indicates that ScrollLock is locked.
|
|
||||||
.IP \fBKS_LEFTCTRL\fP
|
|
||||||
Indicates that left Ctrl is pressed.
|
|
||||||
.IP \fBKS_RIGHTCTRL\fP
|
|
||||||
Indicates that right Ctrl is pressed.
|
|
||||||
.IP \fBKS_CTRL\fP
|
|
||||||
Indicates that one Ctrl is pressed.
|
|
||||||
.IP \fBKS_LEFTALT\fP
|
|
||||||
Indicates that left Alt is pressed.
|
|
||||||
.IP \fBKS_RIGHTALT\fP
|
|
||||||
Indicates that right Alt is pressed.
|
|
||||||
.IP \fBKS_ALT\fP
|
|
||||||
Indicates that one Alt is pressed.
|
|
||||||
.IP \fBKS_LEFTSHIFT\fP
|
|
||||||
Indicates that left Shift is pressed.
|
|
||||||
.IP \fBKS_RIGHTSHIFT\fP
|
|
||||||
Indicates that right Shift is pressed.
|
|
||||||
.IP \fBKS_SHIFT\fP
|
|
||||||
Indicates that one Shift is pressed.
|
|
||||||
.PP
|
|
||||||
The above constants are defined in \fB<minigui/common.h>\fP.
|
|
||||||
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.BR MSG_KEYDOWN (3),
|
|
||||||
.BR MSG_KEYUP (3),
|
|
||||||
.BR MSG_CHAR (3)
|
|
||||||
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one.
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.TH "Bitmap" "3" "August 2000" "MiniGUI"
|
|
||||||
|
|
||||||
.SH "NAME"
|
|
||||||
Bitmap \- bitmap operations in MiniGUI.
|
|
||||||
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.B #include <minigui/gdi.h>
|
|
||||||
.PP
|
|
||||||
.BI "int GUIAPI LoadBitmap" "(HDC hdc, PBITMAP pBitmap, const char* spFileName);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI CreateBitmapFromGIFFile" "(HDC hdc, PBITMAP pBitmap, const char* spFileName);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI CreateBitmapFromGIFMemory" "(HDC hdc, PBITMAP pBitmap, void* GIFBuff, int nSize);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI CreateBitmapFromJPGFile" "(HDC hdc, PBITMAP pBitmap, const char* spFileName);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI CreateBitmapFromJPGMemory" "(HDC hdc, PBITMAP pBitmap, void* JPGBuff, int nSize);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI UnloadBitmap" "(PBITMAP pBitmap);"
|
|
||||||
.PP
|
|
||||||
.BI "void GUIAPI ReplaceBitmapColor" "(HDC hdc, PBITMAP pBitmap, int iOColor, int iNColor);"
|
|
||||||
.PP
|
|
||||||
.BI "void GUIAPI FillBox" "(HDC hdc, int x, int y, int w, int h);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI FillBoxWithBitmap" "(HDC hdc, int x, int y, int w, int h, PBITMAP pBitmap);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI FillBoxWithBitmapPart" "(HDC hdc, int x, int y, int w, int h, int bw, int bh, PBITMAP pBitmap, int xo, int yo);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI BitBlt" "(HDC hsdc, int sx, int sy, int sw, int sh, HDC hddc, int dx, int dy, DWORD dwRop);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI StretchBlt" "(HDC hsdc, int sx, int sy, int sw, int sh, HDC hddc, int dx, int dy, int dw, int dh, DWORD dwRop);"
|
|
||||||
.br
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.PP
|
|
||||||
\fBLoadBitmap\fP function loads a bitmap from a bitmap file named \fBspFileName\fP into a BITMAP struct pointed to by \fBpBitmap\fP. This function will create a compiled bitmap compatible with the DC \fBhdc\fP. You can load BMP, PCX, TGA, GIF, JPG, PNG bitmap files by using this function. Note that you should specify correct extenstion name of the file.
|
|
||||||
.PP
|
|
||||||
\fBCreateBitmapFromGIFFile\fP function create a bitmap from a GIF image file named \fBspFileName\fP. This function will create a compiled bitmap compatible with the DC \fBhdc\fP. This function is the old interface to load GIF file, and reserved only for compatibility. New application should use \fBLoadBitmap\fP to load GIF file.
|
|
||||||
.PP
|
|
||||||
\fBCreateBitmapFromGIFMemory\fP function create a bitmap from a buffer filled with data from a GIF image file. \fBnSize\fP specifies the size of the buffer pointed to by \fBGIFBuf\fP. This function will create a compiled bitmap compatible with the DC \fBhdc\fP. This function is the old interface to load JPG file, and reserved only for compatibility. New application should use \fBLoadBitmap\fP to load JPG file.
|
|
||||||
.PP
|
|
||||||
\fBCreateBitmapFromJPGFile\fP function is similar with \fBCreateBitmapFromGIFFile\fP, but this function used to create bitmap from a JPG image file. This function is a obsoleted one, new application should use \fBLoadBitmap\fP instead.
|
|
||||||
.PP
|
|
||||||
\fBCreateBitmapFromJPGMemory\fP function is similar with \fBCreateBitmapFromGIFMemory\fP, but the buffer is filled with data from a JPG image file. This function is a obsoleted one, new application should use \fBLoadBitmap\fP instead.
|
|
||||||
.PP
|
|
||||||
\fBUnloadBitmap\fP function frees the memory used by the bitmap object pointed to by \fBpBitmap\fP.
|
|
||||||
.PP
|
|
||||||
\fBReplaceBitmapColor\fP function replaces a color \fB(nOColor)\fP with a new color \fB(nNColor)\fP in the bitmap object pointed to by \fBpBitmap\fP.
|
|
||||||
.PP
|
|
||||||
\fBFillBox\fP function fills a box with the current brush in the DC \fBhdc\fP. Note that MiniGUI only defined the color property for the brush objects.
|
|
||||||
.PP
|
|
||||||
\fBFillBoxWithBitmap\fP function fills a box with a bitmap object pointed to by \fBpBitmap\fP. \fB(x, y)\fP is the upper-left corner of the box, and \fBw, h\fP are the width and the height of the box respectively. This function will scale the bitmap when necessary; that is, the width or the height of the box are not equal to the with or the height of the bitmap object.
|
|
||||||
.PP
|
|
||||||
\fBFillBoxWithBitmapPart\fP function fills a box with a part of a bitmap oject pointed to by \fBpBitmap\fP. \fB(x, y)\fP is the upper-left corner of the box, and \fBw, h\fP are the width and the height of the box respectively. \fB(xo, yo)\fP is the start position of the part box in the bitmap relative to upper-left corner of the bitmap, and \fBbw, bh\fP are the width and the height of the full bitmap you want. If \fBbw\fP or \fBbh\fP is less than or equal to zero, this function will use the original width and height of the bitmap, else it will scale the bitmap first when necessary.
|
|
||||||
.PP
|
|
||||||
\fBBitBlt\fP function performs a bit-block transfer of the color data cooresponding to a rectangle of pixels from the specfied source dispaly context \fBhsdc\fP into a destination display context \fBhddc\fP. \fB(sx, sy, sw, sh)\fP specifies the rectangle in the source DC, and \fB(dx, dy)\fP specifies the position of the rectangle in the destination DC. Note that the size of the two rectangles are identical.
|
|
||||||
.PP
|
|
||||||
\fBStretchBlt\fP function copies a bitmap from a source rectangle into a destination rectangle, streching or compressing the bitmap to fit the dimension of the destination rectangle, if necessary. This function is similar with \fBBitBlt\fP function except the former scaling the bitmap. \fB(dw, dh)\fP specifies the size of the destination rectangle.
|
|
||||||
|
|
||||||
.SH "RETURN VALUE"
|
|
||||||
.PP
|
|
||||||
For the functions creating bitmap objects, they will return non-zero values to indicate errors.
|
|
||||||
|
|
||||||
.SH "NOTE"
|
|
||||||
.PP
|
|
||||||
\fBLoadBitmap\fP function only supports bitmap files with less than 256 colors, and without RLE encoding. The GIF and JPG functions only support some formats, and the GIF functions can not support the GIF animation.
|
|
||||||
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.BR SetBrushColor (3)
|
|
||||||
|
|
||||||
.SH "TODO"
|
|
||||||
.PP
|
|
||||||
A \fBMaskBlt\fP function which combines the color data for the source and destination bitmaps using the specified mask is needed.
|
|
||||||
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
|
|
||||||
@@ -1,83 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one.
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.TH "CaretHandler" "3" "August 2000" "MiniGUI"
|
|
||||||
|
|
||||||
.SH "NAME"
|
|
||||||
CaretHandler \- Caret support in MiniGUI.
|
|
||||||
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.B #include <minigui/window.h>
|
|
||||||
|
|
||||||
.PP
|
|
||||||
.BI "BOOL GUIAPI CreateCaret" "(HWND hWnd, PBITMAP pBitmap, int nWidth, int nHeight);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI ChangeCaretSize" "(HWND hWnd, int newWidth, int newHeight);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI ActiveCaret" "(HWND hWnd);"
|
|
||||||
.br
|
|
||||||
.BI "UINT GUIAPI GetCaretBlinkTime" "(HWND hWnd);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI SetCaretBlinkTime" "(HWND hWnd, UINT uTime);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI DestroyCaret" "(HWND hWnd);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI HideCaret" "(HWND hWnd);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI ShowCaret" "(HWND hWnd);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI SetCaretPos" "(HWND hWnd, int x, int y);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI GetCaretPos" "(HWND hWnd, PPOINT pPt);"
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.PP
|
|
||||||
\fBCreateCaret\fP function creates a new shape for the system caret and assigns ownership of the caret to the specified window. The caret shape can be a line, a block, or a bitmap.
|
|
||||||
.PP
|
|
||||||
\fBChangeCaretSize\fP function changes the size(width and height) of the caret owned by the specified window.
|
|
||||||
.PP
|
|
||||||
\fBActiveCaret\fP function activates the caret owned by specified window.
|
|
||||||
.PP
|
|
||||||
\fBGetCaretBlinkTime\fP function returns the elapsed time, in milliseconds, required to invert the caret's pixels.
|
|
||||||
.PP
|
|
||||||
\fBSetCaretBlinkTime\fP function sets the caret blink time to the specified number of milliseconds. The blink time is the elapsed time, in milliseconds, required to invert the caret's pixels.
|
|
||||||
.PP
|
|
||||||
\fBDestroyCaret\fP function destroys the caret's current shape, frees the caret from the window, and removes the caret from the screen.
|
|
||||||
.PP
|
|
||||||
\fBHideCaret\fP function removes the caret from the screen. Hiding a caret does not destroy its current shape or invalidate the insertion point.
|
|
||||||
.PP
|
|
||||||
\fBShowCaret\fP function makes the caret visible on the screen at the caret's current position. When the caret becomes visible, it begins flashing automatically.
|
|
||||||
.PP
|
|
||||||
\fBSetCaretPos\fP function moves the caret to the specified coordinates.
|
|
||||||
.PP
|
|
||||||
\fBGetCaretPos\fP function copies the caret's position, in client coordinates, to the specified \fBPOINT\fP structure
|
|
||||||
.SH "RETURN VALUE"
|
|
||||||
.PP
|
|
||||||
|
|
||||||
.SH "NOTE"
|
|
||||||
.PP
|
|
||||||
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by Song Lixin <zjujoe@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.TH "ClipRectHeap" "3" "August 2000" "MiniGUI"
|
|
||||||
|
|
||||||
.SH "NAME"
|
|
||||||
ClipRectHeap \- Management of private clip rect heap.
|
|
||||||
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.B #include <minigui/gdi.h>
|
|
||||||
.PP
|
|
||||||
.BI "BOOL GUIAPI InitFreeClipRectList" "(PFREECLIPRECTLIST pList, size_t size);"
|
|
||||||
.br
|
|
||||||
.BI "PCLIPRECT GUIAPI ClipRectAlloc" "(PFREECLIPRECTLIST pList);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI FreeClipRect" "(PFREECLIPRECTLIST pList, CLIPRECT* pRect);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI EmptyFreeClipRectList" "(PFREECLIPRECTLIST pList);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI DestroyFreeClipRectList" "(PFREECLIPRECTLIST pList);"
|
|
||||||
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.PP MiniGUI uses internal rect heap to allocate and free clip rect for region efficiently. When define a region, which was composed with many clip rects, you must specify a free clip rect list as the heap of the region to allocate and free clip rects. The functions describing here can help you initialize a clip rect heap, and allocate and free clip rect from it.
|
|
||||||
.PP
|
|
||||||
\fBInitFreeClipRectList\fP function allocates memory from system heap for free clip rect list, and initializes the list specified by \fBpList\fP. The number of clip rects in the list is \fBsize\fP.
|
|
||||||
.PP
|
|
||||||
Clip rect and free clip rect list in MiniGUI are defined as follows:
|
|
||||||
.sp
|
|
||||||
.nf
|
|
||||||
typedef struct tagCLIPRECT
|
|
||||||
{
|
|
||||||
.in +8
|
|
||||||
RECT rc;
|
|
||||||
BOOL fromheap;
|
|
||||||
struct tagCLIPRECT* next;
|
|
||||||
.in -8
|
|
||||||
}CLIPRECT;
|
|
||||||
typedef CLIPRECT* PCLIPRECT;
|
|
||||||
|
|
||||||
typedef struct tagFREECLIPRECTLIST
|
|
||||||
{
|
|
||||||
.in +8
|
|
||||||
pthread_mutex_t lock;
|
|
||||||
PCLIPRECT head;
|
|
||||||
PCLIPRECT tail;
|
|
||||||
int size;
|
|
||||||
PCLIPRECT heap;
|
|
||||||
int free;
|
|
||||||
.in -8
|
|
||||||
}FREECLIPRECTLIST;
|
|
||||||
typedef FREECLIPRECTLIST* PFREECLIPRECTLIST;
|
|
||||||
.fi
|
|
||||||
.PP
|
|
||||||
\fBClipRectAlloc\fP function allocates a clip rect from the initialized list \fBpList\fP. If there is no left item in the heap, it will try to allocate the clip rect from system heap. This function returns a pointer to the allocated clip rect, \fBNULL\fP when an error occurred.
|
|
||||||
.PP
|
|
||||||
\fBFreeClipRect\fP function frees the clip rect \fBpRect\fP allocated by \fBClipRectAlloc\fP.
|
|
||||||
.PP
|
|
||||||
\fBEmptyFreeClipRectList\fP function resets the heap used by \fBpList\fP. If there is any clip rect allocated from the system heap, this function will free it using \fBfree\fP.
|
|
||||||
.PP
|
|
||||||
\fBDestroyFreeClipRectList\fP function destroys the free clip list \fBpList\fP by empting the list and freeing the heap.
|
|
||||||
.SH "NOTE"
|
|
||||||
.PP
|
|
||||||
Although you can use these function to allocate and free clip rect, you should avoid using this function directly. Functions of region will use these function to manipulate the clip rect.
|
|
||||||
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.BR InitClipRgn (3)
|
|
||||||
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one.
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.TH "Controls" "3" "Nov. 2000" "MiniGUI"
|
|
||||||
|
|
||||||
.SH "NAME"
|
|
||||||
Controls \- Brief discription of usage of built-in controls.
|
|
||||||
|
|
||||||
.PP
|
|
||||||
This page is under construction.
|
|
||||||
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by Wei Yongming <ymwei@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one.
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.TH "CreateDestroyWindow" "3" "August 2000" "MiniGUI"
|
|
||||||
|
|
||||||
.SH "NAME"
|
|
||||||
CreateDestroyWindow \- Create and Destroy Window
|
|
||||||
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.B #include <minigui/window.h>
|
|
||||||
.br
|
|
||||||
|
|
||||||
.PP
|
|
||||||
.BI "HWND GUIAPI CreateWindow" "(const char* spClassName, const char* spCaption, DWORD dwStyle, int id, int x, int y, int w, int h, HWND hParentWnd, DWORD dwAddData);"
|
|
||||||
.br
|
|
||||||
.BI "HWND GUIAPI CreateWindowEx" "(const char* spClassName, const char* spCaption, DWORD dwStyle, DWORD dwExStyle, int id, int x, int y, int w, int h, HWND hParentWnd, DWORD dwAddData);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI DestroyWindow" "(HWND hWnd);"
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.PP
|
|
||||||
\fBCreateWindow\fP function creates a child window. It specifies the window class, window title, window style, and the initial position and size of the window. The function also specifies the window's parent or owner, if any.
|
|
||||||
.PP
|
|
||||||
\fBCreateWindowEx\fP function creates a child window with extended styles. It specifies the window class, window title, window style, windows extended styles, and the initial position and size of the window. The function also specifies the window's parent or owner, if any.
|
|
||||||
.PP
|
|
||||||
\fBDestroyWindow\fP function destroys the specified window. The function sends \fBWM_DESTROY\fP and \fBWM_NCDESTROY\fP messages to the window to deactivate it and remove the keyboard focus from it.
|
|
||||||
.SH "RETURN VALUE"
|
|
||||||
.PP
|
|
||||||
|
|
||||||
.SH "NOTE"
|
|
||||||
.PP
|
|
||||||
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by Song Lixin <zjujoe@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
@@ -1,113 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.TH "Cursor" "3" "July 2000" "MiniGUI"
|
|
||||||
.SH NAME
|
|
||||||
Cursor \- the functions handling cursor in MiniGUI
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B #include <minigui/minigui.h>
|
|
||||||
.PP
|
|
||||||
.BI "HCURSOR GUIAPI LoadCursorFromFile" "(const char* filename);"
|
|
||||||
.br
|
|
||||||
.BI "HCURSOR GUIAPI CreateCursor" "(int xhotspot, int yhotspot, int w, int h, const BYTE* pANDBits, const BYTE* pXORBits, int colornum);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI DestroyCursor" "(HCURSOR hcsr);"
|
|
||||||
.br
|
|
||||||
.BI "HCURSOR GUIAPI GetSystemCursor" "(int csrid);"
|
|
||||||
.br
|
|
||||||
.BI "HCURSOR GUIAPI GetCurrentCursor" "(void);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI ClipCursor" "(const RECT* prc);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI GetClipCursor" "(RECT* prc);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI GetCursorPos" "(POINT* ppt);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI SetCursorPos" "(int x, int y);"
|
|
||||||
.br
|
|
||||||
.BI "HCURSOR GUIAPI SetCursor" "(HCURSOR hcsr);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI ShowCursor" "(BOOL fShow);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI RefreshCursor" "(int* x, int* y, int* button);"
|
|
||||||
.br
|
|
||||||
.SH DESCRIPTION
|
|
||||||
.PP
|
|
||||||
\fBLoadCursorFromFile\fP function loads a cursor from Windows *.cur file named \fBfilename\fP and returns the handle of loaded cursor. The returned handle can be used by \fBSetCursor\fP to set new mouse cursor.
|
|
||||||
.PP
|
|
||||||
\fBCreateCursor\fP function creates a cursor from memory data rather than cursor file. \fBxhotspot\fP and \fByhotspot\fP specify hotpot of the cursor, \fBw\fP and \fBh\fP are the width and the height of the cursor respectively. \fBfANDBits\fP and \fBfXORBits\fP are AND bitmask and XOR bitmask of the cursor. MiniGUI currently support mono-color cursor and 16-color cursor, \fBcolornum\fP specifies the cursor's color number. For mono-color, it should be 1, and for 16-color cursor, it should be 4.
|
|
||||||
.PP
|
|
||||||
\fBDestroyCursor\fP function destroys a cursor object specified by \fBhcsr\fP.
|
|
||||||
.PP
|
|
||||||
\fBGetSystemCursor\fP function gets a system default cursor object. When startup, MiniGUI loads system cursors according to MiniGUI.cfg file. There are 14 system cursors by default, and can be refered with the following IDs:
|
|
||||||
.SH Cursor IDs
|
|
||||||
.IP \fBIDC_ARROW\fR
|
|
||||||
Normal arrow cursor
|
|
||||||
.IP \fBIDC_IBEAM\fR
|
|
||||||
I-shape cursor, indicate an input field
|
|
||||||
.IP \fBIDC_PENCIL\fR
|
|
||||||
Pencil-shape cursor
|
|
||||||
.IP \fBIDC_CROSS\fR
|
|
||||||
Cross cursor
|
|
||||||
.IP \fBIDC_MOVE\fR
|
|
||||||
Moving cursor
|
|
||||||
.IP \fBIDC_SIZENWSE\fR
|
|
||||||
Sizing cursor, along north-west and south-east
|
|
||||||
.IP \fBIDC_SIZENESW\fR
|
|
||||||
Sizing cursor, along north-east and south-west
|
|
||||||
.IP \fBIDC_SIZEWE\fR
|
|
||||||
Sizing cursor, along west and east
|
|
||||||
.IP \fBIDC_SIZENS\fR
|
|
||||||
Sizing cursor, along north and south
|
|
||||||
.IP \fBIDC_UPARROW\fR
|
|
||||||
Up arrow cursor
|
|
||||||
.IP \fBIDC_NONE\fR
|
|
||||||
None cursor
|
|
||||||
.IP \fBIDC_HELP\fR
|
|
||||||
Arrow with question
|
|
||||||
.IP \fBIDC_BUSY\fR
|
|
||||||
Busy cursor
|
|
||||||
.IP \fBIDC_WAIT\fR
|
|
||||||
Wait cursor
|
|
||||||
.PP
|
|
||||||
Returned cursor handle can be used by \fBSetCursor\fP to set new mouse cursor. Note that you should not destroy any system cursor.
|
|
||||||
.PP
|
|
||||||
\fBGetCurrentCursor\fP function gets the handle of current cursor.
|
|
||||||
.PP
|
|
||||||
\fBClipCursor\fP function sets cursor's clipping rectangle. \fBprc\fP is the new clipping rectangle in screen coordinates. If \fBprc\fP is NULL, \fBClipCursor\fP will disable cursor clipping.
|
|
||||||
.PP
|
|
||||||
\fBGetClipCursor\fP function copies current clipping rectangle to a RECT pointed to by \fBprc\fP.
|
|
||||||
.PP
|
|
||||||
\fBGetCursorPos\fP function copies current mouse postion to a POINT pointed to by \fBppt\fP.
|
|
||||||
.PP
|
|
||||||
\fBSetCursorPos\fP function sets mouse position with given parameter \fBx,y\fP.
|
|
||||||
.PP
|
|
||||||
\fBSetCursor\fP function sets cursor to given cursor handle. \fBhcsr\fP can be a handle returned by \fBLoadCursor\fP, \fBCreateCursor\fP, and \fBGetSystemCursor\fP. This function will return the previous cursor handle.
|
|
||||||
.PP
|
|
||||||
\fBShowCursor\fP function shows or hides cursor according to parameter \fBfShow\fP. Show cursor when \fBfShow\fP is TRUE, and hide cursor when \fBfShow\fP is FALSE.
|
|
||||||
.PP
|
|
||||||
\fBRefreshCursor\fP function updates cursor position and status, and return new position in \fBx, y\fP, new buttion status in \fBbutton\fP. The returned value indicates whether mouse has moved, \fBTRUE\fP for moved.
|
|
||||||
.SH AUTHOR
|
|
||||||
.PP
|
|
||||||
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one.
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.TH "DC" "3" "August 2000" "MiniGUI"
|
|
||||||
|
|
||||||
.SH "NAME"
|
|
||||||
DC \- get and release display context.
|
|
||||||
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.B #include <minigui/gdi.h>
|
|
||||||
.PP
|
|
||||||
.BI "HDC GUIAPI GetDC" "(HWND hwnd);"
|
|
||||||
.br
|
|
||||||
.BI "HDC GUIAPI GetClientDC" "(HWND hwnd);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI ReleaseDC" "(HDC hdc);"
|
|
||||||
.PP
|
|
||||||
.BI "HDC GUIAPI CreateCompatibleDC" "(HDC hdc);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI DeleteCompatibleDC" "(HDC hdc);"
|
|
||||||
.PP
|
|
||||||
.BI "HDC GUIAPI CreatePrivateDC" "(HWND hwnd);"
|
|
||||||
.br
|
|
||||||
.BI "HDC GUIAPI CreatePrivateClientDC" "(HWND hwnd);"
|
|
||||||
.br
|
|
||||||
.BI "HDC GUIAPI GetPrivateClientDC" "(HWND hwnd);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI DeletePrivateDC" "(HDC hdc);"
|
|
||||||
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.PP
|
|
||||||
\fBGetDC\fP function gets a window DC of the specified \fBhwnd\fP, and returns the handle of the DC.
|
|
||||||
.PP
|
|
||||||
\fBGetClientDC\fP function gets a client DC of the specified \fBhwnd\fP, and returns the handle of the DC.
|
|
||||||
.PP
|
|
||||||
\fBReleaseDC\fP function releases the DC returned by \fBGetDC\fP or \fBGetClientDC\fP.
|
|
||||||
.PP
|
|
||||||
\fBCreateCompatibleDC\fP function creates a DC which is compatible with specified \fBhdc\fP, and returns the handle of the DC.
|
|
||||||
.PP
|
|
||||||
\fBDeleteCompatibleDC\fP function deletes the DC created by \fBCreateCompatibleDC\fP.
|
|
||||||
.PP
|
|
||||||
\fBCreatePrivateDC\fP function creates a private window DC of the window \fBhwnd\fP and returns the handle of the DC. This DC is created in system heap, rather than allocated from DC pool.
|
|
||||||
.PP
|
|
||||||
\fBCreatePrivateClientDC\fP function creates a private client DC of the window \fBhwnd\fP and returns the handle of the DC. This DC is created in system heap, rather than allocated from DC pool.
|
|
||||||
.PP
|
|
||||||
\fBGetPrivateClientDC\fP function returns the private client DC of the window \fBhwnd\fP with style WS_EX_USEPRIVATECDC.
|
|
||||||
.PP
|
|
||||||
\fBDeletePrivateDC\fP function deletes the DC returned by \fBCreatePrivateDC\fP or \fBCreatePrivateClientDC\fP.
|
|
||||||
|
|
||||||
.SH "RETURN VALUE"
|
|
||||||
.PP
|
|
||||||
For the \fBCreate...\fP or \fBGet...\fP functions, the functions will return the handle of the DC. The functions will return HDC_INVALID when an error occurred.
|
|
||||||
|
|
||||||
.SH "NOTE"
|
|
||||||
.PP
|
|
||||||
MiniGUI uses \fBCreatePrivateDC\fP and \fBCreatePrivateClientDC\fP to create private DC for the window with style WS_EX_USEPRIVATECDC. You can create a private DC to avoid invorking \fBGetDC\fP or \fBGetClientDC\fP to get DC when you receive a MSG_CREATE message. Note that you should call \fBDeletePrivateDC\fP to delete the private DC.
|
|
||||||
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.BR BeginPaint (3),
|
|
||||||
.BR EndPaint (3)
|
|
||||||
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one.
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.TH "DCAttr" "3" "August 2000" "MiniGUI"
|
|
||||||
|
|
||||||
.SH "NAME"
|
|
||||||
DCAttr \- get/set the general attributes of DC.
|
|
||||||
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.B #include <minigui/gdi.h>
|
|
||||||
.br
|
|
||||||
|
|
||||||
.PP
|
|
||||||
.BI "int GUIAPI GetGDCapability" "(HDC hdc, int iItem);"
|
|
||||||
.PP
|
|
||||||
.BI "int GUIAPI SetBkMode" "(HDC hdc, int bkmode);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI GetBkMode" "(HDC hdc);"
|
|
||||||
.PP
|
|
||||||
.BI "gal_pixel GUIAPI GetBkColor" "(HDC hdc);"
|
|
||||||
.br
|
|
||||||
.BI "gal_pixel GUIAPI SetBkColor" "(HDC hdc, gal_pixel color);"
|
|
||||||
.PP
|
|
||||||
.BI "gal_pixel GUIAPI GetTextColor" "(HDC hdc);"
|
|
||||||
.br
|
|
||||||
.BI "gal_pixel GUIAPI SetTextColor" "(HDC hdc, gal_pixel color);"
|
|
||||||
.PP
|
|
||||||
.BI "int GUIAPI GetTabStop" "(HDC hdc);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI SetTabStop" "(HDC hdc, int new_value);"
|
|
||||||
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.PP
|
|
||||||
\fBGetGDCapability\fP function returns a capability specified by \fBiItem\fP of the DC \fBhdc\fP. \fBiItem\fP can be one of the following values:
|
|
||||||
.PP
|
|
||||||
.IP \fBGDCAP_COLORNUM\fP
|
|
||||||
Tell \fBGetDCCapability\fP to return the colors number of the DC.
|
|
||||||
.IP \fBGDCAP_HPIXEL\fP
|
|
||||||
Tell \fBGetDCCapability\fP to return the horizontal resolution of the DC.
|
|
||||||
.IP \fBGDCAP_VPIXEL\fP
|
|
||||||
Tell \fBGetDCCapability\fP to return the vertical resolution of the DC.
|
|
||||||
.IP \fBGDCAP_MAXX\fP
|
|
||||||
Tell \fBGetDCCapability\fP to return the maximal visible x value of the DC.
|
|
||||||
.IP \fBGDCAP_MAXY\fP
|
|
||||||
Tell \fBGetDCCapability\fP to return the maximal visible y value of the DC.
|
|
||||||
.IP \fBGDCAP_DEPTH\fP
|
|
||||||
Tell \fBGetDCCapability\fP to return the color depth of the DC. The returned value can be 1, 4, 8, 15, 16, 24, or 32.
|
|
||||||
.IP \fBGDCAP_BPP\fP
|
|
||||||
Tell \fBGetDCCapability\fP to return the bytes number for storing a pixle in the DC.
|
|
||||||
.PP
|
|
||||||
\fBGetBkColor\fP function gets the background color of the DC.
|
|
||||||
.PP
|
|
||||||
\fBSetBkColor\fP function sets the background color of the DC to the color specified by \fBcolor\fP.
|
|
||||||
.PP
|
|
||||||
\fBGetBkMode\fP function gets the background mode of the DC.
|
|
||||||
.PP
|
|
||||||
\fBSetBkMode\fP function sets the background mode of the DC. Background modes in MiniGUI are:
|
|
||||||
.PP
|
|
||||||
.IP \fBBM_TRANSPARENT\fP
|
|
||||||
Indicate that reserve the background untouched when draw text.
|
|
||||||
.IP \fBBM_OPAQUE\fP
|
|
||||||
Indicate that erase the background with background color when draw text.
|
|
||||||
.PP
|
|
||||||
\fBGetTextColor\fP function gets the text color of the DC.
|
|
||||||
.PP
|
|
||||||
\fBSetTextColor\fP function sets the text color to the color specified by \fBcolor\fP.
|
|
||||||
.PP
|
|
||||||
\fBGetTabStop\fP function gets the tab stops of the DC.
|
|
||||||
.PP
|
|
||||||
\fBSetTabStop\fP function sets the tab stops of the DC to the new value specified by \fBnew_value\fP.
|
|
||||||
|
|
||||||
.SH "RETURN VALUE"
|
|
||||||
.PP
|
|
||||||
The \fBGet...\fP functions return the value wanted. The \fBSet...\fP functions return the old value.
|
|
||||||
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.BR RGB2Pixel (3),
|
|
||||||
.BR TextOut (3),
|
|
||||||
.BR TabbedTextOutLen (3),
|
|
||||||
.BR TabbedTextOutEx (3),
|
|
||||||
.BR DrawText (3)
|
|
||||||
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one.
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.TH "DCClipping" "3" "August 2000" "MiniGUI"
|
|
||||||
|
|
||||||
.SH "NAME"
|
|
||||||
DCClipping \- Clipping support in MiniGUI.
|
|
||||||
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.B #include <minigui/gdi.h>
|
|
||||||
.br
|
|
||||||
|
|
||||||
.PP
|
|
||||||
.BI "void GUIAPI ExcludeClipRect" "(HDC hdc, int left, int top, int right, int bottom);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI IncludeClipRect" "(HDC hdc, int left, int top, int right, int bottom);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI ClipRectIntersect" "(HDC hdc, const RECT* prc);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI SelectClipRect" "(HDC hdc, const RECT* prc);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI SelectClipRegion" "(HDC hdc, const CLIPRGN* pRgn);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI GetBoundsRect" "(HDC hdc, RECT* pRect);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI PtVisible" "(HDC hdc, const POINT* pPt);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI RectVisible" "(HDC hdc, const RECT* pRect);"
|
|
||||||
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.PP
|
|
||||||
\fBExcludeClipRect\fP function excludes the specified rect \fB(left, top, right, bottom)\fP from the local clipping region of the DC.
|
|
||||||
.PP
|
|
||||||
\fBIncludeClipRect\fP function includes the specified rect \fB(left, top, right, bottom)\fP into the local clipping region of the DC.
|
|
||||||
.PP
|
|
||||||
\fBClipRectIntersect\fP function intersects the specified rect \fBprc\fP with the local clipping region of the DC.
|
|
||||||
.PP
|
|
||||||
\fBSelectClipRect\fP function sets the local clipping region of the DC to the rect pointed to by \fBprc\fP.
|
|
||||||
.PP
|
|
||||||
\fBSelectClipRegion\fP function sets the local clipping region of the DC to the region pointed to by \fBpRgn\fP.
|
|
||||||
.PP
|
|
||||||
\fBGetBoundsRect\fP function retrives the bounding rect of the current local clipping region of the DC. The struct pointed to by \fBpRect\fP will receive the bounding rect.
|
|
||||||
.PP
|
|
||||||
\fBPtVisible\fP function checks whether the point specified by \fBpPt\fP is visible, i.e. it is within the current local clipping region of the DC.
|
|
||||||
.PP
|
|
||||||
\fBRectVisible\fP function checks whether the rect specified by \fBpRect\fP is visible, i.e. it is intersected with the current local clipping region of the DC.
|
|
||||||
|
|
||||||
.SH "RETURN VALUE"
|
|
||||||
.PP
|
|
||||||
\fBPtVisible\fP and \fBRectVisible\fP functions return \fBTRUE\fP when the point or rect is visible, else return \fBFALSE\fP.
|
|
||||||
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.BR ClipRgnIntersect (3),
|
|
||||||
.BR SetClipRgn (3)
|
|
||||||
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
@@ -1,118 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.TH "DTI" "3" "July 2000" "MiniGUI"
|
|
||||||
.SH "NAME"
|
|
||||||
DTI \- the desktop interfaces of MiniGUI
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.B #include <minigui/minigui.h>
|
|
||||||
.PP
|
|
||||||
.BI "void GUIAPI CustomizeDesktopMenu" "(HMENU hDesktopMenu, int iPos);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI CustomDesktopCommand" "(int id);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI OpenAboutDialog" "(void);"
|
|
||||||
.br
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.PP
|
|
||||||
\fBCustomizeDesktopMenu\fP function will be called automatically by MiniGUI when you click right button on MiniGUI's desktop.
|
|
||||||
.PP
|
|
||||||
\fBCustomDesktopCommand\fP function will be called automatically by MiniGUI when you choose command on MiniGUI's desktop menu.
|
|
||||||
.PP
|
|
||||||
\fBOpenAboutDialog\fP function tells desktop to open an \fBAbout MiniGUI...\fP dialog.
|
|
||||||
.SH "NOTES"
|
|
||||||
You should implemented \fBCustomizeDesktopMenu, CustumDesktopCommand\fP functions by yourself.
|
|
||||||
However, there is a \fBdti.c\fP file, which defines above functions as default actions. You can use these functions in your own \fBdti.c\fP by including this file in your \fBdti.c\fP file, as follows:
|
|
||||||
.PP
|
|
||||||
.nf
|
|
||||||
#include <minigui/dti.c>
|
|
||||||
.fi
|
|
||||||
.PP
|
|
||||||
Or you can use macros to disable the default functions and define your own instances:
|
|
||||||
.PP
|
|
||||||
.nf
|
|
||||||
// Use macro to disable system defined
|
|
||||||
// CustomizeDesktopMenu and CustomDesktopCommand functions
|
|
||||||
|
|
||||||
#define DONT_USE_SYS_CUSTOMIZEDESKTOPMENU
|
|
||||||
#include <minigui/dti.c>
|
|
||||||
|
|
||||||
// Define your own instance here.
|
|
||||||
void CustomizeDesktopMenu (HMENU hmnu, int iPos)
|
|
||||||
{
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
int CustomDesktopCommand (int id)
|
|
||||||
{
|
|
||||||
...
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
.fi
|
|
||||||
|
|
||||||
.SH "SAMPLE"
|
|
||||||
This sample uses \fBCustomizeDesktopMenu\fP function to append a menu item at the desktop menu, and then uses \fBCustomDesktopCommand\fP to response the select of the appended menu item and open a Virtual Console window:
|
|
||||||
.PP
|
|
||||||
.nf
|
|
||||||
#define DONT_USE_SYS_CUSTOMIZEDESKTOPMENU
|
|
||||||
#include <minigui/dti.c>
|
|
||||||
|
|
||||||
#define IDC_DTI_ABOUT (IDM_DTI_FIRST + 1)
|
|
||||||
#define IDC_DTI_NEWVC (IDM_DTI_FIRST + 2)
|
|
||||||
|
|
||||||
void CustomizeDesktopMenu (HMENU hmnu, int iPos)
|
|
||||||
{
|
|
||||||
MENUITEMINFO mii;
|
|
||||||
|
|
||||||
memset (&mii, 0, sizeof(MENUITEMINFO));
|
|
||||||
mii.type = MFT_STRING;
|
|
||||||
mii.id = IDC_DTI_ABOUT;
|
|
||||||
mii.typedata = (DWORD)"About MiniGUI...";
|
|
||||||
mii.hsubmenu = 0;
|
|
||||||
InsertMenuItem (hmnu, iPos, TRUE, &mii);
|
|
||||||
|
|
||||||
mii.type = MFT_STRING;
|
|
||||||
mii.id = IDC_DTI_NEWVC;
|
|
||||||
mii.typedata = (DWORD)"New Virtual Console";
|
|
||||||
mii.hsubmenu = 0;
|
|
||||||
InsertMenuItem (hmnu, iPos + 1, TRUE, &mii);
|
|
||||||
}
|
|
||||||
|
|
||||||
int CustomDesktopCommand (int id)
|
|
||||||
{
|
|
||||||
if (id == IDC_DTI_ABOUT)
|
|
||||||
OpenAboutDialog ();
|
|
||||||
else if (id == IDC_DTI_NEWVC)
|
|
||||||
NewVirtualConsole (NULL);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
.fi
|
|
||||||
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.BR miniguiInit "(3), " miniguiMain (3)
|
|
||||||
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
|
|
||||||
@@ -1,124 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one.
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.TH "DialogBox" "3" "August 2000" "MiniGUI"
|
|
||||||
|
|
||||||
.SH "NAME"
|
|
||||||
DialogBox \- DialogBox Support Functions.
|
|
||||||
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.B #include <minigui/window.h>
|
|
||||||
.br
|
|
||||||
|
|
||||||
.PP
|
|
||||||
.BI "HWND GUIAPI CreateMainWindowIndirect" "(PDLGTEMPLATE pDlgTemplate, HWND hOwner, WNDPROC WndProc);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI DestroyMainWindowIndirect" "(HWND hMainWin);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI DialogBoxIndirectParam" "(PDLGTEMPLATE pDlgTemplate, HWND hOwner, WNDPROC DlgProc, LPARAM lParam);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI EndDialog" "(HWND hDlg, int endCode);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI DestroyAllControls" "(HWND hDlg);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI DefaultDialogProc" "(HWND hWnd, int message, WPARAM wParam, LPARAM lParam);"
|
|
||||||
.br
|
|
||||||
.BI "HWND GUIAPI GetDlgDefPushButton" "(HWND hWnd);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI GetDlgCtrlID" "(HWND hwndCtl);"
|
|
||||||
.br
|
|
||||||
.BI "HWND GUIAPI GetDlgItem" "(HWND hDlg, int nIDDlgItem);"
|
|
||||||
.br
|
|
||||||
.BI "UINT GUIAPI GetDlgItemInt" "(HWND hDlg, int nIDDlgItem, BOOL *lpTranslated, BOOL bSigned);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI GetDlgItemText" "(HWND hDlg, int nIDDlgItem, char* lpString, int nMaxCount);"
|
|
||||||
.br
|
|
||||||
.BI "char* GUIAPI GetDlgItemText2" "(HWND hDlg, int id, int* lenPtr);"
|
|
||||||
.br
|
|
||||||
.BI "HWND GUIAPI GetNextDlgGroupItem" "(HWND hDlg, HWND hCtl, BOOL bPrevious);"
|
|
||||||
.br
|
|
||||||
.BI "HWND GUIAPI GetNextDlgTabItem" "(HWND hDlg, HWND hCtl, BOOL bPrevious);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI SendDlgItemMessage" "( HWND hDlg, int nIDDlgItem, int message, WPARAM wParam, LPARAM lParam);"
|
|
||||||
.br
|
|
||||||
.BI "BOOL GUIAPI SetDlgItemInt" "(HWND hDlg, int nIDDlgItem, UINT uValue, BOOL bSigned);"
|
|
||||||
.br
|
|
||||||
.BI " BOOL GUIAPI SetDlgItemText" "(HWND hDlg, int nIDDlgItem, const char* lpString);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI CheckDlgButton" "(HWND hDlg, int nIDDlgItem, int nCheck);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI CheckRadioButton" "(HWND hDlg, int idFirstButton, int idLastButton, int idCheckButton);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI IsDlgButtonChecked" "(HWND hDlg, int idButton);"
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.PP
|
|
||||||
\fBCreateMainWindowIndirect\fP function creates a dialog window specified by \fBpDlgTemplate\fP.
|
|
||||||
.PP
|
|
||||||
\fBDestroyMainWindowIndirect\fP function destroys the window created by \fBCreateMainWindowIndirect\fP.
|
|
||||||
.PP
|
|
||||||
\fBDialogBoxIndirectParam\fP function creates a modal dialog box from a dialog box template in memory. Before displaying the dialog box, the function passes an application-defined value to the dialog box procedure as the \fBlParam\fP parameter of the \fBWM_INITDIALOG\fP message. An application can use this value to initialize dialog box controls.
|
|
||||||
.PP
|
|
||||||
\fBEndDialog\fP function destroys a modal dialog box, causing the system to end any processing for the dialog box.
|
|
||||||
.PP
|
|
||||||
\fBDestroyAllControls\fP function destroys all the controls in the dialog box.
|
|
||||||
.PP
|
|
||||||
\fBDefaultDialogProc\fP function is the default dialog box message handler.
|
|
||||||
.PP
|
|
||||||
\fBGetDlgDefPushButton\fP function gets the default push button in the window specified by hWnd.
|
|
||||||
.PP
|
|
||||||
\fBGetDlgCtrlID\fP function returns the identifier of the specified control.
|
|
||||||
.PP
|
|
||||||
\fBGetDlgItem\fP function retrieves the handle of a control in the specified dialog box.
|
|
||||||
.PP
|
|
||||||
\fBGetDlgItemInt\fP function translates the text of a specified control in a dialog box into an integer value.
|
|
||||||
.PP
|
|
||||||
\fBGetDlgItemText\fP function retrieves the title or text associated with a control in a dialog box.
|
|
||||||
.PP
|
|
||||||
\fBGetDlgItemText2\fP function is similiar to \fBGetDlgItemText\fP function.But it allocates memory for the text.
|
|
||||||
.PP
|
|
||||||
\fBGetNextDlgGroupItem\fP function retrieves the handle of the first control in a group of controls that precedes (or follows) the specified control in a dialog box.
|
|
||||||
.PP
|
|
||||||
\fBGetNextDlgTabItem\fP function retrieves the handle of the first control that has the \fBWS_TABSTOP\fP style that precedes (or follows) the specified control.
|
|
||||||
.PP
|
|
||||||
\fBSendDlgItemMessage\fP function sends a message to the specified control in a dialog box.
|
|
||||||
.PP
|
|
||||||
\fBSetDlgItemInt\fP function sets the text of a control in a dialog box to the string representation of a specified integer value.
|
|
||||||
.PP
|
|
||||||
\fBSetDlgItemText\fP function sets the title or text of a control in a dialog box.
|
|
||||||
.PP
|
|
||||||
\fBCheckDlgButton\fP function changes the check status of a button control.
|
|
||||||
.PP
|
|
||||||
\fBCheckRadioButton\fP function adds a check mark to (checks) a specified radio button in a group and removes a check mark from (clears) all other radio buttons in the group.
|
|
||||||
.PP
|
|
||||||
\fBIsDlgButtonChecked\fP function determines whether a button control has a check mark next to it or whether a three-state button control is grayed, checked, or neither.
|
|
||||||
.SH "RETURN VALUE"
|
|
||||||
.PP
|
|
||||||
|
|
||||||
.SH "NOTE"
|
|
||||||
.PP
|
|
||||||
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by Song Lixin <zjujoe@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
@@ -1,141 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one.
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.TH "Drawing" "3" "August 2000" "MiniGUI"
|
|
||||||
|
|
||||||
.SH "NAME"
|
|
||||||
Drawing \- general drawing functions.
|
|
||||||
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.B #include <minigui/gdi.h>
|
|
||||||
.br
|
|
||||||
|
|
||||||
.PP
|
|
||||||
.BI "gal_pixel GUIAPI GetPixel" "(HDC hdc, int x, int y);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI SetPixel" "(HDC hdc, int x, int y, gal_pixel c);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI GetPixelRGB" "(HDC hdc, int x, int y, int* r, int* g, int* b);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI SetPixelRGB" "(HDC hdc, int x, int y, int r, int g, int b);"
|
|
||||||
.br
|
|
||||||
.BI "gal_pixel GUIAPI RGB2Pixel" "(HDC hdc, int r, int g, int b);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI MoveTo" "(HDC hdc, int x, int y);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI LineTo" "(HDC hdc, int x, int y);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI Circle" "(HDC hdc, int x, int y, int r);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI Rectangle" "(HDC hdc, int x0, int y0, int x1, int y1);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI FocusRect" "(HDC hdc, int x0, int y0, int x1, int y1);"
|
|
||||||
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.PP
|
|
||||||
\fBGetPixel\fP function gets pixel at the position \fB(x, y)\fP on the DC \fBhdc\fP.
|
|
||||||
.PP
|
|
||||||
\fBSetPixel\fP function sets pixel at the position \fB(x, y)\fP on the DC. You can use pre-defined standard pixel values:
|
|
||||||
.PP
|
|
||||||
.I PIXEL_black
|
|
||||||
black
|
|
||||||
.br
|
|
||||||
.I PIXEL_darkred
|
|
||||||
dark red
|
|
||||||
.br
|
|
||||||
.I PIXEL_darkgreen
|
|
||||||
dark green
|
|
||||||
.br
|
|
||||||
.I PIXEL_darkyellow
|
|
||||||
dark yellow
|
|
||||||
.br
|
|
||||||
.I PIXEL_darkblue
|
|
||||||
dark blue
|
|
||||||
.br
|
|
||||||
.I PIXEL_darkmagenta
|
|
||||||
dark magenta
|
|
||||||
.br
|
|
||||||
.I PIXEL_darkcyan
|
|
||||||
dark cyan
|
|
||||||
.br
|
|
||||||
.I PIXEL_lightgray
|
|
||||||
light gray
|
|
||||||
.br
|
|
||||||
.I PIXEL_darkgray
|
|
||||||
dark gray
|
|
||||||
.br
|
|
||||||
.I PIXEL_red
|
|
||||||
red
|
|
||||||
.br
|
|
||||||
.I PIXEL_green
|
|
||||||
green
|
|
||||||
.br
|
|
||||||
.I PIXEL_yellow
|
|
||||||
yellow
|
|
||||||
.br
|
|
||||||
.I PIXEL_blue
|
|
||||||
blue
|
|
||||||
.br
|
|
||||||
.I PIXEL_magenta
|
|
||||||
magenta
|
|
||||||
.br
|
|
||||||
.I PIXEL_cyan
|
|
||||||
cyan
|
|
||||||
.br
|
|
||||||
.I PIXEL_lightwhite
|
|
||||||
light white
|
|
||||||
.PP
|
|
||||||
\fBGetPixelRGB\fP function gets pixel's RGB values at the position \fB(x, y)\fP on the DC.
|
|
||||||
.PP
|
|
||||||
\fBSetPixelRGB\fP function sets pixle at the position \fB(x, y)\fP with RGB value on the DC.
|
|
||||||
.PP
|
|
||||||
\fBRGB2Pixel\fP function converts RGB value to pixel value. Note that the range of a RGB value is 0~0xFF.
|
|
||||||
.PP
|
|
||||||
\fBMoveTo\fP function moves the current position to \fB(x, y)\fP.
|
|
||||||
.PP
|
|
||||||
\fBLineTo\fP function draws a line from the current position to \fB(x, y)\fP with current pen color. You can use \fBMoveTo\fP tochange the current position.
|
|
||||||
.PP
|
|
||||||
\fBCircle\fP function draws a circle with current pen color. The center of the circle is at \fB(x, y)\fP, and the radius is \fBr\fP.
|
|
||||||
.PP
|
|
||||||
\fBRectangle\fP function draws a rectangle with current pen color. The upper-left corner of the rectangle is \fB(x0, y0)\fP, and the lower-right corner of the rectangle is \fB(x1, y1)\fP.
|
|
||||||
.PP
|
|
||||||
\fBFocusRect\fP function draws a focus rectanglt with current pen color. The upper-left corner of the rectangle is \fB(x0, y0)\fP, and the lower-right corner of the rectangle is \fB(x1, y1)\fP. Focus rectangle is composed with dashed lines.
|
|
||||||
.PP
|
|
||||||
All coordinates are in logical units.
|
|
||||||
|
|
||||||
.SH "RETURN VALUE"
|
|
||||||
.PP
|
|
||||||
The \fBGet...\fP functions return the value you want.
|
|
||||||
|
|
||||||
.SH "NOTE"
|
|
||||||
.PP
|
|
||||||
Internally, MiniGUI uses pixel value to present a point in DC. You can use \fBRGB2Pixel\fP to convert RGB value to pixel value. Note that the range of a RGB value is 0~0xFF in MiniGUI.
|
|
||||||
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.BR SetMapMode (3)
|
|
||||||
.BR SetPenColor (3)
|
|
||||||
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
|
|
||||||
@@ -1,83 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.TH "EtcFile" "3" "July 2000" "MiniGUI"
|
|
||||||
.SH "NAME"
|
|
||||||
EtcFile \- get/set values from/to MiniGUI configuration (etc) file.
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.B #include <minigui/minigui.h>
|
|
||||||
.PP
|
|
||||||
.BI "extern char ETCFILEPATH [];"
|
|
||||||
.PP
|
|
||||||
.BI "int GUIAPI GetValueFromEtcFile" "(const char* pEtcFile, const char* pSection, const char* pKey, char* pValue, int iLen);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI GetIntValueFromEtcFile" "(const char* pEtcFile, const char* pSection, const char* pKey, int* value);"
|
|
||||||
.br
|
|
||||||
.BI "int GUIAPI SetValueToEtcFile" "(const char* pEtcFile, const char* pSection, const char* pKey, char* pValue);"
|
|
||||||
.br
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.PP
|
|
||||||
In MiniGUI, you can get specific values from \fBetc\fP files using \fBGetValueFromEtcFile\fP and \fBGetIntValueFromEtcFile\fP. Etc files are text configuration files with same format as Windows INI files. A etc file has following simple format:
|
|
||||||
.PP
|
|
||||||
.nf
|
|
||||||
[section0]
|
|
||||||
key0=value0
|
|
||||||
key1=value1
|
|
||||||
|
|
||||||
[section1]
|
|
||||||
key0=value0
|
|
||||||
key1=value1
|
|
||||||
.fi
|
|
||||||
.PP
|
|
||||||
As you have seen, etc files are composed by \fBsections\fP. Every \fBvalue\fP in etc file is refrenced by \fBkey\fP. You should specify section name and key name to find a specific value.
|
|
||||||
.PP
|
|
||||||
\fBGetValueFromEtcFile\fP function gets a value (a string) with \fBpKey\fP key from \fBpSection\fP section in \fBpEtcFile\fP file, and store the value in buffer \fBpValue\fP with \fBiLen\fP length.
|
|
||||||
.PP
|
|
||||||
\fBGetIntValueFromEtcFile\fP function gets a integer with \fBpKey\fP key from \fBpSection\fP section in \fBpEtcFile\fP file, and store the value in the buffer \fBvalue\fP.
|
|
||||||
.PP
|
|
||||||
\fBSetValueToEtcFile\fP function sets the value of \fBpKey\fP key in \fBpSection\fP section in \fBpEtcFile\fP file as \fBpValue\fP. This function will create etc file, section or key when missing the specified file, section or key.
|
|
||||||
.PP
|
|
||||||
The two functions return zero if suceess, or else will return nonzero.
|
|
||||||
.SH "RETURN VALUE"
|
|
||||||
.PP
|
|
||||||
If the return value is less than zero, there is an error occured. The returned value indicates the error type:
|
|
||||||
.IP \fBETC_FILENOTFOUND\fP
|
|
||||||
The specified etc file not found or file open error.
|
|
||||||
.IP \fBETC_SECTIONNOTFOUND\fP
|
|
||||||
The specified section not found in the etc file.
|
|
||||||
.IP \fBETC_KEYNOTFOUND\fP
|
|
||||||
The specified key not found in the section.
|
|
||||||
.IP \fBETC_TMPFILEFAILED\fP
|
|
||||||
Temporary file operations error when setting value to etc file.
|
|
||||||
.IP \fBETC_FILEIOFAILED\fP
|
|
||||||
Error in file I/O.
|
|
||||||
.SH "NOTES"
|
|
||||||
.PP
|
|
||||||
MiniGUI use /etc/MiniGUI.cfg as its configuration file. However, you can put your own configuration in /usr/local/etc/MiniGUI.cfg or ~/.MiniGUI.cfg to override the configurations in /etc/MiniGUI.cfg. The global variable \fBETCFILEPATH\fP store the actual MiniGUI.cfg file path used by MiniGUI.
|
|
||||||
.PP
|
|
||||||
The maximal length of line in etc file are \fBETC_MAXLINE\fP, which is definded 1024 as default.
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.BR MiniGUI.cfg "(5)"
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
.\" This manpage is Copyright (C) 2000 Wei Yongming
|
|
||||||
.\" 2000 BluePoint Software
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to make and distribute verbatim copies of this
|
|
||||||
.\" manual provided the copyright notice and this permission notice are
|
|
||||||
.\" preserved on all copies.
|
|
||||||
.\"
|
|
||||||
.\" Permission is granted to copy and distribute modified versions of this
|
|
||||||
.\" manual under the conditions for verbatim copying, provided that the
|
|
||||||
.\" entire resulting derived work is distributed under the terms of a
|
|
||||||
.\" permission notice identical to this one
|
|
||||||
.\"
|
|
||||||
.\" Since MiniGUI is constantly changing, this
|
|
||||||
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
||||||
.\" responsibility for errors or omissions, or for damages resulting from
|
|
||||||
.\" the use of the information contained herein. The author(s) may not
|
|
||||||
.\" have taken the same level of care in the production of this manual,
|
|
||||||
.\" which is licensed free of charge, as they might when working
|
|
||||||
.\" professionally.
|
|
||||||
.\"
|
|
||||||
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
||||||
.\" the source, must acknowledge the copyright and authors of this work.
|
|
||||||
.TH "FixStr" "3" "July 2000" "MiniGUI"
|
|
||||||
.SH "NAME"
|
|
||||||
FixStr \- the functions allocating/freeing length-fixed string in MiniGUI.
|
|
||||||
.SH "SYNOPSIS"
|
|
||||||
.B #include <minigui/minigui.h>
|
|
||||||
.PP
|
|
||||||
.BI "char* GUIAPI FixStrAlloc" "(int len);"
|
|
||||||
.br
|
|
||||||
.BI "void GUIAPI FreeFixStr" "(char* str);"
|
|
||||||
.SH "DESCRIPTION"
|
|
||||||
.PP
|
|
||||||
\fBFixStrAlloc\fP function allocates memory in MiniGUI's length-fixed string heap. The result memory should accommondate a null-terminated string with length of \fBlen\fP, that is, the memory is with \fB(len + 1)\fP long.
|
|
||||||
.PP
|
|
||||||
\fBFreeFixStr\fP function frees the memory allocated by \fBFixStrAlloc\fP.
|
|
||||||
.SH "RETURN VALUE"
|
|
||||||
\fBFixStrAlloc\fP function returns the pointer to the memory allocated. When error occurred, this function will return NULL.
|
|
||||||
.SH "NOTES"
|
|
||||||
There are many length-fixed strings in MiniGUI, such as captions of windows. MiniGUI has an internal heap for allocating/freeing length-fixed strings efficiently. You can allocate memory from this heap by using \fBFixStrAlloc\fP. However, you should avoid doing \fBstrcat\fP on the memory allocated by \fBFixStrAlloc\fP.
|
|
||||||
.PP
|
|
||||||
When there is no free space in MiniGUI's internal heap, MiniGUI will try to allocate memory from system heap by using \fBmalloc\fP. You can safely free the memory actually returned by \fBmalloc\fP with \fBFreeFixStr\fP.
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.BR strcat "(3), " malloc "(3), " free (3)
|
|
||||||
.SH "AUTHOR"
|
|
||||||
.PP
|
|
||||||
This manual page was edited by WEI Yongming <ymwei@minigui.org>.
|
|
||||||
If you have any problems, comments or found some bugs, please send messages to me.
|
|
||||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user