Compare commits

..
149 Commits
Author SHA1 Message Date
Vincent Wei 8538f29f70 fixbug: No need to make the pitch of FT2 monobitmap is single-byte aligned 2019-01-13 14:21:18 +08:00
Vincent Wei b658413961 cleanup 2019-01-13 13:17:23 +08:00
Vincent Wei bb187f1ee3 cleanup font name and glyph renderer 2019-01-13 13:10:13 +08:00
Vincent Wei ea8ab93bad cleanup 2019-01-12 15:02:56 +08:00
Vincent Wei 9226fcff26 add examples/createlogfontex.c and cleanup examples/createlogfont.c 2019-01-12 14:03:52 +08:00
Vincent Wei 05cf370155 Cleanup LOGFONT styles 2019-01-12 13:55:51 +08:00
Vincent Wei 0d2352884a tune style for LOGFONT 2019-01-11 10:55:55 +08:00
Vincent Wei b18cd49398 add GDCAP_DPI for GetGDCapability 2019-01-10 17:31:50 +08:00
Vincent Wei 1c2b4a893a Tune GetGlyphInfo and GLYPHINFO 2019-01-10 16:20:36 +08:00
Vincent Wei 5ef6e45848 new type: QDWORD for a quauter of DWORD 2018-12-27 12:12:08 +08:00
Vincent Wei 088ef49c83 cleanup 2018-12-20 15:53:48 +08:00
Vincent Wei dbbd0f4da2 cleanup 2018-12-11 18:02:46 +08:00
Vincent Wei e4a2294ded New API: UpdateInvalidClient 2018-12-03 18:21:06 +08:00
Vincent Wei f145f409e5 tune format 2018-11-29 12:39:36 +08:00
Vincent Wei c44a64c95e tune format 2018-11-29 12:37:34 +08:00
Vincent Wei 2afb27a89d Release notes for 3.2.1 2018-11-29 12:35:56 +08:00
Vincent Wei c643b10bbc Implementation of new API: SyncUpdateDC 2018-11-29 12:22:01 +08:00
Vincent Wei c04c44eefb remove extra \n for _DBG_PRINTF 2018-11-22 15:28:04 +08:00
Vincent Wei 98baad2755 remove DC_ATTR_BIDI_FIRSTCH_TYPE 2018-11-18 13:58:49 +08:00
HOU Huihua e9e7c43029 Merge branch 'master' of github.com:VincentWei/minigui 2018-11-18 13:11:50 +08:00
HOU Huihua 7805a3f5c3 fixbug: new DC attribute: bidi_flags 2018-11-18 13:11:23 +08:00
Vincent Wei 0abc9c4aa6 use macro for _DBG_PRINTF and _ERR_PRINTF 2018-11-08 18:41:58 +08:00
Vincent Wei 2a97f34534 cleanup 2018-09-19 11:16:52 +08:00
VincentWei 6de3db1482 TUNE 2018-09-18 13:36:33 +08:00
VincentWei 019bc4deef Merge branch 'master' of github.com:VincentWei/minigui 2018-09-18 10:55:35 +08:00
VincentWei 9e17f428fe BUGFIXING: handle PNG_COLOR_TYPE_GRAY_ALPHA color type 2018-09-18 10:55:06 +08:00
Vincent Wei 120705742e cleanup and remove unused code 2018-09-06 16:13:22 +08:00
Vincent Wei 6e5407f42d cleaup for coding style 2018-09-04 16:33:17 +08:00
Vincent Wei 2237be6721 Merge pull request #12 from 10km/master
add __mg_save_jpg function for storing MYBITMAP as JPEG file.
2018-09-04 16:23:20 +08:00
10km faa7a2636e fix bug for MYBITMAP_get_pixel_row_pal16,MYBITMAP_get_pixel_row_pal256 2018-09-04 16:06:06 +08:00
10km ce442b5e96 add __mg_save_jpg function for storing MYBITMAP as JPEG file.
enable application to store image as JPEG file.
description: Convert all color space(RGBA,BGR,RGB565,index color256,16) to RGB ,and compress JPEG with JCS_RGB color space. 
Can use preprocessor _MGIMAGE_JPG_SAVE_QUALITY to define JPEG compression quality.default value 90.
For RGBA color space image ,can use _MGIMAGE_JPG_RGBA_BGCOLOR define background color,default value 0XFFFFFF (white).
For image with index color space(256 or 16) ,the argument 'pal' of __mg_save_jpg must be NULL.
LIMIT:type of MG_RWops object must be RWAREA_TYPE_STDIO ( a file).not suport RWAREA_TYPE_MEM.
2018-09-04 13:40:59 +08:00
10km 69050f7a5c Merge pull request #1 from VincentWei/master
update
2018-08-31 22:25:44 +08:00
Vincent Wei fcbcc86c6f tune for the coding style 2018-08-31 16:57:57 +08:00
Vincent Wei 07a51b22ae Merge pull request #10 from 10km/master
modified logic for checking JPEG format.
2018-08-31 16:51:53 +08:00
10km 1297ba836d improve logic of __mg_check_jpg for performance .
loop for reading JPEG marker from MG_RWops object,if meet other JPEG marker(eg. SOI,APPn,DQT) skip the payload bytes for next marker,until reach SOF0 or SOF2.
about JPEG marker, see also https://en.wikipedia.org/wiki/JPEG
2018-08-31 15:00:50 +08:00
10km 09e83b6a8b modified logic judgment for checking JPEG format.JFIF and Exif is morst popular file format of JPEG encoded image,but not all,for MJPEG format that used by camera,the flag is 'AVI1' OR not any flag ,starting FFC0 after FFD8.
so the old logic is not work for other JPEG format.see  my blog for detail : https://blog.csdn.net/10km/article/details/82155967
2018-08-30 17:10:26 +08:00
Vincent Wei ae532f03fa add GetGlyphBIDIType and BidiCharType -> Uint32 2018-08-29 20:03:20 +08:00
Vincent Wei 9945cd25a5 BIDI flag for DC 2018-08-28 18:38:20 +08:00
VincentWei 4f515a0359 fix the error of arabic charset 2018-08-27 19:13:56 +08:00
Vincent Wei 808718bdb4 Support BIDI for UNICODE charsets and cleanup the implementation 2018-08-27 18:55:12 +08:00
Vincent Wei e7924ebd51 fix bug of free null pointer 2018-08-25 18:27:37 +08:00
Vincent Wei 1935734df1 debug 2018-07-31 19:05:59 +08:00
Vincent Wei 5ff06823e4 check socket closed when reading 2018-07-31 11:13:33 +08:00
Vincent Wei 1bc43f6580 tune 2018-07-30 16:40:28 +08:00
Vincent Wei be27e8cb7c usvfb engines are almost ok 2018-07-30 10:43:17 +08:00
Vincent Wei 4597cbbc28 finish USVFB IAL engine 2018-07-30 09:01:35 +08:00
Vincent Wei cde8a653b4 add USVFB IAL engine 2018-07-29 21:02:12 +08:00
Vincent Wei 8b73fe0022 add USVFB NEWGAL engine 2018-07-29 20:54:28 +08:00
Vincent Wei 4db2aa093c enhance commlcd engint to support more pixel type and synchronously update 2018-07-29 13:45:17 +08:00
Vincent Wei d9da4d6e3a tune for release v3.2.0 2018-07-12 10:52:51 +08:00
Vincent Wei 318dee8fd5 tune for official release v3.2.0 2018-07-12 10:41:31 +08:00
Vincent Wei dcc50d45ce change version number from 3.0 to 3.2 for splash 2018-07-02 17:41:42 +08:00
Vincent Wei 96a4e917d9 debug 2018-06-20 18:07:50 +08:00
Vincent Wei a507af807c tune: disable key message for invalid low-level event 2018-06-20 18:01:46 +08:00
Vincent Wei 9189fa4efe pass timeout to __comminput_wait_for_input 2018-06-20 13:45:40 +08:00
Vincent Wei ac8e230207 fixbug: handle retvalue of wait_event correctly. 2018-06-20 11:40:52 +08:00
VincentWei 2aa6794636 cleanup 2018-06-13 23:31:35 +08:00
VincentWei 25d5b03154 add sharedres.h 2018-06-08 16:00:46 +08:00
Vincent Wei ab8ce45ab0 debug for stain pixel of subpixel 2018-06-06 09:41:32 +08:00
Vincent Wei 2036a8592c enable build_ttfcache_support by default 2018-06-06 08:55:09 +08:00
VincentWei dd0445689e cleanup 2018-06-05 23:59:14 +08:00
Vincent Wei 0d49ed794e cleanup 2018-06-04 18:59:19 +08:00
Vincent Wei df627ee3b1 fixbug: lost DT_CALCRECT attribute when DT_CENTER set 2018-06-01 12:07:28 +08:00
VincentWei 0599227023 use stderr for _MG_PRINTF 2018-05-31 23:29:52 +08:00
VincentWei 66769dee51 tune 2018-05-31 23:24:54 +08:00
VincentWei 1cfd032718 use ANSI color for _ERR_PRINTF, _DBG_PRINTF, and _MG_PRINTF 2018-05-31 23:16:52 +08:00
VincentWei a45ee0b3f4 disable xMax+=2 for SUBPIXEL 2018-05-31 23:16:15 +08:00
VincentWei 8b72783a12 tune for subpixel style 2018-05-25 22:49:26 +08:00
VincentWei 378f7e1986 cleanup 2018-05-19 15:13:12 +08:00
VincentWei 0b9c425b84 remove debug output 2018-05-19 14:01:09 +08:00
VincentWei 5e0dda0421 use 0x01UL for timermask test 2018-05-18 20:21:09 +08:00
VincentWei c0addda03b cleanup 2018-05-19 00:56:50 +08:00
VincentWei 977ac1ec9b fix bug of (0x01<<slot) for 64bit 2018-05-19 00:56:39 +08:00
VincentWei 36d2ea8158 Merge branch 'master' of github.com:VincentWei/minigui 2018-05-18 19:56:54 +08:00
VincentWei c1889bd927 enhance animation control 2018-05-18 19:56:37 +08:00
Vincent Wei 6388d8049f add a new function: GetResPath 2018-05-18 16:03:45 +08:00
Vincent Wei 8315dbb217 use -lpng instead of -lpng12 2018-05-18 16:03:25 +08:00
Vincent Wei c0dd8d1bcd fix warning for copy_row3 and make it static 2018-05-17 11:42:26 +08:00
Vincent Wei 028bfd149f remove commlcd for devel-mode 2018-05-17 11:42:03 +08:00
Vincent Wei d101233a3a Merge branch 'master' of github.com:VincentWei/minigui 2018-05-17 08:59:29 +08:00
Vincent Wei 7960577981 fix typos: resouce/Resouce 2018-05-17 08:59:12 +08:00
VincentWei 69705646cc tune Doxyfile 2018-05-09 23:25:12 +08:00
VincentWei 7c798483c4 tune Doxyfile 2018-05-09 23:21:06 +08:00
VincentWei bf69d0308a remove obsolete docs 2018-05-08 22:56:08 +08:00
VincentWei 990b9eabc9 cleanup for doxygen 2018-05-08 03:09:12 +08:00
Vincent Wei 92fa47663a specify RGBAmask for RGB565 and other pixel format 2018-04-08 17:59:05 +08:00
Vincent Wei dbe75d3ea1 cleanup 2018-04-08 17:21:08 +08:00
Vincent Wei f4486140bc change prototype of wait_event 2018-04-08 15:11:27 +08:00
Vincent Wei 0b21445fd1 change type to short of MOUSEX, MOUSEY, and BUTTON 2018-04-08 14:58:50 +08:00
Vincent Wei 5e8cdc8cea add pixel type 2018-04-08 14:50:37 +08:00
VincentWei 1527a164da rename freetype.c and freetype.h to freetype1.c and freetype1.h respectively, in order to avoid conflict with the freetype.h of freetype2 2018-04-03 17:36:45 +08:00
Vincent Wei 7f0f59bbe0 cleanup common ial engine. 2018-04-03 16:40:05 +08:00
Vincent Wei 130780bf01 enable scrollview by default 2018-04-03 14:18:07 +08:00
VincentWei f3e40b9d51 debug 2018-04-03 11:54:42 +08:00
VincentWei f7dfca5482 add the method update for commlcd newgal engine 2018-04-03 11:11:58 +08:00
CalvinHou f9135d7652 Update RELEASE-NOTES.md 2018-03-27 17:30:05 +08:00
CalvinHou dc30cfc816 Update RELEASE-NOTES.md 2018-03-27 16:09:39 +08:00
xueshuming 6fd1fdf39f enable-ctrlXXX for miniStudio 2018-02-26 15:58:20 +08:00
VincentWei 24746c5ef6 fix typo 2018-02-05 17:29:10 +08:00
Vincent Wei 2269c998e3 Create LICENSE 2018-02-05 17:23:29 +08:00
Vincent Wei 37b91e9482 Delete LICENSE 2018-02-05 17:22:31 +08:00
Vincent Wei 0c8d08ed74 tune format 2018-02-04 18:22:27 +08:00
VincentWei 8ee505ddc8 chang license-policy files name 2018-02-04 18:05:28 +08:00
VincentWei cd888ca270 change encoding to utf-8 2018-02-04 18:03:07 +08:00
VincentWei b5e197deeb change filename of license-policy.* 2018-02-04 17:55:22 +08:00
VincentWei 8de5d45a6d re-commit LICENSE 2018-02-04 17:51:40 +08:00
VincentWei 87360df98d tune format 2018-02-04 17:46:25 +08:00
VincentWei 7c157d60ac COPYING file 2018-02-04 17:42:56 +08:00
VincentWei 73032f98a9 tune format 2018-02-04 17:42:11 +08:00
VincentWei 6e98d52d45 tune license-policy 2018-02-04 17:35:44 +08:00
VincentWei 62efa8b29a clean up the header copying statements 2018-02-04 17:01:37 +08:00
VincentWei 5665bbb94b Merge branch 'master' of github.com:VincentWei/minigui 2018-02-02 15:30:36 +08:00
VincentWei 79c8048f83 use gal_pixel instead of int for GetWindowBkColor/SetWindowBkColor 2018-02-02 15:30:26 +08:00
VincentWei 0bec004433 add MAKEWPARAM and FIRSTBYTE~FOURTHBYTE macros, and remove HIBYTE_WORD16, LOBYTE_WORD16 macros. Now, MAKEWORD(lobyte, hibyte) returns same value on both 32-bit and 64-bit platforms 2018-02-02 15:05:00 +08:00
VincentWei e2c2ac0704 tune description of MSG_CHAR 2018-02-02 12:18:11 +08:00
VincentWei 7c9fb6e4f7 use HIBYTE_WORD16/LOBYTE_WORD16 to extract bytes from wParam of MSG_CHAR 2018-02-02 12:07:08 +08:00
VincentWei c6c60b862b use MAKEWORD16 for Str2Key and MSG_CHAR 2018-02-02 11:40:01 +08:00
VincentWei f4ccf7ee1c use HIBYTE_WORD16/LOBYTE_WORD16 to get the bytes from short type values 2018-02-01 23:12:42 +08:00
VincentWei d9c95e1900 tune format 2018-02-01 23:11:32 +08:00
VincentWei 61ada7b217 develmode does not control tracemsg option 2018-02-01 23:10:31 +08:00
VincentWei 655aabe2d0 change type of return value of GetMenuItemID to LINT 2018-02-01 14:11:25 +08:00
VincentWei 4a29921154 add change description for Doxygen 2018-01-31 18:56:23 +08:00
VincentWei 242423951d tune format 2018-01-31 18:41:14 +08:00
VincentWei 41aa192d41 tune typo 2018-01-31 18:27:03 +08:00
VincentWei fad33d69f6 tune format 2018-01-31 18:23:56 +08:00
VincentWei 92b58d3114 tune format 2018-01-31 18:19:20 +08:00
VincentWei 60bc975fd9 add description for LINT id 2018-01-31 18:14:00 +08:00
VincentWei 1f5d3bff3a modify copying in header files 2018-01-31 17:12:50 +08:00
VincentWei d8b8139ca1 use UINT stead of int for control identifiers and menu item identifiers 2018-01-31 16:03:41 +08:00
VincentWei 2f3b486873 add -DDEBUG for develmode 2018-01-30 20:47:47 +08:00
VincentWei 3380dd13d6 use long for LINT for 32-bit platform 2018-01-30 19:28:40 +08:00
VincentWei 58050c7896 tune the copying in header files 2018-01-30 19:06:47 +08:00
VincentWei 73d914293c change DWORD2PIXEL to DWORD2Pixel 2018-01-30 17:45:23 +08:00
VincentWei 9b9b912eb7 add SDWORD type 2018-01-30 17:44:46 +08:00
VincentWei d5c8e15cb9 add debug print for timer 2018-01-30 11:56:36 +08:00
VincentWei a3cd475ad0 tune code for debug print 2018-01-30 11:24:56 +08:00
VincentWei d977609170 tune code for debug print 2018-01-30 11:23:22 +08:00
VincentWei 30ef378100 fix release date 2018-01-28 23:41:23 +08:00
VincentWei b1184d5358 tune 2018-01-28 21:54:54 +08:00
VincentWei 8891a726a0 tune 2018-01-28 21:52:48 +08:00
VincentWei 8b4334f969 tune 2018-01-28 21:46:03 +08:00
VincentWei 8b01a29397 use long for DWORD_PTR/UINT_PTR on 32b-bit 2018-01-28 19:43:39 +08:00
VincentWei 4b80497ee9 define _DEBUG and NDEBUG for develmode or not resp. 2018-01-28 11:38:41 +08:00
VincentWei 55a4566a33 use UINT for message 2018-01-28 11:37:56 +08:00
VincentWei 78672276af better gitignore 2018-01-28 01:14:35 +08:00
VincentWei 8ddeb9806b define MAXLEN_CLASSNAME to 31 2018-01-28 01:07:34 +08:00
VincentWei 9df26d14bf change version 2018-01-26 10:32:51 +08:00
VincentWei 451c0cfca0 Merge branch '64b' 2018-01-26 10:28:09 +08:00
VincentWei a4c3752f12 enable listview and spinbox by default 2018-01-24 18:44:33 +08:00
1048 changed files with 45964 additions and 14465 deletions
+25
View File
@@ -0,0 +1,25 @@
*.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
-273
View File
File diff suppressed because it is too large Load Diff
+2489
View File
File diff suppressed because it is too large Load Diff
+2489
View File
File diff suppressed because it is too large Load Diff
+2489
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -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
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.}
Copyright (C) {year} {name of author}
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
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
@@ -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
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 is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
+39 -43
View File
@@ -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
GPL license. This is the licensing policy for the GPL'd MiniGUI
versions.
By now, FMSoft releases MiniGUI versions under GPLv3 license.
This is the licensing policy for the GPLed MiniGUI 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,
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
by our commercial licence. Read the details below!
Licensing
=========
## Licensing
MiniGUI software is licensed under the GPL license. The formal terms
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
and ordering information, visit our web page:
http://www.fmsoft.cn/
1. Free use for those who are 100% GPL
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:
* Modifying - You are allowed to modify MiniGUI source code any way
you like. If you distribute the modified version, all
changes, all interface code and all code that connects
directly or indirectly to the interface code fall under GPL.
* Modifying - You are allowed to modify MiniGUI source code any way
you like. If you distribute the modified version, all
changes, all interface code and all code that connects
directly or indirectly to the interface code fall under GPL.
* Copying - You are allowed to copy MiniGUI binaries and source code,
but when you do so, the copies will fall under the GPL.
* Copying - You are allowed to copy MiniGUI binaries and source code,
but when you do so, the copies will fall under the GPL.
3. Commercial use for everyone else
@@ -60,24 +62,24 @@ a commercial license to the MiniGUI software in question.
More specifically:
a) If you want to use MiniGUI on an operating system which is not
compatible with GPL (most commercial RTOSes, such as VxWorks and
ThreadX), you need a commercial license for the MiniGUI library.
* If you want to use MiniGUI on an operating system which is not
compatible with GPL (most commercial RTOSes, such as VxWorks and
ThreadX), you need a commercial license for the MiniGUI library.
b) If you link MiniGUI in your non-GPL application, you need a commercial
licence for the MiniGUI library. Using MiniGUI with non-GPL operating
systems (proprietary OSes, like VxWorks, ThreadX, uC/OS-II) falls into
this situation. Linking MiniGUI with your non-GPL application and
proprietary libarires also falls into this situation.
* If you link MiniGUI in your non-GPL application, you need a commercial
licence for the MiniGUI library. Using MiniGUI with non-GPL operating
systems (proprietary OSes, like VxWorks, ThreadX, uC/OS-II) falls into
this situation. Linking MiniGUI with your non-GPL application and
proprietary libarires also falls into this situation.
c) 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
a commercial license.
* 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
a commercial license.
d) Many users opt for the commercial licence simply because under it
FMSoft takes responsibility for its products. Under the GPL licence,
there are no warranties or representations from the
developer (i.e. from FMSoft).
* Many users opt for the commercial licence simply because under it
FMSoft takes responsibility for its products. Under the GPL licence,
there are no warranties or representations from the
developer (i.e. from FMSoft).
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.
Older Versions
==============
## Older Versions
Note that older versions of the MiniGUI are using the lesser GPL license
(LGPL). See the documentation for the specific version for more
information.
When in doubt
=============
## When in doubt
If you have any questions on MiniGUI licensing, feel free to contact us:
mailto: sales@minigui.com
Patents
=======
----
MiniGUI is also protected by patents (200810111336.X and so on).
The owner of these patents is Beijing FMSoft technologies Co., Ltd..
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
* 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
+179
View File
@@ -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
-180
View File
@@ -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
View File
@@ -1,10 +1,11 @@
SUBDIRS = src 3rd-party include rtos etc m4 cmake build
EXTRA_DIST = \
minigui.pc.in \
GNUmakefile makefile.ng makefile.msvc rules.make \
Version INSTALL LICENSE \
README.md RELEASE-NOTES.md LICENSE.POLICY
minigui.pc.in
README.md RELEASE-NOTES.md \
LICENSE-POLICY-en.md LICENSE-POLICY-zh.md
# The directory where the include files will be installed
libminiguiincludedir = $(includedir)/minigui
@@ -13,7 +14,7 @@ libminiguiincludedir = $(includedir)/minigui
libminiguiinclude_HEADERS = mgconfig.h
docs:
doxygen Doxyfile
doxygen Doxyfile.procs Doxyfile.ths Doxyfile.sa
dist-nolicense: dist
./clean_license.sh $(DIST_ARCHIVES)
+1 -1
View File
@@ -1 +1 @@
Please refer to REAME.md.
Please refer to README.md.
+90 -24
View File
@@ -1,24 +1,25 @@
# 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
1. Introduction
1. A brief building instruction
1. New features in version 3.2.x
1. The runtime modes of MiniGUI
1. History
1. About the authors
1. If you have a problem
1. A little FAQ
1. Copying
1. Not free for commercial use
1. Copying
## 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.
This is the version 3.2.x of MiniGUI maintained by WEI Yongming
(Vincent Wei, https://github.com/VincentWei).
@@ -32,31 +33,36 @@ embedded systems or smart IoT devices based-on Linux/uClinux, eCos, and other
traditional RTOSes, such as VxWorks, ThreadX, Nucleus, pSOS, uC/OS-II,
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).
Besides MiniGUI core, FMSoft also provides some components
for the developers to develop app much easier:
* mGUtils: A MiniGUI component which contains miscellaneous utilities
like ColorSelectionDialogBox, FileOpenDialogBox, and so on.
* mGPlus: A MiniGUI component which provides support for advanced graphics
functions like path, gradient, anti-aliase 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.
* mGEff: mGEff provides an animation framework for MiniGUI app.
It also provides some popular UI/UE special effects.
* mGNCS4Touch: This component provides some new controls, which are
compliant to the new control API spec of mGNCS, for devices with
a touch screen.
There are also some legacy MiniGUI components. We will not maintain these
components for MiniGUI core v3.2:
* mGi: An input method component for MiniGUI. This component provides
some typical input methods (such as softkey, hand-writing, and predict
text input for mobile phone) for MiniGUI apps.
* mGUtils: A MiniGUI component which contains miscellaneous utilities
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.
@@ -104,6 +110,42 @@ You can also download it from the official site of MiniGUI.
http://www.minigui.com/en/download
## 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
We introduce some new features in MiniGUI Version 3.2.x:
@@ -273,10 +315,9 @@ messages to consult@minigui.com.
Q: Is GPL'd MiniGUI free for commercial use?
A: Simply no. FMSoft releases MiniGUI under GPLv3 license.
It is free for those who are 100% GPL and those who
never copy, modify and distribute MiniGUI. But if you want to use
these GPL'd versions for commerce, you should get the commercial
license from FMSoft first.
It is free for those who are 100% GPL and those who never copy, modify
and distribute MiniGUI. But if you want to use these GPL'd versions
for commerce, you should get the commercial license from FMSoft first.
Q: Which operating system does MiniGUI support?
@@ -286,28 +327,53 @@ A: MiniGUI can run on Linux/uClinux, uC/OS-II, eCos, ThreadX, pSOS,
Q: Which architecture does MiniGUI support?
A: Intel x86, ARM (ARM7/AMR9/StrongARM/xScale), PowerPC, MIPS,
DragonBall, ColdFire, Blackfin, and so on.
A: x86 32/64-bit, ARM 32/64-bit (e.g., ARMv7 and ARM Cortex-A7),
PowerPC, MIPS, DragonBall, ColdFire, Blackfin, and so on.
Q: Does MiniGUI offer the support for grey LCD with 4bpp (bits per pixel)?
A: Yes, it offers. It even offers the support for 1bpp and 2bpp LCD.
## COPYING
Copyright (C) 2002~2017, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
## 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.
the commercial license of MiniGUI, please refer to the LICENSE-POLICY file.
We provide you the commercial license of MiniGUI according to the number
of the run-time binary copies of MiniGUI. If you are interested in
the commercial license of MiniGUI, please write to sales@minigui.com.
## COPYING
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
+254 -20
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,4 +1,4 @@
Version 3.0.13 (2017/12/06)
Version 3.2.0 (2018/02/10)
This release needs the following resource packages:
@@ -6,4 +6,4 @@ This release needs the following resource packages:
The latest samples package is:
* mg-samples-3.0.13.tar.gz
* mg-samples-3.2.0.tar.gz
+25
View File
@@ -25,4 +25,29 @@ rm config.cache config.status -f
--disable-savescreen \
--disable-splash \
--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
+60 -30
View File
File diff suppressed because it is too large Load Diff
-3
View File
@@ -1,3 +0,0 @@
*.css
*.png
*.html
View File
-2
View File
@@ -1,2 +0,0 @@
SUBDIRS = man3 man5
-1
View File
@@ -1 +0,0 @@
*.3
File diff suppressed because it is too large Load Diff
-1
View File
@@ -1 +0,0 @@
*.5
-3
View File
@@ -1,3 +0,0 @@
man_MANS=MiniGUI.cfg.5
EXTRA_DIST = $(man_MANS)
-109
View File
@@ -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
-3
View File
@@ -1,3 +0,0 @@
man_MANS=libminigui.7
EXTRA_DIST = $(man_MANS)
-99
View File
@@ -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
-14
View File
@@ -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
-84
View File
@@ -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;
-19
View File
@@ -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);
-48
View File
@@ -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.
-70
View File
@@ -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.
-86
View File
@@ -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.
-100
View File
@@ -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.
-83
View File
@@ -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.
-90
View File
@@ -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.
-34
View File
@@ -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.
-56
View File
@@ -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.
-113
View File
@@ -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.
-84
View File
@@ -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.
-106
View File
@@ -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.
-78
View File
@@ -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.
-118
View File
@@ -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.
-124
View File
@@ -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.
-141
View File
@@ -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.
-83
View File
@@ -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.
-48
View File
@@ -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
-67
View File
@@ -1,67 +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 "GetSysText" "3" "July 2000" "MiniGUI"
.SH "NAME"
GetSysText \- get MiniGUI system text in i18n applications.
.SH "SYNOPSIS"
.B #include <minigui/minigui.h>
.PP
.BI "extern const char* SysText [];"
.PP
.BI "const char* GetSysText" "(const char* text);"
.SH "DESCRIPTION"
.PP
When MiniGUI display some system messages, it will call \fBGetSysText\fP function to translate system text. You can use \fBgettext\fP to return the text. Global variable \fBSysText\fP contains all text used by MiniGUI.
.PP
You must implement \fBGetSysText\fP by yourself. However, there is a \fBdti.c\fP file, which defines the function 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 GetSysText
#define DONT_USE_SYS_GETSYSTEXT
#include <minigui/dti.c>
// Define your own instance here.
const char* GetSysText (const char* text)
{
return gettext (text);
}
.fi
.SH "SEE ALSO"
.BR gettext (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.
-36
View File
@@ -1,36 +0,0 @@
.TH "Hook" "3" "August 2000" "MiniGUI"
.SH "NAME"
Hook \- hook function in MiniGUI.
.SH "SYNOPSIS"
.B #include <minigui/window.h>
.br
.PP
.BI "HHOOK GUIAPI RegisterKeyMsgHook" "(HWND hWnd, KEYMSGHOOK hook);"
.br
.BI "HHOOK GUIAPI RegisterMouseMsgHook" "(HWND hWnd, MOUSEMSGHOOK hook);"
.br
.BI "int GUIAPI UnregisterHook" "(HHOOK hHook);"
.SH "DESCRIPTION"
.PP
\fBRegisterKeyMsgHook\fP function registers a key message hook pointed to by \fBhook\fP and associates with the main window \fBhwnd\fP. This function returns the handle to the registered hook.
.PP
\fBRegisterMouseMsgHook\fP function registers a mouse message hook pointed to by \fBhook\fP and associate with the main window \fBhwnd\fP. This function returns the handle to the registered hook.
.PP
\fBUnregisterHook\fP function removes the key or mouse message hook specified by the handle of \fBhook\fP.
.SH "RETURN VALUE"
.PP
.SH "NOTE"
.PP
.SH "SEE ALSO"
.SH "AUTHOR"
.PP
This manual page was edited by Kevin <kevin@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.
-68
View File
@@ -1,68 +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 "IMEHandler" "3" "August 2000" "MiniGUI"
.SH "NAME"
IMEHandler \- IME related functions.
.SH "SYNOPSIS"
.B #include <minigui/window.h>
.br
.PP
.BI "int IMEWinProc" "(HWND hWnd, int message, WPARAM wParam, LPARAM lParam);"
.br
.BI "void* IMEWindow" "(void* data);"
.br
.BI "int GUIAPI RegisterIMEWindow" "(HWND hWnd);"
.br
.BI "int GUIAPI UnregisterIMEWindow" "(HWND hWnd);"
.br
.BI "int GUIAPI GetIMEStatus" "(int StatusCode);"
.br
.BI "int GUIAPI SetIMEStatus" "(int StatusCode, int Value);"
.SH "DESCRIPTION"
.PP
\fBIMEWinProc\fP function is the message handling function of the IME window.
.PP
\fBIMEWindow\fP function Creates an IME window.
.PP
\fBRegisterIMEWindow\fP function registers an IME window.After that,the keyboard input will be sent to IME window first.\fBNote\fP,Only one IME window can be registered.
.PP
\fBUnregisterIMEWindow\fP function undoes the effect of \fBRegisterIMEWindow\fP.
.PP
\fBGetIMEStatus\fP function retrieves some status of the IME window. Parameter \fBStatusCode\fP specifies which state to retrieve.
.PP
\fBSetIMEStatus\fP function sets some status of the IME window. Parameter StatusCode specify which state to set.
.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.
-60
View File
@@ -1,60 +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 "Icon" "3" "August 2000" "MiniGUI"
.SH "NAME"
Icon \- Icon operations in MiniGUI.
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.br
.PP
.BI "HICON GUIAPI LoadIconFromFile" "(HDC hdc, const char* filename, int which);"
.br
.BI "HICON GUIAPI CreateIcon" "(HDC hdc, int w, int h, const BYTE* AndBits, const BYTE* XorBits, int colornum);"
.br
.BI "BOOL GUIAPI DestroyIcon" "(HICON hicon);"
.br
.BI "void GUIAPI DrawIcon" "(HDC hdc, int x, int y, int w, int h, HICON hicon);"
.SH "DESCRIPTION"
.PP
\fBLoadIconFromFile\fP function load icon from a Windows ICO file named \fBfilename\fP and creates an icon object. This function can load mono- and 16-color icons. Some Windows ICO file contain two icons in different sizes. You can tell this function to load which icon though \fBwhich\fP, \fB0\fP for the first icon, and \fB1\fP for the second icon. Generally, the later icon is the larger icon.
.PP
\fBCreateIcon\fP function creates an icon object from the memory.
.PP
\fBDestroyIcon\fP function destroys the icon object \fBhicon\fP.
.PP
\fBDrawIcon\fP function draws the icon \fBhicon\fP in a box specified by \fB(x, y, w, h)f\fP.
.SH "RETURN VALUE"
.PP
The functions creating icon return the handle to the created icon. They will return 0 when error occurred.
.SH "SEE ALSO"
.BR LoadBitmap (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.
-77
View File
@@ -1,77 +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 "Init" "3" "July 2000" "MiniGUI"
.SH "NAME"
Init \- Initialization and termination of MiniGUI.
.SH "SYNOPSIS"
.B #include <minigui/minigui.h>
.PP
.BI "BOOL GUIAPI InitGUI" "(void);"
.br
.BI "void GUIAPI TerminateGUI" "(int rcByGUI);"
.br
.BI "void GUIAPI MiniGUIPanic" "(int exitcode);"
.br
.BI "void GUIAPI SuspendGUI" "(void);"
.br
.BI "BOOL GUIAPI ResumeGUI" "(void);"
.br
.SH "DESCRIPTION"
.PP
\fBInitGUI\fP function initializes MiniGUI support system. It will allocate and load resources used by MiniGUI, create threads which act as mini servers, and more important, set vedio mode according to MiniGUI.cfg file.
.PP
This function will be called automatically by \fBmain\fP function. Applications should avoid calling this function directly. \fBmain\fP function has been implemented in libminigui as following:
.PP
.nf
int main(int args, const char* agr[])
{
int iRet = 0;
if (!PreInitGUI (args, agr, &iRet))
return iRet;
if (!InitGUI()) return -1;
iRet = MiniGUIMain (args, agr);
TerminateGUI (iRet);
iRet = PostTerminateGUI (args, agr, iRet);
return iRet;
}
.fi
.PP
\fBTerminateGUI\fP function is normally called by application's main function. According to the returned value of \fBMiniGUIMain\fR function, \fBTerminateGUI\fR either suspends calling thread and waits system threads, or just kills all threads except calling thread, frees resources used by MiniGUI, sets vedio card back to text mode, and then terminates MiniGUI application.
.PP
\fBrcByGUI\fR is the return value of \fBMiniGUIMain\fP function. If \fBrcByGUI\fR >= 0, calling thread will suspend; if \fBrcByGUI\fR < 0, application will terminate.
.PP
This function will be called automatically by \fBmain\fP function. Applications should avoid calling this function directly.
.PP
\fBMiniGUIPanic\fP function will abnormally terminate MiniGUI application, so it be not recommended to use.
.PP
You can use \fBSuspendGUI\fP function to suspend the reponse of MiniGUI to user, then you must call the function named \fBResumeGUI\fP to restore the response.
.PP
If you call the function \fBSuspendGUI\fP to suspend the response of MiniGUI to user, you need call \fBResumeGUI\fP function to restore the action of MiniGUI. In fact, the function \fBResumeGUI\fP performs the same things as the function \fBInitGUI\fP does, except that it don't save the original termio.
.SH "SEE ALSO"
.BR 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.
-117
View File
@@ -1,117 +0,0 @@
.\" This manpage is Copyright (C) 2000, 2001 Wei Yongming
.\" 2000, 2001 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 "Lite" "3" "Feb. 2001" "MiniGUI"
.SH "NAME"
Lite \- MiniGUI-Lite specific functions.
.SH "SYNOPSIS"
.B #include <minigui/minigui.h>
.br
.PP
.BI "BOOL GUIAPI SetDesktopRect" "(int lx, int ty, int rx, int by);"
.br
.BI "void GUIAPI GetDesktopRect" "(int* lx, int* ty, int* rx, int* by);"
.br
.BI "BOOL GUIAPI ServerStartup" "(void);"
.br
.BI "BOOL GUIAPI SetClientScreen" "(int lx, int ty, int rx, int by);"
.br
.BI "BOOL GUIAPI OnlyMeCanDraw" "(void);"
.br
.BI "BOOL GUIAPI ClientCanDrawNowEx" "(BOOL bRepaint);"
.br
.BI "BOOL GUIAPI SetTopMostClient" "(int cli);"
.br
.BI "int GUIAPI GetClientByPID" "(int pid);"
.br
.BI "int cli_request" "(PREQUEST request, void* result, int len_rslt);"
.br
.BI "BOOL GUIAPI RegisterRequestHandler" "(int req_id, REQ_HANDLER your_handler);"
.br
.BI "REQ_HANDLER GUIAPI GetRequestHandler" "(int req_id);"
.br
.BI "int get_sock_fd2srv" "(void);"
.br
.BI "int sock_write" "(int fd, const void* buff, int count);"
.br
.BI "int sock_read" "(int fd, void* buff, int count);"
.br
.BI "BOOL GUIAPI RegisterListenFD" "(int fd, int type, HWND hwnd, void* context);"
.br
.BI "BOOL GUIAPI UnregisterListenFD" "(int fd);"
.PP
.B #include <minigui/window.h>
.PP
.BI "BOOL GUIAPI Send2TopMostClient" "(int iMsg, WPARAM wParam, LPARAM lParam);"
.SH "DESCRIPTION"
.PP
\fBSetDesktopRect\fP function sets the desktop rect of server or client, must called before create any window.
.PP
\fBGetDesktopRect\fP function gets the desktop rect of server or client.
.PP
\fBServerStartup\fP: Call this function to be a server of MiniGUI-Lite. And the first argument of command line must be `mginit'.
.PP
\fBSetClientScreen\fP: Call this function by server to set the screen of clients.
.PP
\fBOnlyMeCanDraw\fP: Call this function by server to disable the screen output of clients.
.PP
\fBClientCanDrawNowEx\fP: Call this function by server to tell the topmost client can draw to screen and/or refresh its content.
.PP
\fBSetTopMostClient\fP: Call this function by server to set the topmost client.
.PP
\fBGetClientByPID\fP: Call this function by server to get the client id from PID of client.
.PP
\fBcli_request\fP: Call this function by clients to send a request to server.
.PP
\fBRegisterRequestHandler\fP: Call this function by server to register a request handler.
.PP
\fBGetRequestHandler\fP: Get the request handler of specified request id.
.PP
\fBget_sock_fd2srv\fP: Call this function by clients to get the socket descriptor connected to server.
.PP
\fBsock_write\fP: Helper functions for socket writing operation.
.PP
\fBsock_read\fP: Helper functions for socket writing operation.
.PP
\fBSend2TopMostClient\fP function send a message to the topmost client.
.PP
\fBRegisterListenFD\fP: Call this function to register a listen fd to MiniGUI. When there is a read event on this fd, MiniGUI will post a MSG_FDEVENT message with wParam being equal to MAKELONG (fd, type) to the target window.
.PP
\fBUnregisterListenFD\fP: Call this function to unregister the fd registered by \fBRegisterListenFD\fP.
.SH "RETURN VALUE"
.PP
.SH "NOTE"
.PP
.SH "SEE ALSO"
.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.
-66
View File
@@ -1,66 +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 "LogFont" "3" "August 2000" "MiniGUI"
.SH "NAME"
LogFont \- Logical fonts in MiniGUI.
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.br
.PP
.BI "PLOGFONT GUIAPI CreateLogFont" "(const char* type, const char* family, const char* charset, char weight, char slant, char set_width, char spacing, char underline, char struckout, int size, int rotation);"
.br
.BI "PLOGFONT GUIAPI CreateLogFontIndirect" "(PLOGFONT logfont);"
.br
.BI "void GUIAPI DestroyLogFont" "(PLOGFONT log_font);"
.br
.BI "PLOGFONT GUIAPI GetSystemFont" "(int font_id);"
.br
.BI "PLOGFONT GUIAPI GetCurFont" "(HDC hdc);"
.br
.BI "PLOGFONT GUIAPI SelectFont" "(HDC hdc, PLOGFONT log_font);"
.SH "DESCRIPTION"
.PP
\fBCreateLogFont\fP function creates a logical font. Note that the size of logical font may be different from the size expected, and you can specify \fBrotation\fP only for TrueType font. The \fBrotation\fP is in units of tenth degrees.
.PP
\fBCreateLogFontIndirect\fP function creates a logical font. Note that the size of logical font may be different from the size expected.
.PP
\fBDestroyLogFont\fP function destroys a logical font \fBlog_font\fP.
.PP
\fBGetSystemFont\fP function retrives the system logical font. \fBfont_id\fP is the identifier of system font. So far, you can only use \fBSYSLOGFONT_DEFAULT\fP as the value.
.PP
\fBGetCurFont\fP function retrives the current logical font in the DC. When initializes a DC, MiniGUI will set system font as its default logical font.
.PP
\fBSelectFont\fP function selects a logical font into the DC. This function returns the handle to the old logical font.
.SH "SEE ALSO"
.BR TextOut (3),
.BR GetSysCharWidth (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.
-125
View File
@@ -1,125 +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 "Main" "3" "July 2000" "MiniGUI"
.SH "NAME"
Main \- the entrance of MiniGUI based program
.SH "SYNOPSIS"
.B #include <minigui/minigui.h>
.PP
.BI "int MiniGUIMain" "(int args, const char* arg[]);"
.br
.BI "BOOL GUIAPI PreInitGUI" "(int args, const char* arg[], int* retp);"
.br
.BI "int GUIAPI PostTerminateGUI" "(int args, const char* arg[], int rcByGUI);"
.br
.BI "void GUIAPI ExitGUISafely" "(int exitcode);"
.br
.SH "DESCRIPTION"
.PP
Usually, \fBMiniGUIMain\fP function is the entrance of each MiniGUI-based program. In this function, you can create one or more threads for specified main windows. Here is a deliberate design, it is very simple:
.PP
.nf
int MiniGUIMain(int args, const char* arg[])
{
pthread_t thread1, thread2;
CreateThreadForMainWindow(&thread1, NULL, MainWin1, 0);
CreateThreadForMainWindow(&thread2, NULL, MainWin2, 0);
return 0;
}
.fi
.PP
Here we call function \fBCreateThreadForMainWindow\fR to create a thread for the main window. This function will return zero if success, or else it will return nonzero value.
.PP
MiniGUI will call \fBPreInitGUI\fP automaticlly in \fBmain\fP function. Applications should avoid calling this function directly. \fBmain\fP function has been implemented in libminigui as following:
.PP
.nf
int main(int args, char* agr[])
{
int iRet = 0;
if (!PreInitGUI (args, agr, &iRet))
return iRet;
if (!InitGUI()) return -1;
iRet = MiniGUIMain (args, agr);
TerminateGUI (iRet);
iRet = PostTerminateGUI (args, agr, iRet);
return iRet;
}
.fi
.PP
You must implemente \fBPreInitGUI\fR function by yourself, so you have a chance to do something before starting MiniGUI. If the return value is \fBTRUE\fR, the program will running on, else if the return value is \fBFALSE\fR, the program will terminate.
.PP
Before terminating the application, \fBmain\fR function will call \fBPostTerminateGUI\fR function. The return value of \fBPostTerminateGUI\fR is the exit code of program.
.PP
You must implemente \fBPostTerminateGUI\fR function by your own, so you have a chance to modify the exit code of the program.
.PP
\fBExitGUISafely\fP has been implemented as following:
.PP
.nf
void ExitGUISafely(int exitcode)
{
pthread_kill_other_threads_np();
TerminateLWEvents();
TerminateGDI();
exit(exitcode);
}
.fi
.PP
When the program exiting, it will transfer the value \fBexitcode\fP to the system shell.
.SH "NOTES"
You should implemented \fBPreInitGUI, PostTerminateGUI\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
// PreInitGUI functions
#define DONT_USE_SYS_PREINITGUI
#include <minigui/dti.c>
// Define your own instance here.
BOOL GUIAPI PreInitGUI (int args, const char* arg[], int* retp)
{
if (...)
return FALSE; // Terminate program immediately.
return TRUE; // Startup minigui normally.
}
.fi
.SH "SEE ALSO"
.BR miniguiMain "(3), " miniguiInit "(3), " miniguiDTI (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
-56
View File
@@ -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 "MapTransf" "3" "August 2000" "MiniGUI"
.SH "NAME"
MapTransf \- coordinates transform
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.br
.PP
.BI "void GUIAPI DPtoLP" "(HDC hdc, POINT* pPt);"
.br
.BI "void GUIAPI LPtoDP" "(HDC hdc, POINT* pPt);"
.SH "DESCRIPTION"
.PP
\fBDPtoLP\fP function converts device coordinates into logical coordinates. The conversion depends on the mapping mode of the display context, the settings of the origins and extents for the window and viewport. The x-coordinate and y-coordinate contained in struct \fBpPt\fP will be transformed.
.PP
\fBLPtoDP\fP function converts logical coordinates into device coordinates. The conversion depends on the mapping mode of the display context, the settings of the origins and extents for the window and viewport. The x-coordinate and y-coordinate contained in struct \fBpPt\fP will be transformed.
.SH "NOTE"
.PP
.SH "SEE ALSO"
.BR SetMapMode (3),
.BR SetWindowOrg (3),
.BR SetWindowExt (3),
.BR SetViewportOrg (3),
.BR SetViewportExt (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.
-115
View File
@@ -1,115 +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 "Mapping" "3" "August 2000" "MiniGUI"
.SH "NAME"
Mapping \- coordinates mapping functions.
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.br
.PP
.BI "int GUIAPI GetMapMode" "(HDC hdc);"
.br
.BI "void GUIAPI GetViewportExt" "(HDC hdc, POINT* pPt);"
.br
.BI "void GUIAPI GetViewportOrg" "(HDC hdc, POINT* pPt);"
.br
.BI "void GUIAPI GetWindowExt" "(HDC hdc, POINT* pPt);"
.br
.BI "void GUIAPI GetWindowOrg" "(HDC hdc, POINT* pPt);"
.PP
.BI "void GUIAPI SetMapMode" "(HDC hdc, int mapmode);"
.br
.BI "void GUIAPI SetViewportExt" "(HDC hdc, POINT* pPt);"
.br
.BI "void GUIAPI SetViewportOrg" "(HDC hdc, POINT* pPt);"
.br
.BI "void GUIAPI SetWindowExt" "(HDC hdc, POINT* pPt);"
.br
.BI "void GUIAPI SetWindowOrg" "(HDC hdc, POINT* pPt);"
.SH "DESCRIPTION"
.PP
\fBGetMapMode\fP function retrives the current mapping mode. So far, MiniGUI support two mapping modes:
.PP
.IP \fBMM_TEXT\fP
Each logical unit is mapped to on device pixel. Positive x is to the right; positive y is down.
.IP \fBMM_ANISOTROPIC\fP
Logical units are mapped to arbitrary units with arbitrarily scaled axes; Use \fBSetWindowExt\fP and \fBSetViewportExt\fP functions to specify the units, orientation, and scaling required.
.PP
\fBGetViewportExt\fP function retrieves the x-extents and y-extents of the current viewport for the specified display context \fBhdc\fP. the x- and y-extents, in device units, are placed in \fBpPt\fP struct.
.PP
\fBGetViewportOrg\fP function retrieves the x-coordinates and y-coordinates of the viewport orgin for the specified display context. The \fBpPt\fP struct will receive the viewport origin.
.PP
\fBGetWindowExt\fP function retrives the x-extents and y-extents of the window for the specified display context. The x- and y-extents in page space units (as known as logical units) are placed int \fBpPt\fP struct.
.PP
\fBGetWindowOrg\fP function retrives the x-coordinates and y-coordinates of the window origin for the specified device context. The \fBpPt\fP struct will receive the window origin.
.PP
\fBSetMapMode\fP function sets the mapping mode of the specified display context. The mapping mode defines the unit of measure used to transform page-space units into device-space units, and also defines the orientation of the device's x and y axes. So far, MiniGUI support only two mapping mode: \fBMM_TEXT\fP and \fBMM_ANISOTROPIC\fP.
.PP
\fBSetViewportExt\fP function sets the horizontal and vertical extents of the viewport for a display context by using the specified values in struct \fBpPt\fP.
.PP
\fBSetViewportOrg\fP function sets the viewport origin of a display context by using the specified coordinates in struct \fBpPt\fP.
.PP
\fBSetWindowExt\fP function sets the horizontal and vertical extents of the window for a display context by using the specified values in struct \fBpPt\fP.
.PP
\fBSetWindowOrg\fP function sets the window origin of the display context by using the specified coordinates in struct \fBpPt\fP.
.SH "NOTE"
.PP
The following formula shows the math involved in converting a point from page space to device space.
.PP
Dx = ((Lx - WOx) * VEx / WEx) + VOx
.PP
The following variables are involved:
.PP
.I Dx
x value in device units
.br
.I Lx
x value in logical units (also known as page space units)
.br
.I WOx
window x origin
.br
.I VOx
viewport x origin
.br
.I WEx
window x-extent
.br
.I VEx
viewport x-extent
.PP
The same equation with y replacing x transforms the y component of a point.
.PP
The formula first offsets the point from its coordinate origin. This value, no longer biased by the origin, is then scaled into the destination coordinate system by the ratio of the extents. Finally, the scaled value is offset by the destination origin to its final mapping.
.SH "SEE ALSO"
.BR LPtoDP (3),
.BR DPtoLP (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.
-152
View File
@@ -1,152 +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 "MenuHandler" "3" "August 2000" "MiniGUI"
.SH "NAME"
MenuHandler \- Menu Support Functioins.
.SH "SYNOPSIS"
.B #include <minigui/window.h>
.br
.PP
.BI "HMENU GUIAPI LoadMenuFromFile" "(const char* filename, int id);"
.br
.BI "HMENU GUIAPI CreateMenu" "(void);"
.br
.BI "HMENU GUIAPI CreatePopupMenu" "( PMENUITEMINFO pmii);"
.br
.BI "HMENU GUIAPI CreateSystemMenu" "(HWND hwnd, DWORD dwStyle);"
.br
.BI "int GUIAPI InsertMenuItem" "(HMENU hmnu, int item,BOOL flag, PMENUITEMINFO pmii);"
.br
.BI "int GUIAPI RemoveMenu" "(HMENU hmnu, int item, UINT flags);"
.br
.BI "int GUIAPI DeleteMenu" "(HMENU hmnu, int item, UINT flags);"
.br
.BI "int GUIAPI DestroyMenu" "(HMENU hmnu);"
.br
.BI "int GUIAPI IsMenu" "(HMENU hmnu);"
.br
.BI "HMENU GUIAPI SetMenu" "(HWND hwnd, HMENU hmnu);"
.br
.BI "HMENU GUIAPI GetMenu" "(HWND hwnd);"
.br
.BI "void GUIAPI DrawMenuBar" "(HWND hwnd);"
.br
.BI "int GUIAPI TrackMenuBar" "(HWND hwnd, int pos);"
.br
.BI "int GUIAPI TrackPopupMenu" "(HMENU hmnu, UINT uFlags, int x, int y, HWND hwnd);"
.br
.BI "HMENU GUIAPI GetMenuBarItemRect" "(HWND hwnd, int pos, RECT* prc);"
.br
.BI "BOOL GUIAPI HiliteMenuBarItem" "(HWND hwnd, int pos, UINT flag);"
.br
.BI "int GUIAPI GetMenuItemCount" "(HMENU hmnu);"
.br
.BI "int GUIAPI GetMenuItemID" "(HMENU hmnu, int pos);"
.br
.BI "int GUIAPI GetMenuItemInfo" "(HMENU hmnu, int item, BOOL flag, PMENUITEMINFO pmii);"
.br
.BI "int GUIAPI GetMenuItemRect" "(HWND hwnd, HMENU hmnu, int item, PRECT prc);"
.br
.BI "HMENU GUIAPI GetPopupSubMenu" "(HMENU hpppmnu);"
.br
.BI "HMENU GUIAPI GetSubMenu" "(HMENU hmnu, int pos);"
.br
.BI "int GUIAPI GetSystemMenu" "(HWND hwnd, BOOL flag);"
.br
.BI "UINT GUIAPI EnableMenuItem" "(HMENU hmnu, int item, UINT flags);"
.br
.BI "int GUIAPI CheckMenuRadioItem" "(HMENU hmnu, int first, int last, int checkitem, UINT flags);"
.br
.BI "int GUIAPI SetMenuItemBitmaps" "(HMENU hmnu, int item, UINT flags, PBITMAP hBmpUnchecked, PBITMAP hBmpChecked);"
.br
.BI "int GUIAPI SetMenuItemInfo" "(HMENU hmnu, int item, BOOL flag, PMENUITEMINFO pmii);"
.SH "DESCRIPTION"
.PP
\fBLoadMenuFromFile\fP function loads a menu from a external file. The function is not implemented at current time.
.PP
\fBCreateMenu\fP function creates a menu. The menu is initially empty, but it can be filled with menu items by using the InsertMenuItem, AppendMenu, and InsertMenu functions.
.PP
\fBCreatePopupMenu\fP function creates a drop-down menu or submenu. The menu is initially empty. You can insert or append menu items by using the InsertMenuItem function.
.PP
\fBCreateSystemMenu\fP function creates a system menu. It can be used to replace the application's system menu.
.PP
\fBInsertMenuItem\fP function inserts a new menu item at the specified position in a menu.
.PP
\fBRemoveMenu\fP function deletes a menu item or detaches a submenu from the specified menu.
.PP
\fBDeleteMenu\fP function deletes an item from the specified menu.
.PP
\fBDestroyMenu\fP function destroys the specified menu and frees any memory that the menu occupies.
.PP
\fBIsMenu\fP function determines whether a handle is a menu handle.
.PP
\fBSetMenu\fP function assigns a new menu to the specified window.
.PP
\fBGetMenu\fP function retrieves the handle to the menu assigned to the given window.
.PP
\fBDrawMenuBar\fP function redraws the menu bar of the specified window. If the menu bar changes after the system has created the window, this function must be called to draw the changed menu bar.
.PP
\fBTrackMenuBar\fP function displays the specified submenu.
.PP
\fBTrackPopupMenu\fP function displays a shortcut menu at the specified location and tracks the selection of items on the menu. The shortcut menu can appear anywhere on the screen.
.PP
\fBGetMenuBarItemRect\fP function retrieves the rect of the menu bar item specified by the parameter \fBpos\fP.
.PP
\fBHiliteMenuBarItem\fP function draws the specified menubar item with 3D effect.
.PP
\fBGetMenuItemCount\fP function determines the number of items in the specified menu.
.PP
\fBGetMenuItemID\fP function retrieves the menu item identifier of a menu item at specified position in a menu.
.PP
\fBGetMenuItemInfo\fP function retrieves information about a menu item.
.PP
\fBGetMenuItemRect\fP function retrieves the bounding rectangle for the specified menu item.
.PP
\fBGetPopupSubMenu\fP function retrieves the submenu of the specified popup menu.
.PP
\fBGetSubMenu\fP function retrieves the handle to the drop-down menu or submenu activated by the specified menu item.
.PP
\fBGetSystemMenu\fP function allows the application to access the window menu (also known as the system menu or the control menu) for copying and modifying.
.PP
\fBEnableMenuItem\fP function enables, disables, or grays the specified menu item.
.PP
\fBCheckMenuRadioItem\fP function checks a specified menu item and makes it a radio item. At the same time, the function unchecks all other menu items in the associated group and clears the radio-item type flag for those items.
.PP
\fBSetMenuItemBitmaps\fP function associates the specified bitmap with a menu item. Whether the menu item is checked or unchecked, the system displays the appropriate bitmap next to the menu item.
.PP
\fBSetMenuItemInfo\fP function changes information about a menu item.
.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.
-101
View File
@@ -1,101 +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 "Message" "3" "August 2000" "MiniGUI"
.SH "NAME"
Message \- message function of MiniGUI.
.SH "SYNOPSIS"
.B #include <minigui/window.h>
.br
.PP
.BI "int GUIAPI GetMessage" "(PMSG pMsg, HWND hMainWnd);"
.br
.BI "BOOL GUIAPI HavePendingMessage" "(HWND hMainWnd);"
.br
.BI "int GUIAPI PostMessage" "(HWND hWnd, int iMsg, WPARAM wParam, LPARAM lParam);"
.br
.BI "int GUIAPI SendMessage" "(HWND hWnd, int iMsg, WPARAM wParam, LPARAM lParam);"
.br
.BI "int GUIAPI PostSyncMessage" "(HWND hWnd, int iMsg, WPARAM wParam, LPARAM lParam);"
.br
.BI "int GUIAPI SendAsyncMessage" "(HWND hWnd, int iMsg, WPARAM wParam, LPARAM lParam);"
.br
.BI "int GUIAPI SendNotifyMessage" "(HWND hWnd, int iMsg, WPARAM wParam, LPARAM lParam);"
.br
.BI "int GUIAPI BroadcastMessage" "(int iMsg, WPARAM wParam, LPARAM lParam);"
.br
.BI "int GUIAPI PostQuitMessage" "(HWND hWnd);"
.br
.BI "int GUIAPI TranslateMessage" "(PMSG pMsg);"
.br
.BI "int GUIAPI DispatchMessage" "(PMSG pMsg);"
.br
.BI "int GUIAPI ThrowAwayMessages" "(HWND pMainWnd);"
.br
.BI "int GUIAPI TranslateAccelerator" "(HWND hWnd, HACCEL hAccel, PMSG pMsg);"
.SH "DESCRIPTION"
.PP
\fBGetMessage\fP function gets a message from the message queue of the window \fBhWnd\fP. It will return until there is a message in the message queue.
.PP
\fBHavePendingMessage\fP function checks if there is any message in the message queue. This function returns TRUE when message queue is not empty.
.PP
\fBPostMessage\fP function posts a message into the message queue of the window \fBhWnd\fP and returns immediatly.
.PP
\fBSendMessage\fP function sends a message to the window \fBhWnd\fP.
.PP
\fBPostSyncMessage\fP function posts a synchronous message to the destination window \fBhWnd\fP, and returns until the message is handled by the window procedure. Note that the destination window must belong to other thread.
.PP
\fBSendAsyncMessage\fP function sends a asynchronous message to the destination window \fBhWnd\fP, and calls the window procedure immediately. Note that this function may corrupt your data.
.PP
\fBSendNotifyMessage\fP function sends a notification message to the destination window \fBhWnd\fP. If the window is belong to the same thread, this function acts same as \fBSendMessage\fP, else same as \fBPostMessage\fP.
.PP
\fBBroadcastMessage\fP function broadcasts a message to all main window on the desktop.
.PP
\fBPostQuitMessage\fP function puts a MSG_QUIT message into the message queue.
.PP
\fBTranslateMessage\fP function translates key down and key up message to WM_CHAR message and puts it into message queue.
.PP
\fBDispatchMessage\fP function dispatchs a message to the destination window's callback procedure.
.PP
\fBThrowAwayMessages\fP function removes all messages in the message queue associated with the current window.
.PP
\fBTranslateAccelerator\fP function translates an accelerator key message to WM_COMMAND messge and sends it to window procdure.
.SH "RETURN VALUE"
.PP
.SH "NOTE"
.PP
.SH "SEE ALSO"
.SH "AUTHOR"
.PP
This manual page was edited by Kevin <kevin@minigui.org>.
If you have any problems, comments or found some bugs, please send messages to me.
-34
View File
@@ -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 "Messages" "3" "Nov. 2000" "MiniGUI"
.SH "NAME"
Messages \- Message list of MiniGUI version 1.x.
.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.
-81
View File
@@ -1,81 +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 "Misc" "3" "July 2000" "MiniGUI"
.SH "NAME"
Misc \- the miscellouse functions of MiniGUI
.SH "SYNOPSIS"
.B #include <minigui/minigui.h>
.PP
.BI "void GUIAPI Ping" "(void);"
.br
.BI "void GUIAPI Beep" "(void);"
.br
.BI "void GUIAPI Tone" "(int frequency_hz, int duration_ms);"
.PP
.BI "void* GUIAPI GetOriginalTermIO" "(void);"
.PP
.BI "void GUIAPI Draw3DUpFrame" "(HDC hDC, int l, int t, int r, int b, int fillc);"
.br
.BI "void GUIAPI Draw3DDownFrame" "(HDC hDC, int l, int t, int r, int b, int fillc);"
.br
.BI "void GUIAPI Draw3DUpThickFrame" "(HDC hDC, int l, int t, int r, int b, int fillc);"
.br
.BI "void GUIAPI Draw3DDownThickFrame" "(HDC hDC, int l, int t, int r, int b, int fillc);"
.br
.BI "void GUIAPI Draw3DBorder" "(HDC hDC, int l, int t, int r, int b);"
.PP
.BI "void GUIAPI DisabledTextOut" "(HDC hDC, int x, int y, const char* szText);"
.SH "DESCRIPTION"
.PP
\fBPing\fP print a "\\a" to \fBstdout\fP.
.PP
\fBBeep\fP functions same as \fBPing\fP.
.PP
\fBTone\fP make a tone with \fBfrequency_hz\fP Hertz by using PC speaker. The tone will go on \fBduration_ms\fP milliseconds. Note that this function will not function on X Window. Also note that the function will return immetiately other than waiting within the duration of the tone.
.PP
\fBGetOriginalTermIO\fP returns the original \fBtermio\fP before MiniGUI startup. Before switch to graphics mode on console, MiniGUI will save the original \fBtermio\fP of the console. You can get the \fBtermio\fP with this function.
.PP
\fBDraw3DUpFrame\fP draws a 3D frame looks like up, and fills the frame with \fBfillc\fP color if \fBfillc\fP is greater than or equal to zero.
.PP
\fBDraw3DDownFrame\fP draws a 3D frame looks like down, and fill frame with \fBfillc\fP color if \fBfillc\fP is greater than or equal to zero.
.PP
\fBDraw3DUpThickFrame\fP functions like \fBDraw3DUpFrame\fP, but draws a thin frame other than thick frame.
.PP
\fBDraw3DDownThickFrame\fP functions like \fBDraw3DDownFrame\fP, but draws a thin frame other than thick frame.
.PP
\fBDraw3DBorder\fP draws the border of a 3D-look frame.
.PP
\fBDisabledTextOut\fP outputs a gray text pointer to \fBszText\fP at \fB(x, y)\fP by using \fBTextOut\fP.
.PP
\fBhDC\fP is the handle to current display content.
.PP
\fBl, t, r, b\fP are the left, top, right, bottom of the rectangle respectively.
.SH "SEE ALSO"
.BR TextOut "(3), " iotcl (2)
.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.
-83
View File
@@ -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 "PenBrush" "3" "August 2000" "MiniGUI"
.SH "NAME"
PenBrush \- get/set the pen and brush attributes of a DC.
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.br
.PP
.BI "gal_pixel GUIAPI GetPenColor" "(HDC hdc);"
.br
.BI "gal_pixel GUIAPI SetPenColor" "(HDC hdc, gal_pixel color);"
.br
.BI "int GUIAPI GetPenType" "(HDC hdc);"
.br
.BI "int GUIAPI SetPenType" "(HDC hdc, int pentype);"
.PP
.BI "gal_pixel GUIAPI GetBrushColor" "(HDC hdc);"
.br
.BI "gal_pixel GUIAPI SetBrushColor" "(HDC hdc, gal_pixel color);"
.br
.BI "int GUIAPI GetBrushType" "(HDC hdc);"
.br
.BI "int GUIAPI SetBrushType" "(HDC hdc, int brushtype);"
.SH "DESCRIPTION"
.PP
\fBGetPenColor\fP function returns the pen color of the DC.
.PP
\fBSetPenColor\fP function sets the pen color of the DC.
.PP
\fBGetPenType\fP function gets the pen type of the DC. So far, this function has no effect.
.PP
\fBSetPenType\fP function sets the pen type of the DC. So far, this function has no effect.
.PP
\fBGetBrushColor\fP function returns the brush color of the DC.
.PP
\fBSetBrushColor\fP function set the brush color of the DC.
.PP
\fBGetBrushType\fP function returns the brush type of the DC. So far, this function has no effect.
.PP
\fBSetBrushType\fP function sets the brush type of the DC. So far, this function has no effect.
.SH "RETURN VALUE"
.PP
The \fBGet...\fP functions return the value wanted. The \fBSet...\fP functions return the old value.
.SH "NOTE"
.PP
So far, there is no any advanced 2D raster operation in MiniGUI. So some function above have not any effect.
.SH "SEE ALSO"
.BR LineTo (3),
.BR Rectangle (3),
.BR FillBox (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.
-128
View File
@@ -1,128 +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 "Rect" "3" "August 2000" "MiniGUI"
.SH "NAME"
Rect \- Rectangle operations in MiniGUI.
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.br
.PP
.BI "void GUIAPI SetRect" "(RECT* prc, int left, int top, int right, int bottom);"
.br
.BI "void GUIAPI SetRectEmpty" "(RECT* prc);"
.br
.BI "void GUIAPI CopyRect" "(RECT* pdrc, const RECT* psrc);"
.br
.BI "BOOL GUIAPI IsRectEmpty" "(const RECT* prc);"
.br
.BI "BOOL GUIAPI EqualRect" "(const RECT* prc1, const RECT* prc2);"
.br
.BI "void GUIAPI NormalizeRect" "(RECT* pRect);"
.br
.BI "BOOL GUIAPI IntersectRect" "(RECT* pdrc, const RECT* psrc1, const RECT* psrc2);"
.br
.BI "BOOL GUIAPI IsCovered" "(const RECT* prc1, const RECT* prc2);"
.br
.BI "BOOL GUIAPI DoesIntersect" "(const RECT* psrc1, const RECT* psrc2);"
.br
.BI "BOOL GUIAPI UnionRect" "(RECT* pdrc, const RECT* psrc1, const RECT* psrc2);"
.br
.BI "void GUIAPI GetBoundRect" "(PRECT pdrc, const RECT* psrc1, const RECT* psrc2);"
.br
.BI "int GUIAPI SubtractRect" "(RECT* rc, const RECT* psrc1, const RECT* psrc2);"
.br
.BI "void GUIAPI OffsetRect" "(RECT* prc, int x, int y);"
.br
.BI "void GUIAPI InflateRect" "(RECT* prc, int cx, int cy);"
.br
.BI "void GUIAPI InflateRectToPt" "(RECT* prc, int x, int y);"
.br
.BI "BOOL GUIAPI PtInRect" "(const RECT* prc, int x, int y);"
.SH "DESCRIPTION"
.PP
\fBSetRect\fP function sets the rectangle with specified values. A rectangle in MiniGUI is a struct defined as:
.PP
.nf
typedef struct tagRECT
{
int left;
int top;
int right;
int bottom;
} RECT;
typedef RECT* PRECT;
typedef RECT* LPRECT;
.fi
.PP
\fBSetRectEmpty\fP function empties the rectangle pointed to by \fBprc\fP. A empty rectangle in MiniGUI is a rectangle whose width and height both are zero. This function will sets all coordinates of the rectangle to zero.
.PP
\fBCopyRect\fP function copies the coordinates of the source rectangle pointed to by \fBpsrc\fP to the destination rectangle pointed to by \fBpdrc\fP.
.PP
\fBIsRectEmpty\fP function determines whether the specified rectangle is empty. A empty rectangle is one that has no area; that is, the coordinates of the right side is equal to the coordinate of the left side, or the coordinates of the bottom side is equal to the coordinate of the top side.
.PP
\fBEqualRect\fP function determines whether the two specified rectangles \fB(prc1 and prc2)\fP are equal by comparing the coordinates of the upper-left and lower-right corners.
.PP
\fBNormalizeRect\fP function normalizes the rectangle pointed to by \fBprc\fP so that both the height and width are positive.
.PP
\fBIntersectRect\fP function calculates the intersection of two source rectangle \fB(psrc1 and psrc2)\fP and places the coordinates of the intersection rectangle into the destination rectangle. If the source rectangls do not intersect, and empty rectangle (in which all coordinates are set to zero) is placed into the destination rectangle.
.PP
\fBIsCovered\fP function determines whether one rectangle \fB(prc1)\fP is cover another rectangle \fB(prc2)\fP.
.PP
\fBDoesIntersect\fP function determines whether two rectangles intersect.
.PP
\fBUnionRect\fP function creates the union \fB(pdrc)\fP of two rectangles \fB(psrc1, psrc2)\fP. The union is the smallest rectangle that contains both source rectangles. This function is different from its Windows version, the source rectangles must be border upon and not stagger.
.PP
\fBGetBoundRect\fP function creates the bound rect \fB(pdrc)\fP of two rectangles \fB(psrc1, prsrc2)\fP. the bound rect is the smallest rectangle that contains both source rectangles.
.PP
\fBSubtractRect\fP function obtains the rectangles when substracting one rectangle from another. \fBrc\fP should be an array of RECT struct, and may contain at most four rectangles. This function returns the number of result rectangles.
.PP
\fBOffsetRect\fP function moves the specified rectangle by the specified offsets. \fBdx\fP and \fBdy\fP specify the amount to move the rectangle left/right or up/down respectively. \fBdx\fP must be a negative value to move the rectangle to the left, and \fBdy\fP must be a negative value to move the rectangle up.
.PP
\fBInflateRect\fP function increases or decreases the width and height of the specified rectangle. This function adds \fBdx\fP units to the left and right ends of the rectangle and \fBdy\fP units to the top and bottom. the \fBdx\fP and \fBdy\fP are signed values; positive values increases the width and height, and negative values decreases them.
.PP
\fBInflateRectToPt\fP function inflates the rectangle to contain the specified point \fB(x, y)\fP.
.PP
\fBPtInRect\fP function determines whether the specified point lies within the specified rectangle. A point is within a rectangle if it lies on the left or top side or is within all four sides. A point on the right or bottom side is considered outside the rectangle.
.SH "NOTE"
.PP
Note that some rectangle functions in MiniGUI are not equivalents of their Windows version. The following macros can help you determine the width and height of a rectangle object:
.nf
#define RECTWP(prc) (prc->right - prc->left)
#define RECTHP(prc) (prc->bottom - prc->top)
#define RECTW(rc) (rc.right - rc.left)
#define RECTH(rc) (rc.bottom - rc.top)
.fi
.SH "SEE ALSO"
.PP
.BR GetClipRgnBoundRect (3),
.BR SubtractClipRect (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.
-87
View File
@@ -1,87 +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 "ClipRgn" "3" "August 2000" "MiniGUI"
.SH "NAME"
ClipRgn \- operations of region.
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.PP
.BI "void GUIAPI InitClipRgn" "(PCLIPRGN pRgn, PFREECLIPRECTLIST pFreeList);"
.br
.BI "BOOL GUIAPI ClipRgnCopy" "(PCLIPRGN pDstRgn, const CLIPRGN* pSrcRgn);"
.br
.BI "BOOL GUIAPI ClipRgnIntersect" "(PCLIPRGN pRstRgn, const CLIPRGN* pRgn1, const CLIPRGN* pRgn2);"
.br
.BI "void GUIAPI GetClipRgnBoundRect" "(PCLIPRGN pRgn, PRECT pRect);"
.br
.BI "BOOL GUIAPI SetClipRgn" "(PCLIPRGN pRgn, const RECT* pRect);"
.br
.BI "BOOL GUIAPI IsEmptyClipRgn" "(const CLIPRGN* pRgn);"
.br
.BI "void GUIAPI EmptyClipRgn" "(PCLIPRGN pRgn);"
.br
.BI "BOOL GUIAPI AddClipRect" "(PCLIPRGN pRgn, const RECT* pRect);"
.br
.BI "BOOL GUIAPI IntersectClipRect" "(PCLIPRGN pRgn, const RECT* pRect);"
.br
.BI "BOOL GUIAPI SubtractClipRect" "(PCLIPRGN pRgn, const RECT* pRect);"
.SH "DESCRIPTION"
.PP
Region in MiniGUI is a set of no-intersected rects. We call region as clipping region in functions due to the reason of history.
.PP
\fBInitClipRgn\fP function initializes the region specified by \fBpRgn\fP, and tells the region to use \fBpFreeList\fP to allocate rects.
.PP
\fBClipRgnCopy\fP function copies the region pointed to by \fBpSrcRgn\fP to the region pointed to by \fBpDstRgn\fP. This function will empty the region \fBpDstRgn\fP first.
.PP
\fBClipRgnIntersect\fP function gets the intersection of two regions pointed to by \fBpRgn1\fP and \fBpRgn2\fP respectively and puts the result to the region pointed to by \fBpRstRgn\fP.
.PP
\fBGetClipRgnBoundRect\fP function gets the bounding rect of the region pointed to by \fBpRgn\fP, and returns the rect in the rect pointed to by \fBpRect\fP.
.PP
\fBSetClipRgn\fP function sets the region \fBpRgn\fP to contain only a rect pointed to by \fBpRect\fP. This function will empty the region first.
.PP
\fBIsEmptyClipRgn\fP function determines whether the region pointed to by \fBpRgn\fP is an empty region. TRUE for empty one, else for not empty region.
.PP
\fBEmptyClipRgn\fP function empties the region pointed to by \fBpRgn\fP.
.PP
\fBAddClipRect\fP function appends a rect to the region pointed to by \fBpRgn\fP.
.PP
\fBIntersectClipRect\fP function intersects the region pointed to by \fBpRgn\fP with a rect pointed to by \fBpRect\fP.
.PP
\fBSubtractClipRect\fP function substracts a rect pointed to by \fBprect\fP from the region \fBpRgn\fP.
.SH "RETURN VALUE"
.PP
All above functions return FALSE when an error occurred, else return TRUE to indicate success.
.SH "NOTE"
.PP
.SH "SEE ALSO"
.BR InitFreeClipRectList (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.
-65
View File
@@ -1,65 +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 "Screen" "3" "August 2000" "MiniGUI"
.SH "NAME"
Screen \- Screen image operations.
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.br
.PP
.BI "void GUIAPI SaveScreenBox" "(int x, int y, int w, int h, void* vbuf);"
.br
.BI "void* GUIAPI SaveCoveredScreenBox" "(int x, int y, int w, int h);"
.br
.BI "BOOL GUIAPI SaveMainWindowContent" "(HWND hWnd, const char* filename);"
.br
.BI "void GUIAPI PutSavedBoxOnScreen" "(int x, int y, int w, int h, void* vbuf);"
.br
.BI "void GUIAPI PutSavedBoxOnDC" "(HDC hdc, int x, int y, int w, int h, void* vbuf);"
.br
.BI "void GUIAPI ScreenCopy" "(int sx, int sy, HDC hdc, int dx, int dy);"
.SH "DESCRIPTION"
.PP
\fBSaveScreenBox\fP function saves screen image in the memory pointed to by \fBvbuf\fP. The image box begins at \fB(x, y)\fP, and is \fBw\fP wide and \fBh\fP high. You must sure that \fBvbuf\fP is big enough to store the image.
.PP
\fBSaveCoveredScreenBox\fP function is similar with \fBSaveScreenBox\fP, but this function will allocate memory for you. When allocation of memory failure, the function will return \fBNULL\fP to indicate this error case.
.PP
\fBSaveMainWindowContent\fP function saves a main window image content into a file named \fBfilename\fP in Windows BMP file format. The handle \fBhWnd\fP specifies the main window. If there are some errors occurred, this function will return \fBFALSE\fP, else return \fBTRURE\fP.
.PP
\fBPutSavedBoxOnScreen\fP function puts a pre-saved image in the memory pointed to by \fBvbuf\fP on the screen. This function will scale the image when necessary.
.PP
\fBPutSavedBoxOnDC\fP function puts a pre-saved image in the memory pointed to by \fBvbuf\fP on the DC \fBhdc\fP.
.PP
\fBScreenCopy\fP function copies screen ranged in the DC \fBhdc\fP from \fB(sx, xy)\fP to \fB(dx, dy)\fP. Note that the coordinates are in device coordinate system.
.SH "SEE ALSO"
.BR FillBoxWithBitmap (3),
.BR BitBlt (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.
-48
View File
@@ -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 "String" "3" "July 2000" "MiniGUI"
.SH "NAME"
String \- the string operation helpers of MiniGUI
.SH "SYNOPSIS"
.B #include <minigui/minigui.h>
.PP
.BI "char* strnchr" "(const char* s, size_t n, int c);"
.PP
.BI "int substrlen" "(const char* text, int len, char delimiter, int* nr_delim);"
.SH "DESCRIPTION"
.PP
The \fBstrchr()\fP function returns a pointer to the first occurrence of the character \fBc\fP in the first \fBn\fP characters of string \fBs\fP. This function is similar with \fBstrchr\fP in ANSI C.
.PP
The \fBsubstrlen\fP function returns the length of the sub-string in the first \fBlen\fP characters of string \fBtext\fP. The sub-string is delimited with \fBdelimiter\fP from other character in the string. This function also returns number of continuous delimiters in \fBnr_delim\fP.
.SH "SEE ALSO"
.BR strchr (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.
-34
View File
@@ -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 "Structures" "3" "Nov. 2000" "MiniGUI"
.SH "NAME"
Structures \- Structure list of MiniGUI version 1.x.
.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.
-69
View File
@@ -1,69 +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 "SysChar" "3" "August 2000" "MiniGUI"
.SH "NAME"
SysChar \- Infomation of system characters in MiniGUI.
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.br
.PP
.BI "const char* GUIAPI GetSysCharset" "(void);"
.br
.BI "BOOL GUIAPI DoesSupportCharset" "(const char* charset);"
.br
.BI "int GUIAPI SetSysCharset" "(const char* charset);"
.PP
.BI "int GUIAPI GetSysCharWidth" "(void);"
.br
.BI "int GUIAPI GetSysCCharWidth" "(void);"
.br
.BI "int GUIAPI GetSysCharHeight" "(void);"
.br
.BI "void GUIAPI GetSysTabbedTextExtent" "(const char* spText, SIZE* pSize);"
.SH "DESCRIPTION"
.PP
\fBGetSysCharset\fP function gets system character set. Generally, the default system charset is GB2312-80, but you can change it by modifying \fBMiniGUI.cfg\fP. This function will return the address of the charset string.
.PP
\fBDoesSupportCharset\fP function determines whether MiniGUI supports the specified character set (\fBcharset\fP).
.PP
\fBSetSysCharset\fP function sets system charset to the specified charset. This function will return \fBTRUE\fP if success, else return \fBFALSE\fP.
.PP
\fBGetSysCharWidth\fP function gets the width of the system single-byte character. MiniGUI use mono-space font as system font, but you can specify a diffrent font to output text in windows of MiniGUI.
.PP
\fBGetSysCCharWidth\fP function gets the width of the system multi-byte character.
.PP
\fBGetSysCharHeight\fP function gets the height of the system character.
.PP
\fBGetSysTabbedTextExtent\fP function gets the output extent of a formatted string (\fBspText\fP) when using system font. This function will return the extent in SIZE struct pointed to by \fBpSize\fP.
.SH "SEE ALSO"
.BR MiniGUI.cfg (5),
.BR CreateLogFont (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.
-129
View File
@@ -1,129 +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 "TextOutput" "3" "August 2000" "MiniGUI"
.SH "NAME"
TextOutput \- Text output in MiniGUI.
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.PP
.BI "int GUIAPI GetFontHeight" "(HDC hdc);"
.br
.BI "int GUIAPI GetMaxFontWidth" "(HDC hdc);"
.PP
.BI "void GUIAPI GetTextExtent" "(HDC hdc, const char* spText, int len, SIZE* pSize);"
.br
.BI "void GUIAPI GetTabbedTextExtent" "(HDC hdc, const char* spText, int len, SIZE* pSize);"
.PP
.BI "int GUIAPI GetTextCharacterExtra" "(HDC hdc);"
.br
.BI "int GUIAPI SetTextCharacterExtra" "(HDC hdc, int extra);"
.PP
.BI "int GUIAPI GetTextAboveLineExtra" "(HDC hdc);"
.br
.BI "int GUIAPI SetTextAboveLineExtra" "(HDC hdc, int extra);"
.br
.BI "int GUIAPI GetTextBellowLineExtra" "(HDC hdc);"
.br
.BI "int GUIAPI SetTextBellowLineExtra" "(HDC hdc, int extra);"
.PP
.BI "int GUIAPI TextOutLen" "(HDC hdc, int x, int y, const char* spText, int len);"
.br
.BI "int GUIAPI TabbedTextOutLen" "(HDC hdc, int x, int y, const char* spText, int len);"
.br
.BI "int GUIAPI TabbedTextOutEx" "(HDC hdc, int x, int y, const char* spText, int nCount, int nTabPositions, int *pTabPositions, int nTabOrigin);"
.PP
.BI "void GUIAPI GetLastTextOutPos" "(HDC hdc, POINT* pt);"
.PP
.BI "int GUIAPI DrawTextEx" "(HDC hdc, const char* pText, int nCount, RECT* pRect, int nIndent, UINT nFormat);"
.SH "DESCRIPTION"
.PP
\fBGetFontHeight\fP function retrives the height of the current logical font in the DC.
.PP
\fBGetMaxFontWidth\fP function retrives the maximal character width of the current logical font in the DC.
.PP
\fBGetTextExtent\fP function computes the output extent of the text \fB(spText)\fP with length of \fBlen\fP. This function returns the extent in a SIZE struct pointed to by \fBpSize\fP and the width of text as the return value.
.PP
\fBGetTabbedTextExtent\fP function computes the output extent of the formatted text \fB(spText)\fP with length of \fBlen\fP. This function returns the extent in a SIZE struct pointed to by \fBpSize\fP and the width of text as the return value. The output extent will be affected by the default tab size if there are some TAB characters in the text.
.PP
\fBGetTextCharacterExtra\fP function retrives the current intercharacter spacing for the DC.
.PP
\fBSetTextCharacterExtra\fP function sets the intercharacter spacing for the DC and returns the old spacing value.
.PP
\fBGetTextAboveLineExtra\fP function retrives the current spacing above line for the DC.
.PP
\fBSetTextAboveLineExtra\fP function sets the spacing above line for the DC and returns the old value.
.PP
\fBGetTextBellowLineExtra\fP function retrives the current spacing bellow line for the DC.
.PP
\fBSetTextBellowLineExtra\fP function sets the spacing bellow line for the DC and returns the old value.
.PP
\fBTextOutLen\fP function outputs the text \fBspText\fP with length of \fBlen\fP at \fB(x, y)\fP. This function returns the width of text.
.PP
\fBTabbedTextOutLen\fP function outputs the formatted text \fBspText\fP with length of \fBlen\fP at \fB(x, y)\fP. This function returns the width of text. The output will be affected by the default tab size if there are some TAB characters in the text.
.PP
\fBTabbedTextOutEx\fP function writes a character string at a specified location, expanding tabs to the values specified in an anrry of tab-stop positions. Text is written in the currently selected font, background color, and text color.
.PP
\fBGetLastTextOutPos\fP function retrives the last text output position. All above functions and \fBDrawText\fP will affect this position.
.PP
\fBDrawTextEx\fP function draws formatted text \fB(pText)\fP in the specified rectangle \fB(pRect)\fP. It formats the text according to the specified method (through \fBnFormat\fP, including expanding tabs, justifying characters, breaking lines, and so forth). MiniGUI support the following method to format text so far:
.IP \fBDT_TOP\fP
Top-justifies text (single line only).
.IP \fBDT_LEFT\fP
Aligns text to the left.
.IP \fBDT_CENTER\fP
Centers text horizontally in the rectangle.
.IP \fBDT_RIGHT\fP
Aligns text to the right.
.IP \fBDT_VCENTER\fP
Centers text vertically (single line only).
.IP \fBDT_BOTTOM\fP
Justify the text to the bottom of the rectangle. This value must be combined with DT_SINGLELINE.
.IP \fBDT_WORDBREAK\fP
Break words. Lines are automatically broken beteween words if a word would extend past the edge of the rectangle specified by the the \fBpRect\fP parameter. A carriage return or linefeed also breaks the line.
.IP \fBDT_SINGLELINE\fP
Display text ont the single line only. Carriage returns and linefeeds do not break the line.
.IP \fBDT_EXPANDTABS\fP
Expands tab characters. The default number of character per tab is eight.
.IP \fBDT_TABSTOP\fP
Set tab stops. Bits 15-8 (hight-order byte of the low-order word) of the \fBuForma\fP parameter specify the number of characters for each tab. The default number of characters per tab is eight.
.IP \fBDT_NOCLIP\fP
Draws without clipping. \fBDrawText\fP is somewhat faster when DT_NOCLIP is used.
.IP \fBDT_CALCRECT\fP
Determines the width and the height of the rectangle. If there are multiple lines of text, \fBDrawText\fP uses the width of the rectangle pointed to by the lpRect parameter and extends the base of the rectangle to bound the last line of text. If there is only one line of text, \fBDrawText\fP modifies the right side of the rectangle so that it bounds the last character in the line. In either case, \fBDrawText\fP returns the height of the formatted text but does not draw the text.
.SH "NOTE"
.PP
When you specify the length of a string, you can pass \fB-1\fP to let MiniGUI calculates the length of a NULL-terminated string.
.SH "SEE ALSO"
.BR CreateLogFont (3),
.BR SelectFont (3),
.BR GetTextExtentPoint (3),
.BR SetTextColor (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.
-75
View File
@@ -1,75 +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 "TextParse" "3" "August 2000" "MiniGUI"
.SH "NAME"
TextParse \- Text parse in MiniGUI.
.SH "SYNOPSIS"
.B #include <minigui/gdi.h>
.br
.PP
.BI "int GUIAPI GetTextMCharInfo" "(HLOGFONT log_font, const char* mstr, int len, int* pos_chars);"
.br
.BI "int GUIAPI GetTextWordInfo" "(HLOGFONT log_font, const char* mstr, int len, int* pos_words, WORDINFO* info_words);"
.br
.BI "int GUIAPI GetFirstMCharLen" "(HLOGFONT log_font, const char* mstr, int len);"
.br
.BI "int GUIAPI GetFirstWord" "(HLOGFONT log_font, const char* mstr, int len, WORDINFO* word_info);"
.br
.BI "int GUIAPI GetTextExtentPoint" "(HDC hdc, const char* text, int len, int max_extent, int* fit_chars, int* pos_chars, int* dx_chars, SIZE* size);"
.SH "DESCRIPTION"
.PP
\fBGetTextMCharInfo\fP function retrives information of multi-byte characters in the string \fB(mstr)\fP with length of \fBlen\fP. This function returns the positions of characters in the string in an integer array pointed to by \fBpos_chars\fP.
.PP
\fBGetTextWordInfo\fP function retrives information of multi-byte words in the string \fB(mstr)\fP with length of \fBlen\fP. This function returns the positions of words in the string in an integer array pointed to by \fBpos_words\fP when the pointer is not equal to NULL. This function also returns the information of words in an WORDINFO struct array pointed to by \fBinfo_words\fP when the pointer is not NULL. WORDINFO struct in MiniGUI are defined as follows:
.nf
typedef struct _WORDINFO
{
int len; // length of the word
unsigned char delimiter; // delimiter after the word
int nr_delimiters; // number of delimiter after the word
} WORDINFO;
.fi
.PP
\fBGetFirstMCharLen\fP function retrives and returns the length of the first multi-byte character in string \fB(mstr)\fP with lenght of \fBlen\fP.
.PP
\fBGetFirstWord\fP function retrives the information of the first multi-byte character in string \fB(mstr)\fP with length of \fBlen\fP. This function returns the full length of the word including the delimiters after the word.
.PP
\fBGetTextExtentPoint\fP function computes the width and height of the specified string of text \fB(text)\fP with length of \fBlen\fP when output the text in limited space (\fBmax_extent\fP wide). If \fBpos_chars\fP and \fBdx_chars\fP are not NULL, this function will return the postions of each character in the text, and the output position of each character. This function returns the text extent in a SIZE struct pointed to by \fBsize\fP, and width of text as return value.
.SH "NOTE"
.PP
In MiniGUI, you can create logical font and specify its charset. MiniGUI handles multi-byte characters compling with the charset of the current logical font.
.SH "SEE ALSO"
.BR CreateLogFont (3),
.BR SelectFont (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.
-61
View File
@@ -1,61 +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 "Timer" "3" "August 2000" "MiniGUI"
.SH "NAME"
Timer \- Timer handle function.
.SH "SYNOPSIS"
.B #include <minigui/window.h>
.br
.PP
.BI "BOOL GUIAPI SetTimer" "(HWND hWnd, int id, int speed);"
.br
.BI "BOOL GUIAPI KillTimer" "(HWND hWnd, int id);"
.br
.BI "BOOL GUIAPI SetTimerSpeed" "(HWND hWnd, int id, int speed);"
.br
.BI "unsigned int GUIAPI GetTickCount" "(void);"
.SH "DESCRIPTION"
.PP
\fBSetTimer\fP function creates a timer with the specified time-out speed value.
\fBNOTE:\fP Parameter \fBspedd\fP may represent the frequency of the timer, or represent the time-out value of the timer. This is depend on the run-time library of MiniGUI. If \fB_MGTIMER_UNIT_10MS\fP is defined, \fBspeed\fP represents the time-out value of the timer, in the unit of 10ms, else is the frequency. If \fBspeed\fP represents the frequency of the timer, when \fBspeed\fP is equal to 10, the timer will expire after every second.
.PP
\fBKillTimer\fP function destroys the specified timer.
.PP
\fBSetTimerSpeed\fP function adjusts a timer with the specified time-out speed value.
.PP
\fBGetTickCount\fP function retrieves the number of milliseconds that have elapsed since MiniGUI was started. It is limited to the resolution of the system timer.
.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.
-64
View File
@@ -1,64 +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 "WindowClass" "3" "August 2000" "MiniGUI"
.SH "NAME"
WindowClass \- Functions to register, unregister, get, and set information of window class.
.SH "SYNOPSIS"
.B #include <minigui/window.h>
.br
.PP
.BI "BOOL GUIAPI RegisterWindowClass" "(PWNDCLASS pWndClass);"
.br
.BI "BOOL GUIAPI UnregisterWindowClass" "(const char* szClassName);"
.br
.BI "char* GUIAPI GetClassName" "(HWND hWnd);"
.br
.BI "BOOL GUIAPI GetWindowClassInfo" "(PWNDCLASS pWndClass);"
.br
.BI "BOOL GUIAPI SetWindowClassInfo" "(const WNDCLASS* pWndClass);"
.SH "DESCRIPTION"
.PP
\fBRegisterWindowClass\fP function registers a window class. Later on, you can create a window of a registered class.
.PP
\fBUnregisterWindowClass\fP function undoes the effect of \fBRegisterWindowClass\fP.
.PP
\fBGetClassName\fP function retrieves the name of the class to which the specified window belongs.
.PP
\fBGetWindowClassInfo\fP function retrieves the information of the specified window class.
.PP
\fBSetWindowClassInfo\fP function sets the information of the specified window class.
.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.
-3
View File
@@ -1,3 +0,0 @@
man_MANS=MiniGUI.cfg.5
EXTRA_DIST = $(man_MANS)
-111
View File
@@ -1,111 +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) 1998, 1999, 2000, WEI Yongming.
.BR
Copyright (C) 2000, 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
-3
View File
@@ -1,3 +0,0 @@
man_MANS=libminigui.7
EXTRA_DIST = $(man_MANS)
-99
View File
@@ -1,99 +0,0 @@
.TH libminigui 7 "March 2001" "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
+7 -11
View File
@@ -1,6 +1,6 @@
# This configuration file is for MiniGUI V3.0.x
# This configuration file is for MiniGUI V3.x.x
#
# Copyright (C) 2002~2008 Feynman Software
# Copyright (C) 2002~2018 FMSoft
# Copyright (C) 1998~2002 Wei Yongming.
#
# Web: http://www.minigui.com
@@ -14,10 +14,6 @@
#
# If you change the install path of MiniGUI resource, you should
# modify this file to meet your configuration.
#
# NOTE:
# The format of this configuration file has changed since the last release.
# Please DONT forget to provide the latest MiniGUI.cfg file for your MiniGUI.
#
[system]
@@ -32,15 +28,15 @@ mtype=IMPS2
[fbcon]
defaultmode=1024x768-16bpp
[qvfb]
defaultmode=640x480-16bpp
display=0
# The resolution of the display
# It is defined in dots (physical pixels) per inch
# The default value is 96.
dpi=96
#{{ifdef _MGGAL_PCXVFB
[pc_xvfb]
defaultmode=800x600-16bpp
window_caption=XVFB-for-MiniGUI-3.0-(Gtk-Version)
window_caption=XVFB-for-MiniGUI-3.2-(Gtk-Version)
exec_file=/usr/local/bin/gvfb
#}}
+2 -6
View File
@@ -1,6 +1,6 @@
# This configuration file is for MiniGUI V3.0.x
# This configuration file is for MiniGUI V3.x.x
#
# Copyright (C) 2002~2008 Feynman Software
# Copyright (C) 2002~2018 FMSoft
# Copyright (C) 1998~2002 Wei Yongming.
#
# Web: http://www.minigui.com
@@ -14,10 +14,6 @@
#
# If you change the install path of MiniGUI resource, you should
# modify this file to meet your configuration.
#
# NOTE:
# The format of this configuration file has changed since the last release.
# Please DONT forget to provide the latest MiniGUI.cfg file for your MiniGUI.
#
[system]
+2 -2
View File
@@ -1,8 +1,8 @@
# MiniGUI Ver 3.0.1
# MiniGUI Ver 3.0.x
#
# This configuration file is for MiniGUI runtime library which supports mvfb.
#
# Copyright (C) 2007~2008 Feynman Software
# Copyright (C) 2007~2018 FMsoft
#
# Web: http://www.minigui.com
+12 -12
View File
@@ -1,14 +1,14 @@
static LOGFONT *logfont, *logfontgb12, *logfontbig24;
logfont = CreateLogFont (NULL, "SansSerif", "ISO8859-1",
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_SETWIDTH_NORMAL,
FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_LINE,
16, 0);
logfontgb12 = CreateLogFont (NULL, "song", "GB2312",
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,
FONT_SPACING_CHARCELL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_LINE,
12, 0);
logfontbig24 = CreateLogFont (NULL, "ming", "BIG5",
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,
FONT_SPACING_CHARCELL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_NONE,
24, 0);
logfont = CreateLogFont (NULL, "SansSerif", "ISO8859-1",
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_FLIP_NONE,
FONT_OTHER_NIL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_LINE,
16, 0);
logfontgb12 = CreateLogFont (NULL, "song", "GB2312",
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
FONT_OTHER_NIL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_LINE,
12, 0);
logfontbig24 = CreateLogFont (NULL, "ming", "BIG5",
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
FONT_OTHER_NIL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_NONE,
24, 0);
+14
View File
@@ -0,0 +1,14 @@
static LOGFONT *logfont, *logfontgb12, *logfontttf;
logfont = CreateLogFontEx (NULL, "SansSerif", "ISO8859-1",
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_FLIP_NONE,
FONT_OTHER_NIL, FONT_DECORATE_NONE, FONT_RENDER_MONO,
16, 0);
logfontgb12 = CreateLogFontEx (NULL, "song", "GB2312",
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
FONT_OTHER_NIL, FONT_DECORATE_NONE, FONT_RENDER_MONO,
12, 0);
logfontttf = CreateLogFontEx ("ttf", "Courier", "UTF-8",
FONT_WEIGHT_BLACK, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
FS_OTHER_LCDPORTRAIT, FONT_DECORATE_NONE, FONT_RENDER_SUBPIXEL,
24, 0);
+238 -102
View File
File diff suppressed because it is too large Load Diff
+33 -11
View File
@@ -1,19 +1,43 @@
/**
* \file control.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2001/12/29
*
* This file includes interfaces of standard controls of MiniGUI.
* \brief This file includes interfaces of standard controls of MiniGUI.
*
\verbatim
Copyright (C) 2002-2012 FMSoft.
Copyright (C) 1998-2002 Wei Yongming.
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by FMSoft (http://www.fmsoft.cn).
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -21,11 +45,9 @@
/*
* $Id: control.h 11349 2009-03-02 05:00:43Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2012 FMSoft.
* Copyright (C) 1999-2002 Wei Yongming.
*/
#ifndef _MGUI_CONTROL_H
+44 -11
View File
@@ -1,17 +1,41 @@
/**
* \file animation.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2002/01/06
*
\verbatim
Copyright (C) 2002-2008 Feynman Software
Copyright (C) 1998-2002 Wei Yongming
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,11 +43,8 @@
/*
* $Id: animation.h 10865 2008-08-27 06:52:22Z wangjian $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1998-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef EXT_ANIMATION_H
@@ -217,6 +238,12 @@ MG_EXPORT void DestroyAnimation (ANIMATION* anim, BOOL free_it);
*/
#define ANS_FITTOANI 0x0004L
/**
* \def ANS_WINBGC
* \brief Use the background color of the window.
*/
#define ANS_WINBGC 0x0010L
/** @} end of mgext_ctrl_animation_styles */
/**
@@ -335,6 +362,12 @@ MG_EXPORT void DestroyAnimation (ANIMATION* anim, BOOL free_it);
*/
#define ANNC_DBLCLK 2
/**
* \def ANNC_NOFRAME
* \brief Indicates that there is no frame to play.
*/
#define ANNC_NOFRAME 3
/** @} end of mgext_ctrl_animation_ncs */
/** @} end of mgext_ctrl_animation */
+32 -11
View File
@@ -1,17 +1,41 @@
/**
* \file button.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2001/12/29
*
\verbatim
Copyright (C) 2002-2008 Feynman Software.
Copyright (C) 1998-2002 Wei Yongming.
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,11 +43,8 @@
/*
* $Id: button.h 10690 2008-08-18 09:32:47Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1999-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef _MGUI_CTRL_BUTTON_H
+32 -11
View File
@@ -1,17 +1,41 @@
/**
* \file combobox.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2001/12/29
*
\verbatim
Copyright (C) 2002-2008 Feynman Software.
Copyright (C) 1998-2002 Wei Yongming.
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,11 +43,8 @@
/*
* $Id: combobox.h 10690 2008-08-18 09:32:47Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1999-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef _MGUI_CTRL_COMBOBOX_H
+32 -11
View File
@@ -1,17 +1,41 @@
/**
* \file coolbar.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2002/01/06
*
\verbatim
Copyright (C) 2002-2008 Feynman Software
Copyright (C) 1998-2002 Wei Yongming
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,11 +43,8 @@
/*
* $Id: coolbar.h 10690 2008-08-18 09:32:47Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1998-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef EXT_COOLBAR_H
+37 -15
View File
@@ -1,17 +1,41 @@
/**
* \file ctrlhelper.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2001/12/29
*
\verbatim
Copyright (C) 2002-2008 Feynman Software.
Copyright (C) 1998-2002 Wei Yongming.
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,11 +43,8 @@
/*
* $Id: ctrlhelper.h 10829 2008-08-26 07:47:17Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1999-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef _MGUI_CTRL_CTRLHELPER_H
@@ -151,7 +172,7 @@ MG_EXPORT void ResetToolTipWin (HWND hwnd, int x, int y,
MG_EXPORT void DestroyToolTipWin (HWND hwnd);
/**
* \fn void GUIAPI NotifyParentEx (HWND hwnd, int id, int code, DWORD add_data)
* \fn void GUIAPI NotifyParentEx (HWND hwnd, LINT id, int code, DWORD add_data)
* \brief Sends a notification message to the parent.
*
* By default, the notification from a control will be sent to its parent
@@ -174,9 +195,11 @@ MG_EXPORT void DestroyToolTipWin (HWND hwnd);
* \param code The notification code.
* \param add_data The additional data of the notification.
*
* \note The type of \a id change from int to LINT since v3.2.
*
* \sa SetNotificationCallback
*/
MG_EXPORT void GUIAPI NotifyParentEx (HWND hwnd, int id, int code, DWORD add_data);
MG_EXPORT void GUIAPI NotifyParentEx (HWND hwnd, LINT id, int code, DWORD add_data);
/**
* \def NotifyParent(hwnd, id, code)
@@ -207,8 +230,7 @@ MG_EXPORT void GUIAPI NotifyParentEx (HWND hwnd, int id, int code, DWORD add_dat
*/
typedef int (*STRCMP) (const char* s1, const char* s2, size_t n);
MG_EXPORT int GUIAPI
DefaultPageProc (HWND hWnd, int message, WPARAM wParam, LPARAM lParam);
MG_EXPORT LRESULT GUIAPI DefaultPageProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
/** @} end of misc_fns */
+32 -11
View File
@@ -1,17 +1,41 @@
/**
* \file edit.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2001/12/29
*
\verbatim
Copyright (C) 2002-2008 Feynman Software.
Copyright (C) 1998-2002 Wei Yongming.
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,11 +43,8 @@
/*
* $Id: edit.h 13674 2010-12-06 06:45:01Z wanzheng $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1999-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef _MGUI_CTRL_EDIT_H
+32 -12
View File
@@ -1,17 +1,41 @@
/**
* \file gridview.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2002/01/06
*
\verbatim
Copyright (C) 2002-2008 Feynman Software
Copyright (C) 1998-2002 Wei Yongming
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,11 +43,8 @@
/*
* $Id: gridview.h 10690 2008-08-18 09:32:47Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1998-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef EXT_GRIDVIEW_H
@@ -603,7 +624,6 @@ typedef struct _GRIDCELLDATA
*/
#define GRIDM_DELDEPENDENCE 0xF220
/*TODO messages for query dependence */
/**
* \def GRIDM_ENDCELLEDIT
* \brief This message is used inside minigui.
+32 -11
View File
@@ -1,17 +1,41 @@
/**
* \file iconview.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2002/01/06
*
\verbatim
Copyright (C) 2002-2008 Feynman Software
Copyright (C) 1998-2002 Wei Yongming
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,11 +43,8 @@
/*
* $Id: iconview.h 11576 2009-04-27 01:01:57Z dongjunjie $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1998-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef EXT_ICONVIEW_H
+32 -11
View File
@@ -1,17 +1,41 @@
/**
* \file listbox.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2001/12/29
*
\verbatim
Copyright (C) 2002-2008 Feynman Software.
Copyright (C) 1998-2002 Wei Yongming.
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,11 +43,8 @@
/*
* $Id: listbox.h 10690 2008-08-18 09:32:47Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1999-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef _MGUI_CTRL_LISTBOX_H
+32 -11
View File
@@ -1,17 +1,41 @@
/**
* \file listview.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2002/01/06
*
\verbatim
Copyright (C) 2002-2008 Feynman Software
Copyright (C) 1998-2002 Wei Yongming
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,11 +43,8 @@
/*
* $Id: listview.h 11677 2009-05-23 08:07:19Z dongjunjie $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1998-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef EXT_LISTVIEW_H
+32 -11
View File
@@ -1,17 +1,41 @@
/**
* \file menubutton.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2001/12/29
*
\verbatim
Copyright (C) 2002-2008 Feynman Software.
Copyright (C) 1998-2002 Wei Yongming.
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,11 +43,8 @@
/*
* $Id: menubutton.h 10690 2008-08-18 09:32:47Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1999-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef _MGUI_CTRL_MENUBUTTON_H
+32 -11
View File
@@ -1,17 +1,41 @@
/**
* \file monthcal.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2002/01/06
*
\verbatim
Copyright (C) 2002-2008 Feynman Software
Copyright (C) 1998-2002 Wei Yongming
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,11 +43,8 @@
/*
* $Id: monthcal.h 10690 2008-08-18 09:32:47Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1998-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef EXT_MONTHCAL_H
+32 -11
View File
@@ -1,17 +1,41 @@
/**
* \file newtoolbar.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2001/12/29
*
\verbatim
Copyright (C) 2002-2008 Feynman Software.
Copyright (C) 1998-2002 Wei Yongming.
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,11 +43,8 @@
/*
* $Id: newtoolbar.h 10690 2008-08-18 09:32:47Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1999-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef _MGUI_CTRL_NEWTOOLBAR_H
+32 -11
View File
@@ -1,17 +1,41 @@
/**
* \file progressbar.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2001/12/29
*
\verbatim
Copyright (C) 2002-2008 Feynman Software.
Copyright (C) 1998-2002 Wei Yongming.
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,11 +43,8 @@
/*
* $Id: progressbar.h 10690 2008-08-18 09:32:47Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1999-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef _MGUI_CTRL_PROGRESSBAR_H
+32 -12
View File
@@ -1,17 +1,41 @@
/**
* \file propsheet.h
* \author Wei Yongming <ymwei@minigui.org>
* \author Wei Yongming <vincent@minigui.org>
* \date 2001/12/29
*
\verbatim
Copyright (C) 2002-2008 Feynman Software.
Copyright (C) 1998-2002 Wei Yongming.
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,16 +43,12 @@
/*
* $Id: propsheet.h 10690 2008-08-18 09:32:47Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1999-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef _MGUI_CTRL_PROPSHEET_H
#define _MGUI_CTRL_PROPSHEET_H
#ifdef __cplusplus
extern "C" {
+32 -11
View File
@@ -1,17 +1,41 @@
/**
* \file scrollbar.h
* \author wangjian <wangjian@minigui.org>
* \author wangjian
* \date 2008/01/17
*
\verbatim
Copyright (C) 2002-2008 Feynman Software.
Copyright (C) 1998-2002 Wei Yongming.
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
All rights reserved by Feynman Software.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
This file is part of MiniGUI, a compact cross-platform Graphics
User Interface (GUI) support system for real-time embedded systems.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
@@ -19,11 +43,8 @@
/*
* $Id: scrollbar.h 10690 2008-08-18 09:32:47Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*
* Copyright (C) 2002-2008 Feynman Software.
* Copyright (C) 1999-2002 Wei Yongming.
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef _MGUI_CTRL_SCROLLBAR_H

Some files were not shown because too many files have changed in this diff Show More