Compare commits

..
3 Commits
Author SHA1 Message Date
Vincent Wei eca9813a47 fix bugs in Issue #120; and tune code to suppress some compilation warnings 2023-07-05 12:37:59 +08:00
VincentWei 33d744c37a tune readme 2018-02-01 15:49:20 +08:00
VincentWei b397b79ca1 msgstr.h 2018-02-01 15:43:29 +08:00
1265 changed files with 482521 additions and 659446 deletions
+3 -1
View File
@@ -4,6 +4,8 @@
*.al
*.a
*.so
\#
am--include-marker
Makefile
Makefile.in
.deps/
@@ -23,8 +25,8 @@ Makefile.in
/*config.h
/*config.h.in
/*config.h.in~
/src/font/utils/emoji/
/src/font/utils/ucd/
/src/sysres/font_list
/src/sysres/license/dat_files/
/configure~
+50793 -50793
View File
File diff suppressed because it is too large Load Diff
+196 -196
View File
@@ -1,89 +1,89 @@
/*
* Copyright (C) 2000-2007 Beijing Komoxo Inc.
* All rights reserved.
*/
/*
* Copyright (C) 2000-2007 Beijing Komoxo Inc.
* All rights reserved.
*/
#include "se_minigui.h"
#include "se_minigui.h"
#include "stdio.h"
#include "string.h"
#include "kmx_latin1_ttf.h"
#include "kmx_latin1_ttf.h"
#include "fzxh_gb2312_ttf.h"
#include "fzxh_gb18030_1_ttf_stub.h"
#include "fzxh_gb18030_2_ttf_stub.h"
#define ASSERT(a)
#ifdef SE_FONT_DYNAMIC_LOADING_SUPPORT
#define MAX_PATH 256
#define MAX_LOGICAL_FONT_SIZE 16 /* Physical font count per logical font */
#endif
#define MAX_LOGICAL_TABLE_SIZE 256
/* Script Easy font description data definition */
static void* font_table[] =
{
(void*) &kmx_latin1_ttf, 0,
(void*) &fzxh_gb2312_ttf, 0,
#define ASSERT(a)
#ifdef SE_FONT_DYNAMIC_LOADING_SUPPORT
#define MAX_PATH 256
#define MAX_LOGICAL_FONT_SIZE 16 /* Physical font count per logical font */
#endif
#define MAX_LOGICAL_TABLE_SIZE 256
/* Script Easy font description data definition */
static void* font_table[] =
{
(void*) &kmx_latin1_ttf, 0,
(void*) &fzxh_gb2312_ttf, 0,
(void*) &fzxh_gb18030_1_ttf, 0,
(void*) &fzxh_gb18030_2_ttf, 0,
0
};
#define FONT_TABLE_SIZE ((sizeof(font_table) / sizeof(void*) - 1) / 2)
static unsigned char logical_font_table_config[][MAX_LOGICAL_FONT_SIZE] =
{
{4, 0, 1, 2, 3}
};
#define LOGICAL_FONT_TABLE_SIZE (sizeof(logical_font_table_config) / (MAX_LOGICAL_FONT_SIZE * sizeof(unsigned char)))
#define DEFAULT_LOGICAL_FONT_INDEX 0
static unsigned char logical_font_table[MAX_LOGICAL_TABLE_SIZE];
0
};
#define FONT_TABLE_SIZE ((sizeof(font_table) / sizeof(void*) - 1) / 2)
static unsigned char logical_font_table_config[][MAX_LOGICAL_FONT_SIZE] =
{
{4, 0, 1, 2, 3}
};
#define LOGICAL_FONT_TABLE_SIZE (sizeof(logical_font_table_config) / (MAX_LOGICAL_FONT_SIZE * sizeof(unsigned char)))
#define DEFAULT_LOGICAL_FONT_INDEX 0
static unsigned char logical_font_table[MAX_LOGICAL_TABLE_SIZE];
static unsigned int logical_font_table_index_map[LOGICAL_FONT_TABLE_SIZE];
#ifdef SE_FONT_DYNAMIC_LOADING_SUPPORT
static const
struct {
const char *font_name;
int logical_font_index;
}
font_name_config[] =
{
{0, 0},
#ifdef SE_FONT_DYNAMIC_LOADING_SUPPORT
static const
struct {
const char *font_name;
int logical_font_index;
}
font_name_config[] =
{
{0, 0},
{0, 0},
{"fzxh_gb18030_1_ttf.le", 0},
{"fzxh_gb18030_2_ttf.le", 0},
};
#endif /* #ifdef SE_FONT_DYNAMIC_LOADING_SUPPORT */
{"fzxh_gb18030_2_ttf.le", 0},
};
#endif /* #ifdef SE_FONT_DYNAMIC_LOADING_SUPPORT */
static const se_font_name_map font_name_map[] = {
/* iso8859-1 */
{"ttf-fzxh-rrncnn-0-0-iso8859-1", 0},
{"ttf-fzxh-rrncnn-0-0-iso8859-1", 0},
/* GB2312 */
{"ttf-fzxh-rrncnn-0-0-GB2312", 0},
/* utf-8 */
{"ttf-fzxh-rrncnn-0-0-utf-8", 0},
};
{"ttf-fzxh-rrncnn-0-0-utf-8", 0},
};
#define FONT_NAME_MAP_SIZE (sizeof(font_name_map) / sizeof(se_font_name_map))
const se_font_description se_font_desc = {
const se_font_description se_font_desc = {
FONT_TABLE_SIZE,
FONT_NAME_MAP_SIZE,
(const se_font_name_map*)font_name_map,
(const void **)font_table,
logical_font_table
FONT_NAME_MAP_SIZE,
(const se_font_name_map*)font_name_map,
(const void **)font_table,
logical_font_table
};
/* The following is the scripteasy mem pool definition */
#define SE_MEM_POOL_SIZE (64 * 1024)
#define SE_MEM_POOL_SIZE (64 * 1024)
#define SE_CACHE_MEM_POOL_SIZE (256 * 1024)
int se_minigui_mem_pool[SE_MEM_POOL_SIZE];
@@ -92,139 +92,139 @@ int se_minigui_cache_mem_pool[SE_CACHE_MEM_POOL_SIZE];
int se_minigui_cache_mem_pool_size = SE_CACHE_MEM_POOL_SIZE * sizeof(int);
/* The Following is for initializing font */
#ifdef SE_FONT_DYNAMIC_LOADING_SUPPORT
static const char * se_minigui_get_font_dir(void)
{
/* TO BE CUSTOMIZED */
static char font_dir[MAX_PATH + 1] = "/usr/minigui/se_new/minigui/src/fonts/";
return font_dir;
}
static FILE* se_minigui_open_font_file(const char *name)
{
static char path[MAX_PATH + 1];
const char *font_dir;
FILE *handle = 0;
font_dir = se_minigui_get_font_dir();
if(!font_dir)
{
return 0;
}
strcpy(path, font_dir);
strcat(path, name);
handle = fopen(path, "rb");
return handle;
}
unsigned int se_minigui_read_font(
void* name,
void* buffer,
unsigned int offset,
unsigned int size)
{
FILE* handle = (FILE*) name;
unsigned int read = 0;
int result = 0;
if(!handle)
return 0;
fseek(handle, offset, SEEK_SET);
printf("In se_minigui_read_font...\n");
return fread(buffer, 1, size, handle);
}
#endif /* #ifdef SE_FONT_DYNAMIC_LOADING_SUPPORT */
static int append_logical_font(int pos, const unsigned char *logical_font)
{
memcpy (logical_font_table + pos, logical_font, logical_font[0] + 1);
return logical_font[0] + 1;
}
static void build_logical_font_table (void)
{
unsigned int i = 0;
int pos = 0;
for (; i < LOGICAL_FONT_TABLE_SIZE; ++i)
{
pos += append_logical_font (pos, logical_font_table_config[logical_font_table_index_map[i]]);
}
logical_font_table[pos] = (unsigned char) 0;
}
static void init_logical_font_map(void)
{
unsigned int i = 0;
for (; i < LOGICAL_FONT_TABLE_SIZE; ++i)
{
logical_font_table_index_map[i] = i;
}
}
void se_minigui_destroy_fonts(void)
{
#ifdef SE_FONT_DYNAMIC_LOADING_SUPPORT
int i = 0;
for(; i < FONT_TABLE_SIZE; ++i)
{
if(font_table[i * 2 + 1])
{
fclose((FILE*) font_table[i * 2 + 1]);
font_table[i * 2 + 1] = 0;
}
}
#endif
}
void se_minigui_init_fonts(void)
{
int i = 0;
int pos = 0;
ASSERT (DEFAULT_LOGICAL_FONT_INDEX >= 0 &&
DEFAULT_LOGICAL_FONT_INDEX < LOGICAL_FONT_TABLE_SIZE);
se_minigui_destroy_fonts();
init_logical_font_map();
#ifdef SE_FONT_DYNAMIC_LOADING_SUPPORT
for(; i < FONT_TABLE_SIZE; ++i)
{
if(font_name_config[i].font_name)
{
FILE* handle;
handle = se_minigui_open_font_file(font_name_config[i].font_name);
ASSERT (font_table[i * 2 + 1] == 0);
if (handle)
{
font_table[i * 2 + 1] = (void*)handle;
}
else
{
ASSERT (font_name_config[i].logical_font_index >= 0 &&
font_name_config[i].logical_font_index < LOGICAL_FONT_TABLE_SIZE);
ASSERT (logical_font_table_index_map[font_name_config[i].logical_font_index] == font_name_config[i].logical_font_index);
logical_font_table_index_map[font_name_config[i].logical_font_index] = DEFAULT_LOGICAL_FONT_INDEX;
}
}
}
#endif
build_logical_font_table();
}
/* The Following is for initializing font */
#ifdef SE_FONT_DYNAMIC_LOADING_SUPPORT
static const char * se_minigui_get_font_dir(void)
{
/* TO BE CUSTOMIZED */
static char font_dir[MAX_PATH + 1] = "/usr/minigui/se_new/minigui/src/fonts/";
return font_dir;
}
static FILE* se_minigui_open_font_file(const char *name)
{
static char path[MAX_PATH + 1];
const char *font_dir;
FILE *handle = 0;
font_dir = se_minigui_get_font_dir();
if(!font_dir)
{
return 0;
}
strcpy(path, font_dir);
strcat(path, name);
handle = fopen(path, "rb");
return handle;
}
unsigned int se_minigui_read_font(
void* name,
void* buffer,
unsigned int offset,
unsigned int size)
{
FILE* handle = (FILE*) name;
unsigned int read = 0;
int result = 0;
if(!handle)
return 0;
fseek(handle, offset, SEEK_SET);
printf("In se_minigui_read_font...\n");
return fread(buffer, 1, size, handle);
}
#endif /* #ifdef SE_FONT_DYNAMIC_LOADING_SUPPORT */
static int append_logical_font(int pos, const unsigned char *logical_font)
{
memcpy (logical_font_table + pos, logical_font, logical_font[0] + 1);
return logical_font[0] + 1;
}
static void build_logical_font_table (void)
{
unsigned int i = 0;
int pos = 0;
for (; i < LOGICAL_FONT_TABLE_SIZE; ++i)
{
pos += append_logical_font (pos, logical_font_table_config[logical_font_table_index_map[i]]);
}
logical_font_table[pos] = (unsigned char) 0;
}
static void init_logical_font_map(void)
{
unsigned int i = 0;
for (; i < LOGICAL_FONT_TABLE_SIZE; ++i)
{
logical_font_table_index_map[i] = i;
}
}
void se_minigui_destroy_fonts(void)
{
#ifdef SE_FONT_DYNAMIC_LOADING_SUPPORT
int i = 0;
for(; i < FONT_TABLE_SIZE; ++i)
{
if(font_table[i * 2 + 1])
{
fclose((FILE*) font_table[i * 2 + 1]);
font_table[i * 2 + 1] = 0;
}
}
#endif
}
void se_minigui_init_fonts(void)
{
int i = 0;
int pos = 0;
ASSERT (DEFAULT_LOGICAL_FONT_INDEX >= 0 &&
DEFAULT_LOGICAL_FONT_INDEX < LOGICAL_FONT_TABLE_SIZE);
se_minigui_destroy_fonts();
init_logical_font_map();
#ifdef SE_FONT_DYNAMIC_LOADING_SUPPORT
for(; i < FONT_TABLE_SIZE; ++i)
{
if(font_name_config[i].font_name)
{
FILE* handle;
handle = se_minigui_open_font_file(font_name_config[i].font_name);
ASSERT (font_table[i * 2 + 1] == 0);
if (handle)
{
font_table[i * 2 + 1] = (void*)handle;
}
else
{
ASSERT (font_name_config[i].logical_font_index >= 0 &&
font_name_config[i].logical_font_index < LOGICAL_FONT_TABLE_SIZE);
ASSERT (logical_font_table_index_map[font_name_config[i].logical_font_index] == font_name_config[i].logical_font_index);
logical_font_table_index_map[font_name_config[i].logical_font_index] = DEFAULT_LOGICAL_FONT_INDEX;
}
}
}
#endif
build_logical_font_table();
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+99451 -99451
View File
File diff suppressed because it is too large Load Diff
+99017 -99017
View File
File diff suppressed because it is too large Load Diff
+10509 -10509
View File
File diff suppressed because it is too large Load Diff
+16 -16
View File
@@ -1,4 +1,4 @@
/*
/*
** $Id: sample.c,v 1.38 2009-01-15 07:56:45 houhuihua Exp $
**
** sample.c: Sample program for komoxo scripteasy font.
@@ -35,7 +35,7 @@ static void make_welcome_text (void)
SetRect (&welcome_rc, 10, 20, g_rcScr.right - 10, g_rcScr.bottom / 1.5 - 10);
SetRect (&msg_rc, 10, welcome_rc.bottom + 10, g_rcScr.right - 10, g_rcScr.bottom - 20);
if (strcmp (sys_charset, FONT_CHARSET_GB2312_0) == 0
if (strcmp (sys_charset, FONT_CHARSET_GB2312_0) == 0
|| strcmp (sys_charset, FONT_CHARSET_GBK) == 0) {
format = "昨天,市工商局局长张志宽在市工商局工作会上透露,本市工商系统今年将推出一系列促进经济发展、保护消费者权益的监管措施。其中,将会把B2B交易平台中的网店、专业门户网站和综合门户网站中的经营主体纳入监控,重点监控网上传销、无照经营、售假和网上欺诈等4种行为。张志宽说,2008年网上违法情况主要表现在虚假宣传、网上欺诈、销售假冒产品等。针对这些违法行为,今年本市将把B2B交易平台上的网店、专业门户网站和综合门户网站中的经营主体信息,全部纳入监控。其中,网上传销、无照经营、销售假冒伪劣商品和网上欺诈等4种行为,将成为打击的重点,工商将研究推出新的监管手段。据了解,目前国务院已经将网上交易监管交由国家工重点打击无照经营商总局负责,工商总局正在研究监管意见。本市工商局将根据工商总局的监管意见,相应地完善监管制度。\
\nA proprietary protocol VOIP system built using Peer-to-peer (P2P) techniques.Free for non commercial use when using softphones (PC to PC).Offers toll access to PSTN via SkypeOut and SkypeIn.\nFrom the company that created KaZaA Licenses the Global IP Sound VoiceEngine suite of codecs and related software including their wideband codecs (double the width of regular pstn.) If you find yourself asking, 'why does Skype sound so good?', the answer is primarily this wideband ability.";
@@ -88,12 +88,12 @@ static int HelloWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
break;
case MSG_TIMER:
sprintf (msg_text, "Timer expired, current tick count: %ul.",
sprintf (msg_text, "Timer expired, current tick count: %ul.",
GetTickCount ());
//InvalidateRect (hWnd, &msg_rc, TRUE);
InvalidateRect (hWnd, NULL, TRUE);
break;
case MSG_LBUTTONDOWN:
strcpy (msg_text, "The left button pressed.");
InvalidateRect (hWnd, &msg_rc, TRUE);
@@ -119,23 +119,23 @@ static int HelloWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
PLOGFONT logfont;
PLOGFONT bklogfont;
#ifdef UTF_8
logfont = CreateLogFont("sef",
"fzxhgb_yh",
"UTF-8",
logfont = CreateLogFont("sef",
"fzxhgb_yh",
"UTF-8",
FONT_WEIGHT_BOOK,
FONT_SLANT_ROMAN,
0,
FONT_SLANT_ROMAN,
0,
0,
FONT_UNDERLINE_NONE,
FONT_STRUCKOUT_NONE,
16, 0);
#else
logfont = CreateLogFont("sef",
"fzxhgb_yh",
logfont = CreateLogFont("sef",
"fzxhgb_yh",
"GB2312",
FONT_WEIGHT_BOOK,
FONT_SLANT_ROMAN,
0,
FONT_SLANT_ROMAN,
0,
0,
FONT_UNDERLINE_NONE,
FONT_STRUCKOUT_NONE,
@@ -166,7 +166,7 @@ static int HelloWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
last_key = wParam;
last_key_count = 1;
}
sprintf (msg_text, "The %d %skey pressed %d times",
sprintf (msg_text, "The %d %skey pressed %d times",
wParam, syskey, last_key_count);
InvalidateRect (hWnd, &msg_rc, TRUE);
return 0;
@@ -210,9 +210,9 @@ int MiniGUIMain (int argc, const char* argv[])
CreateInfo.iBkColor = COLOR_lightwhite;
CreateInfo.dwAddData = 0;
CreateInfo.hHosting = HWND_DESKTOP;
hMainWnd = CreateMainWindow (&CreateInfo);
if (hMainWnd == HWND_INVALID)
return -1;
+341 -341
View File
File diff suppressed because it is too large Load Diff
+2
View File
@@ -0,0 +1,2 @@
Beijing FMSoft Technologies Co., Ltd.. (http://www.fmsoft.cn)
-16
View File
@@ -1,16 +0,0 @@
The current main maintainers and/or developers:
* WEI Yongming
As employed engineers of [Beijing FMSoft Technologies Co., Ltd.],
the following people have participated in the development of MiniGUI Core:
* HOU Huihua
* WAN Zheng
* DONG Kai
* DONG Junjie
* YAN Xiaowei
For community contributors, please see RELASENOTES.md documentation.
[Beijing FMSoft Technologies Co., Ltd.]: http://www.fmsoft.cn
+4 -4
View File
@@ -3216,7 +3216,7 @@ alExtra.(xwyan)
* src/gui/lf_flat.c
* src/gui/lf_skin.c
08/24: ENHANCEMENT #1: Add a new method for FONTOPS: get_char_type to return
08/24: ENHANCEMENT #1: Add a new method for FONTOPS: get_glyph_type to return
the glyph type the devfont can give us.
* src/include/devfont.h
* src/font/*.c
@@ -4761,7 +4761,7 @@ create_skin_main_window_ex:
* ext/skin/skin.c
05/16. ENHANCEMENT #8: Support for UTF-16LE and UTF-16BE charsets/encodings.
* Change the definition of Uchar32 to 'int'.
* Change the definition of UChar32 to 'int'.
* include/gdi.h
05/16. ENHANCEMENT #11: Support for FreeType2.
@@ -4984,11 +4984,11 @@ provide the function whether the file exist or not.(xwyan)
* src/server/request.c
10/24. MODIFICATION: Use 1980/01/01 00:00:00 to return the default local time
for __mg_os_localtime.
for __mg_localtime.
* src/misc/nposix.c
10/24. MODIFICATION: Use HAVE_TIME, HAVE_MKTIME, and HAVE_LOCALTIME to define
__mg_os_time, __mg_os_mktime, and __mg_os_localtime functions.
__mg_time, __mg_mktime, and __mg_localtime functions.
* configure.in
* src/misc/nposix.c
+273
View File
@@ -0,0 +1,273 @@
# Doxyfile 1.4.2
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "MiniGUI V3.0.2 API Reference"
PROJECT_NUMBER =
OUTPUT_DIRECTORY = doc
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
"The $name widget" \
"The $name file" \
is \
provides \
specifies \
contains \
represents \
a \
an \
the
ALWAYS_DETAILED_SEC = YES
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = NO
INHERIT_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 8
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = YES
OPTIMIZE_OUTPUT_JAVA = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = YES
SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = YES
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ./include
FILE_PATTERNS = *.h
RECURSIVE = YES
EXCLUDE = YES
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS = vcongui.h own_*.h psos.h psos_*.h threadx_*.h ucos2_*.h nucleus_*.h vxworks_*.h ose_*.h win32_*.h
EXAMPLE_PATH = ./examples
EXAMPLE_PATTERNS = *.c
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = YES
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = MiniGUI-API-REF-E.html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = NO
GENERATE_HTMLHELP = YES
CHM_FILE = MiniGUI-API-REF-V2.0.4-E.chm
HHC_LOCATION =
GENERATE_CHI = YES
BINARY_TOC = YES
TOC_EXPAND = YES
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = YES
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_BATCHMODE = YES
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = YES
RTF_OUTPUT = rtf
COMPACT_RTF = YES
RTF_HYPERLINKS = YES
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = YES
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = NO
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = _MGRM_PROCESSES \
__GNUC__ \
__LITTLE_ENDIAN__ \
MINIGUI_MAJOR_VERSION \
MINIGUI_MICRO_VERSION \
MINIGUI_MINOR_VERSION \
HAVE_SYS_TYPES_H \
_MGHAVE_FIXED_MATH \
_MGHAVE_MENU \
_MGHAVE_CLIPBOARD \
_MGHAVE_ADV_2DAPI \
_MGHAVE_MOUSECALIBRATE \
_MGMISC_ABOUTDLG \
_MGMISC_SAVESCREEN \
_MGMISC_SAVEBITMAP \
_MGHAVE_CURSOR \
_MGCHARSET_UNICODE \
_MGCTRL_STATIC \
_MGCTRL_SIMEDIT \
_MGCTRL_SLEDIT \
_MGCTRL_BIDISLEDIT \
_MGCTRL_MLEDIT \
_MGCTRL_PROGRESSBAR \
_MGCTRL_LISTBOX \
_MGCTRL_PROPSHEET \
_MGCTRL_COMBOBOX \
_MGCTRL_TOOLBAR \
_MGCTRL_NEWTOOLBAR \
_MGCTRL_MENUBUTTON \
_MGCTRL_SCROLLVIEW \
_MGCTRL_SCROLLBAR \
_MGCTRL_TEXTEDIT \
_MGCTRL_TRACKBAR \
_MGCTRL_TREEVIEW \
_MGCTRL_MONTHCAL \
_MGCTRL_SPINBOX \
_MGCTRL_COOLBAR \
_MGCTRL_LISTVIEW \
_MGCTRL_ICONVIEW \
_MGCTRL_GRIDVIEW \
_MGCTRL_BUTTON \
_MGCTRL_ANIMATION \
_MGFONT_FT2 \
_MGFONT_BMPF
EXPAND_AS_DEFINED = MGUI_HAS_64BIT_TYPE
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = NO
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = NO
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 1000
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO
-2496
View File
File diff suppressed because it is too large Load Diff
-2495
View File
File diff suppressed because it is too large Load Diff
-2495
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,6 +1,6 @@
MAJOR_VERSION = 5
MAJOR_VERSION = 3
MINOR_VERSION = 0
MICRO_VERSION = 0
MICRO_VERSION = 13
EXTRAVERSION =
MINIGUI_RELEASE=$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)$(EXTRAVERSION)
+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:
<program> Copyright (C) <year> <name of author>
{project} Copyright (C) {year} {fullname}
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.
-179
View File
@@ -1,179 +0,0 @@
# MiniGUI GPL 版本的授权策略
目前,飞漫软件遵循 GPL 条款发布 MiniGUI 及其组件。本文档描述飞漫软件针对
商业用户的 MiniGUI 及其组件授权策略。
注:本文所指 MiniGUI,包含了 MiniGUI 核心库以及 mGi、mGp、mG3d、mGEff、
mGPlus、mGNCS、mGNCS4Touch 以及其他在未来可能以 GPL 条款发布的 MiniGUI
组件或工具。
## 简介
简而言之,飞漫软件针对 MiniGUI 的授权策略是:MiniGUI 是 100% 按照 GPL 条款
发布的自由软件,如果您能 100% 遵守 GPL 许可证条款,则无需支付任何授权费用。
在其他任何情况下,都需要获得我们的商业授权。
老版本 MiniGUI1.3.0 版本之前)遵循 LGPL 条款发布,因为嵌入式系统无法
保障用户获得修改 MiniGUI 函数库并进行调试的自由,从而无法确保 LGPL 在
嵌入式产品中的实施,因此,如果要在嵌入式产品中使用老版本的 MiniGUI, 也必须
首先购买商业授权。
## 授权详解
自 MiniGUI V1.3.0 起,我们遵循 GNU General Public License 许可证(简称 GPL
发布 MiniGUI。该条款的原文可见和 MiniGUI 源代码一同发布的 COPYING 或者
LICENSE 文件。相比早期版本使用的 LGPLGNU 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
+43 -39
View File
@@ -1,32 +1,30 @@
# Licensing Policy for GPLed MiniGUI versions
Licensing Policy for GPL'd MiniGUI versions
By now, FMSoft releases MiniGUI versions under GPLv3 license.
This is the licensing policy for the GPLed MiniGUI versions.
By now, FMSoft releases some MiniGUI versions under
GPL license. This is the licensing policy for the GPL'd MiniGUI
versions.
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
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 "LICENSE" or
"COPYING".
section of the MiniGUI User Manual, or the file named "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
@@ -45,13 +43,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
@@ -62,24 +60,24 @@ a commercial license to the MiniGUI software in question.
More specifically:
* 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.
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 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.
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 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.
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.
* 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).
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).
4. Exceptions and free commercial licences
@@ -116,22 +114,28 @@ 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
=======
* 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
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
+180
View File
@@ -0,0 +1,180 @@
MiniGUI GPL 版 本 的 授 权 策 略
目前,飞漫软件遵循 GPL 授权条款发布某些 MiniGUI 版本。本文档描述
用户使用这些 GPL 版本时应该遵循的授权策略。
简介
====
简而言之,飞漫软件针对 MiniGUI 的授权策略是:MiniGUI 是 100% 按照 GPL 条款
发布的自由软件,如果您能 100% 遵守 GPL 许可证条款,则无需支付任何授权费用。
在其他任何情况下,都需要获得我们的商业授权。
老版本 MiniGUI1.3.0 版本之前)遵循 LGPL 条款发布,因为嵌入式系统无法
保障用户获得修改 MiniGUI 函数库并进行调试的自由,从而无法确保 LGPL 在
嵌入式产品中的实施,因此,如果要在嵌入式产品中使用老版本的 MiniGUI, 也必须
首先购买商业授权。
授权详解
========
自 MiniGUI V1.3.0 起,我们遵循 GNU General Public License 许可证(简称 GPL
发布 MiniGUI。该条款的原文可见和 MiniGUI 源代码一同发布的 COPYING 文件。
相比早期版本使用的 LGPLGNU 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
+13 -15
View File
@@ -1,10 +1,10 @@
SUBDIRS = src 3rd-party include rtos etc m4 cmake build
EXTRA_DIST = minigui.pc.in \
EXTRA_DIST = \
GNUmakefile makefile.ng makefile.msvc rules.make \
INSTALL LICENSE \
Version.md README.md RELEASE-NOTES.md \
LICENSE-POLICY-en.md LICENSE-POLICY-zh.md
Version INSTALL LICENSE \
README.md RELEASE-NOTES.md LICENSE.POLICY
minigui.pc.in
# The directory where the include files will be installed
libminiguiincludedir = $(includedir)/minigui
@@ -12,17 +12,15 @@ libminiguiincludedir = $(includedir)/minigui
# Which header files to install
libminiguiinclude_HEADERS = mgconfig.h
docs:
doxygen Doxyfile
dist-nolicense: dist
./clean_license.sh $(DIST_ARCHIVES)
dist:
distcheck-nolicense:dist-nolicense distcheck
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = minigui.pc
docs:
doxygen Doxyfile.procs
doxygen Doxyfile.ths
doxygen Doxyfile.sal
#dist-nolicense: dist
# ./clean_license.sh $(DIST_ARCHIVES)
#
#dist:
#distcheck-nolicense:dist-nolicense distcheck
+1 -1
View File
@@ -1 +1 @@
Please refer to README.md.
Please refer to REAME.md.
+266 -528
View File
File diff suppressed because it is too large Load Diff
+46 -771
View File
File diff suppressed because it is too large Load Diff
+9
View File
@@ -0,0 +1,9 @@
Version 3.0.14 (2023/07/31)
This release needs the following resource packages:
* minigui-res-3.0.13.tar.gz
The latest samples package is:
* mg-samples-3.0.13.tar.gz
-16
View File
@@ -1,16 +0,0 @@
Version 5.0.0 (2019/03/30)
This is the first official release of MiniGUI 5.0.x, the stable version.
Other packages for MiniGUI resource, tools, components, and samples:
- GVFB: `gvfb-1.2.5.tar.gz`
- The resource package: `minigui-res-5.0.0.tar.gz`
- mGUtils component: `libmgutils-1.5.0.tar.gz`
- mGPlus component: `libmgplus-1.5.0.tar.gz`
- mGEff component: `libmgeff-1.5.0.tar.gz`
- mGNCS component: `libmgncs-1.5.0.tar.gz`
- mGNCS4Touch component: `libmgncs4touch-1.5.0.tar.gz`
- The test cases package: `mg-tests-5.0.0.tar.gz`
- The sample package: `mg-samples-5.0.0.tar.gz`
-25
View File
@@ -25,29 +25,4 @@ 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
+3 -3
View File
@@ -130,9 +130,9 @@
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define to 1 if you have the ANSI C header files. */
+3 -3
View File
@@ -130,9 +130,9 @@
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define to 1 if you have the ANSI C header files. */
+3 -3
View File
@@ -130,9 +130,9 @@
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define to 1 if you have the ANSI C header files. */
+1 -1
View File
@@ -366,7 +366,7 @@
/* #undef _MGINCOREFONT_VGAS */
/* Define if include in-core font: 12x12 RBF for GB2312 */
#define _MGINCORERBF_GB12 1
#define _MGINCORERBF_GB12 1
/* Define if include in-core font: 16x16 RBF for GB2312 */
/* #undef _MGINCORERBF_GB16 */
+1 -1
View File
@@ -269,7 +269,7 @@
/*#define _MGHAVE_MOUSECALIBRATE 1*/
/* Define if include skin support */
#define _EXT_SKIN 1
#define _EXT_SKIN 1
/* Define if include 16BPP FB subdriver */
/* #undef _MGFONT_FBLIN16 */
+1 -1
View File
@@ -377,7 +377,7 @@
/* #undef _MGINCOREFONT_VGAS */
/* Define if include in-core font: 12x12 RBF for GB2312 */
#define _MGINCORERBF_GB12 1
#define _MGINCORERBF_GB12 1
/* Define if include in-core font: 16x16 RBF for GB2312 */
#define _MGINCORERBF_GB16 1
+1 -1
View File
@@ -377,7 +377,7 @@
/* #undef _MGINCOREFONT_VGAS */
/* Define if include in-core font: 12x12 RBF for GB2312 */
#define _MGINCORERBF_GB12 1
#define _MGINCORERBF_GB12 1
/* Define if include in-core font: 16x16 RBF for GB2312 */
#define _MGINCORERBF_GB16 1
+3 -3
View File
@@ -156,7 +156,7 @@
/* Define if include the automatic IAL engine */
//#define _MGIAL_AUTO 1
/* Define if include the COMM input engine */
#define _MGIAL_COMM 1
#define _MGIAL_COMM 1
/* Define if support BIG5 charset */
/* #undef _MGCHARSET_BIG5 */
@@ -259,11 +259,11 @@
/* Define if include full gif support */
#define _MGHAVE_MOUSECALIBRATE 1
#define _EXT_FULLGIF 1
#define _EXT_FULLGIF 1
#define _MGCTRL_GRIDVIEW 1
#define _MGCTRL_ICONVIEW 1
/* Define if include skin support */
#define _EXT_SKIN 1
#define _EXT_SKIN 1
/* Define if include 16BPP FB subdriver */
/* #undef _MGFONT_FBLIN16 */
+4 -4
View File
@@ -156,7 +156,7 @@
/* Define if include the automatic IAL engine */
#define _MGIAL_AUTO 1
/* Define if include the COMM input engine */
#define _MGIAL_COMM 1
#define _MGIAL_COMM 1
/* Define if support BIG5 charset */
/* #undef _MGCHARSET_BIG5 */
@@ -259,11 +259,11 @@
/* Define if include full gif support */
#define _MGHAVE_MOUSECALIBRATE 1
#define _EXT_FULLGIF 1
#define _EXT_FULLGIF 1
#define _MGCTRL_GRIDVIEW 1
#define _MGCTRL_ICONVIEW 1
/* Define if include skin support */
#define _EXT_SKIN 1
#define _EXT_SKIN 1
/* Define if include 16BPP FB subdriver */
/* #undef _MGFONT_FBLIN16 */
@@ -573,7 +573,7 @@
/* #define _MGIAL_UCOSII 1 */
/* Define if support UNICODE */
#define _MGCHARSET_UNICODE 1
#define _MGCHARSET_UNICODE 1
/* Define if use own implementation of malloc functions */
/* #define _MGUSE_OWN_MALLOC 1 */
-36
View File
@@ -1,36 +0,0 @@
# rules for pc-linux
# set your own targaet_os
TARGET_OS=linux
##################################################
# set your compile tool #
CC=gcc
CXX=g++
CPP=g++
AR=ar
AS=as
RANLIB=ranlib
MAKE=/usr/bin/make
##################################################
ARFLAGS=-rc
COFLAG=-c
OBJ=o
LIBA=a
##################################################
# if you don't want to create dynamic, delete it #
LIBSO=so
SOFLAGS=-fPIC -shared -o
##################################################
##################################################
# set your compile flags and install prefix path #
PREFIX=/usr/local
CFLAGS+=-g -Wall -fPIC `pkg-config --cflags freetype2` -I/usr/local/include/harfbuzz
LDFLAGS+=
##################################################
+5 -5
View File
@@ -91,12 +91,12 @@
/* Define to 1 if you have the `tmpfile' function. */
#define HAVE_TMPFILE 1
/*#define HAVE_MODE_T 1*/
/*#define HAVE_MODE_T 1*/
/* Define to 1 if you have the `mktime' function. */
#define HAVE_MKTIME 1
/* Define to 1 if you have the `time' function. */
#define HAVE_TIME 1
#define HAVE_TIME 1
/* Define to 1 if you have the `localtime' function. */
#define HAVE_LOCALTIME 1
@@ -140,9 +140,9 @@
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define to 1 if you have the ANSI C header files. */
+1 -1
View File
@@ -24,5 +24,5 @@
#pragma warning(disable:4101) /* unreferenced local variable */
#pragma warning(error:4150)
#pragma warning(disable:4244) /* No possible loss of data warnings */
#pragma warning(disable:4244) /* No possible loss of data warnings */
#pragma warning(disable:4305) /* No truncation from int to char warnings */
+9 -9
View File
@@ -1,15 +1,15 @@
#! /bin/bash
keyword_list="
__mg_license_create
__mg_license_destroy
__mg_screensaver_create
__mg_screensaver_destroy
__mg_splash_draw_framework
__mg_splash_progress
__mg_splash_delay
__mg_license_on_input
__mg_license_on_timeout
license_create
license_destroy
screensaver_create
screensaver_destroy
splash_draw_framework
splash_progress
splash_delay
license_on_input
license_on_timeout
license_get_processor_id
#\s*include.*license\/c_files.*
#\s*include.*license\.h
-181
View File
@@ -1,181 +0,0 @@
#!/bin/bash
tab2space() {
sed -i 's/\t/ /g' `find . -name '*.c'`
sed -i 's/\t/ /g' `find . -name '*.h'`
sed -i 's/\s\+$//g' `find . -name '*.c'`
sed -i 's/\s\+$//g' `find . -name '*.h'`
}
# tab2space
# templates
# sed -i 's/\<AAA\>/__AAA/g' `grep '\<AAA\>' -rl include/ src/`
# sed -i 's/\<AAA\>/__mgAAA/g' `grep '\<AAA\>' -rl include/ src/`
# sed -i 's/\<AAA\>/__gdiAAA/g' `grep '\<AAA\>' -rl include/ src/`
# sed -i 's/\<AAA\>/__mg_AAA/g' `grep '\<AAA\>' -rl include/ src/`
# sed -i 's/\<AAA\>/dbg_AAA/g' `grep '\<AAA\>' -rl include/ src/`
# sed -i 's/\<kernel_alloc_z_order_info\>/__kernel_alloc_z_order_info/g' `grep kernel_alloc_z_order_info -rl include/ src/`
# sed -i 's/\<kernel_free_z_order_info\>/__kernel_free_z_order_info/g' `grep kernel_free_z_order_info -rl include/ src/`
# sed -i 's/\<kernel_change_z_order_mask_rect\>/__kernel_change_z_order_mask_rect/g' `grep kernel_change_z_order_mask_rect -rl include/ src/`
# sed -i 's/\<kernel_get_window_region\>/__kernel_get_window_region/g' `grep kernel_get_window_region -rl include/ src/`
# sed -i 's/\<kernel_get_next_znode\>/__kernel_get_next_znode/g' `grep kernel_get_next_znode -rl include/ src/`
# sed -i 's/\<kernel_get_prev_znode\>/__kernel_get_prev_znode/g' `grep kernel_get_prev_znode -rl include/ src/`
# sed -i 's/\<gui_open_ime_window\>/__gui_open_ime_window/g' `grep gui_open_ime_window -rl include/ src/`
# sed -i 's/\<_begin_fill_bitmap\>/__mg_begin_fill_bitmap/g' `grep _begin_fill_bitmap -rl include/ src/`
# sed -i 's/\<_fill_bitmap_scanline\>/__mg_fill_bitmap_scanline/g' `grep _fill_bitmap_scanline -rl include/ src/`
# sed -i 's/\<_end_fill_bitmap\>/__mg_end_fill_bitmap/g' `grep _end_fill_bitmap -rl include/ src/`
# sed -i 's/\<DumpCtrlClassInfoTable\>/dbg_DumpCtrlClassInfoTable/g' `grep DumpCtrlClassInfoTable -rl include/ src/`
# sed -i 's/\<GetPixelUnderCursor\>/kernel_GetPixelUnderCursor/g' `grep GetPixelUnderCursor -rl include/ src/`
# sed -i 's/\<update_secondary_dc\>/__mg_update_secondary_dc/g' `grep update_secondary_dc -rl include/ src/`
# sed -i 's/\<initialize_scripteasy\>/font_InitializeScripteasy/g' `grep initialize_scripteasy -rl include/ src/`
# sed -i 's/\<uninitialize_scripteasy\>/font_UninitializeScripteasy/g' `grep uninitialize_scripteasy -rl include/ src/`
# sed -i 's/\<free_window_element_data\>/__mg_free_window_element_data/g' `grep free_window_element_data -rl include/ src/`
# sed -i 's/\<append_window_element_data\>/__mg_append_window_element_data/g' `grep append_window_element_data -rl include/ src/`
# sed -i 's/\<set_window_element_data\>/__mg_set_window_element_data/g' `grep set_window_element_data -rl include/ src/`
# sed -i 's/\<__compsor_check_znodes\>/__mg_composite_dirty_znodes/g' `grep __compsor_check_znodes -rl include/ src/`
# sed -i 's/\<mg_linux_tty_init\>/__mg_linux_tty_init/g' `grep mg_linux_tty_init -rl include/ src/`
# sed -i 's/\<mg_linux_tty_enable_vt_switch\>/__mg_linux_tty_enable_vt_switch/g' `grep mg_linux_tty_enable_vt_switch -rl include/ src/`
# sed -i 's/\<mg_linux_tty_disable_vt_switch\>/__mg_linux_tty_disable_vt_switch/g' `grep mg_linux_tty_disable_vt_switch -rl include/ src/`
# sed -i 's/\<mg_linux_tty_switch_vt\>/__mg_linux_tty_switch_vt/g' `grep mg_linux_tty_switch_vt -rl include/ src/`
# sed -i 's/\<mg_linux_tty_fini\>/__mg_linux_tty_fini/g' `grep mg_linux_tty_fini -rl include/ src/`
# sed -i 's/\<DumpMenu\>/dbg_DumpMenu/g' `grep DumpMenu -rl include/ src/`
# sed -i 's/\<sysres_init_inner_resource\>/__sysres_init_inner_resource/g' `grep sysres_init_inner_resource -rl include/ src/`
# sed -i 's/\<sysres_get_system_res_path\>/__sysres_get_system_res_path/g' `grep sysres_get_system_res_path -rl include/ src/`
# sed -i 's/\<_set_pixel_helper\>/_gdi_set_pixel_helper/g' `grep _set_pixel_helper -rl src/`
# sed -i 's/\<err_dump\>/__mg_err_dump/g' `grep err_dump -rl src/`
# sed -i 's/\<err_msg\>/__mg_err_msg/g' `grep err_msg -rl src/`
# sed -i 's/\<err_quit\>/__mg_err_quit/g' `grep err_quit -rl src/`
# sed -i 's/\<err_ret\>/__mg_err_ret/g' `grep err_ret -rl src/`
# sed -i 's/\<err_sys\>/__mg_err_sys/g' `grep err_sys -rl src/`
# sed -i 's/\<mg_dispatch_timer_message\>/__mg_dispatch_timer_message/g' `grep mg_dispatch_timer_message -rl src/`
# sed -i 's/\<mgDeleteObject\>/mg_DeleteObject/g' `grep mgDeleteObject -rl src/`
# sed -i 's/\<init_arabic_kbd_layout\>/__mg_init_arabic_kbd_layout/g' `grep init_arabic_kbd_layout -rl src/`
# sed -i 's/\<init_default_kbd_layout\>/__mg_init_default_kbd_layout/g' `grep init_default_kbd_layout -rl src/`
# sed -i 's/\<init_de_kbd_layout\>/__mg_init_de_kbd_layout/g' `grep init_de_kbd_layout -rl src/`
# sed -i 's/\<init_delatin1_kbd_layout\>/__mg_init_delatin1_kbd_layout/g' `grep init_delatin1_kbd_layout -rl src/`
# sed -i 's/\<init_escp850_kbd_layout\>/__mg_init_escp850_kbd_layout/g' `grep init_escp850_kbd_layout -rl src/`
# sed -i 's/\<init_es_kbd_layout\>/__mg_init_es_kbd_layout/g' `grep init_es_kbd_layout -rl src/`
# sed -i 's/\<init_fr_kbd_layout\>/__mg_init_fr_kbd_layout/g' `grep init_fr_kbd_layout -rl src/`
# sed -i 's/\<init_frpc_kbd_layout\>/__mg_init_frpc_kbd_layout/g' `grep init_frpc_kbd_layout -rl src/`
# sed -i 's/\<init_it_kbd_layout\>/__mg_init_it_kbd_layout/g' `grep init_it_kbd_layout -rl src/`
# sed -i 's/\<init_hebrew_kbd_layout\>/__mg_init_hebrew_kbd_layout/g' `grep init_hebrew_kbd_layout -rl src/`
# sed -i 's/\<InitAutoInput\>/ial_InitAutoInput/g' `grep InitAutoInput -rl src/`
# sed -i 's/\<InitDummyInput\>/ial_InitDummyInput/g' `grep InitDummyInput -rl src/`
# sed -i 's/\<InitLibInput\>/ial_InitLibInput/g' `grep InitLibInput -rl src/`
# sed -i 's/\<InitNetInput\>/ial_InitNetInput/g' `grep InitNetInput -rl src/`
# sed -i 's/\<InitPCXVFBInput\>/ial_InitPCXVFBInput/g' `grep InitPCXVFBInput -rl src/`
# sed -i 's/\<InitRandomInput\>/ial_InitRandomInput/g' `grep InitRandomInput -rl src/`
# sed -i 's/\<InitializeResManager\>/mg_InitResManager/g' `grep InitializeResManager -rl src/`
# sed -i 's/\<InitTextBitmapBuffer\>/gdi_InitTextBitmapBuffer/g' `grep InitTextBitmapBuffer -rl src/`
# sed -i 's/\<clipboard_op\>/__mg_clipboard_op/g' `grep clipboard_op -rl src/`
# sed -i 's/\<mg_miFreeArcCache\>/miFreeArcCache/g' `grep mg_miFreeArcCache -rl src/`
# sed -i 's/\<mgNewObject\>/mgNewObjectEx/g' `grep mgNewObject -rl src/`
# sed -i 's/\<mg_newObject\>/mgNewObject/g' `grep mg_newObject -rl src/`
# sed -i 's/\<mg_remove_timers_by_msg_queue\>/__mg_remove_timers_by_msg_queue/g' `grep mg_remove_timers_by_msg_queue -rl src/`
# sed -i 's/\<mg_DeleteObject\>/mgDeleteObject/g' `grep mg_DeleteObject -rl src/`
# sed -i 's/\<GetMsgQueueThisThread\>/getMsgQueueThisThread/g' `grep GetMsgQueueThisThread -rl src/`
# sed -i 's/\<pMessages\>/pMsgQueue/g' `grep pMessages -rl src/`
# sed -i 's/\<mg_InitMsgQueueThisThread\>/mg_AllocMsgQueueThisThread/g' `grep mg_InitMsgQueueThisThread -rl include/ src/`
# sed -i 's/\<mg_AllocMsgQueueThisThread\>/mg_AllocMsgQueueForThisThread/g' `grep mg_AllocMsgQueueThisThread -rl src/`
# sed -i 's/\<mg_FreeMsgQueueThisThread\>/mg_FreeMsgQueueForThisThread/g' `grep mg_FreeMsgQueueThisThread -rl src/`
# sed -i 's/\<GetMsgQueueThisThread\>/mg_GetMsgQueueForThisThread/g' `grep GetMsgQueueThisThread -rl src/`
# sed -i 's/\<kernel_GetMsgQueue\>/getMsgQueue/g' `grep kernel_GetMsgQueue -rl src/`
# sed -i 's/\<BE_THIS_THREAD\>/isWindowInThisThread/g' `grep BE_THIS_THREAD -rl src/`
# sed -i 's/\<SetMsgQueueTimerFlag\>/setMsgQueueTimerFlag/g' `grep SetMsgQueueTimerFlag -rl src/`
# sed -i 's/\<RemoveMsgQueueTimerFlag\>/removeMsgQueueTimerFlag/g' `grep RemoveMsgQueueTimerFlag -rl src/`
# sed -i 's/\<getMsgQueueByWindowInThisThread\>/getMsgQueueIfWindowInThisThread/g' `grep getMsgQueueByWindowInThisThread -rl include/ src/`
# sed -i 's/\<FirstTimerSlot\>/first_time_slot/g' `grep FirstTimerSlot -rl src/`
# sed -i 's/\<TimerMask\>/expired_timer_mask/g' `grep TimerMask -rl src/`
# sed -i 's/\<first_time_slot\>/first_timer_slot/g' `grep first_time_slot -rl src/`
# sed -i 's/\<__mg_dispatch_timer_message\>/__mg_check_expired_timers/g' `grep __mg_dispatch_timer_message -rl src/`
# sed -i 's/\<4\.2\.0\>/5.0.0/g' `grep '4\.2\.0' -rl include/ src/`
# sed -i 's/\<__mg_check_hook_func\>/____mg_check_hook_event/g' `grep __mg_check_hook_func -rl src/`
# sed -i 's/\<____mg_check_hook_event\>/__mg_check_hook_event/g' `grep ____mg_check_hook_event -rl src/`
# sed -i 's/\<__mg_capture_wnd\>/_captured_wnd/g' `grep __mg_capture_wnd -rl include/ src/`
# sed -i 's/\<_captured_wnd\>/__mg_captured_wnd/g' `grep _captured_wnd -rl include/ src/`
# sed -i 's/\<__mg_check_hook_event\>/__mg_check_hook_func/g' `grep __mg_check_hook_event -rl include/ src/`
# sed -i 's/\<DEF_NR_FIXEDZNODES\>/NR_FIXED_ZNODES/g' `grep DEF_NR_FIXEDZNODES -rl src/`
#sed -i 's/\<ZOF_TYPE_TOPMOST\>/__ZOF_TYPE_HIGHER/g' `grep ZOF_TYPE_TOPMOST -rl include/ src/`
# sed -i 's/\<__ZOF_TYPE_HIGHER\>/ZOF_TYPE_HIGHER/g' `grep __ZOF_TYPE_HIGHER -rl include/ src/`
# sed -i 's/\<SetDesktopTimerFlag\>/AlertDesktopTimerEvent/g' `grep SetDesktopTimerFlag -rl include/ src/`
# sed -i 's/\<__mg_update_timer_count\>/__mg_update_tick_count/g' `grep __mg_update_timer_count -rl include/ src/`
# sed -i 's/\<__mg_timer_counter\>/__mg_tick_counter/g' `grep __mg_timer_counter -rl include/ src/`
# sed -i 's/\<pAdd\>/pSyncMsg/g' `grep '\<pAdd\>' -rl include/ src/`
# sed -i 's/\<isWindowInThisThread\>/getMainWinIfWindowInThisThread/g' `grep '\<isWindowInThisThread\>' -rl include/ src/`
# sed -i 's/\<GetMainVirtWindowById\>/GetHostedById/g' `grep '\<GetMainVirtWindowById\>' -rl include/ src/`
# sed -i 's/\<__mg_os_start_time_ms\>/__mg_os_start_time/g' `grep '\<__mg_os_start_time_ms\>' -rl include/ src/`
# sed -i 's/\<Gets\>/Get/g' `grep '\<Gets\>' -rl include/ src/`
# sed -i 's/\<Sets\>/Set/g' `grep '\<Sets\>' -rl include/ src/`
# sed -i 's/\<Retrieves\>/Retrieve/g' `grep '\<Retrieves\>' -rl include/ src/`
# sed -i 's/\<Determines\>/Determine/g' `grep '\<Determines\>' -rl include/ src/`
# sed -i 's/\<Checks\>/Check/g' `grep '\<Checks\>' -rl include/ src/`
#sed -i 's/\<SetWindowExStyle\>/gui_SetWindowExStyle/g' `grep '\<SetWindowExStyle\>' -rl include/ src/`
#sed -i 's/\<AddNewControlClass\>/gui_AddNewControlClass/g' `grep '\<AddNewControlClass\>' -rl include/ src/`
#sed -i 's/\<SetCtrlClassAddData\>/gui_SetCtrlClassAddData/g' `grep '\<SetCtrlClassAddData\>' -rl include/ src/`
#sed -i 's/\<GetCtrlClassAddData\>/gui_GetCtrlClassAddData/g' `grep '\<GetCtrlClassAddData\>' -rl include/ src/`
# sed -i 's/\<get_valid_dc\>/get_effective_dc/g' `grep '\<get_valid_dc\>' -rl include/ src/`
# sed -i 's/\<release_valid_dc\>/release_effective_dc/g' `grep '\<release_valid_dc\>' -rl include/ src/`
# sed -i 's/\<gui_GetMainWindowPtrOfControl\>/checkAndGetMainWindowPtrOfControl/g' `grep '\<gui_GetMainWindowPtrOfControl\>' -rl include/ src/`
# sed -i 's/\<gui_CheckAndGetMainWindowPtr\>/checkAndGetMainWindowPtrOfMainWin/g' `grep '\<gui_CheckAndGetMainWindowPtr\>' -rl include/ src/`
# sed -i 's/\<GetSubDCInSecondaryDC\>/GetDCInSecondarySurface/g' `grep '\<GetSubDCInSecondaryDC\>' -rl include/ src/`
# sed -i 's/\<checkAndGetMainWindowPtrOfMainWin\>/checkAndGetMainWinIfMainWin/g' `grep '\<checkAndGetMainWindowPtrOfMainWin\>' -rl include/ src/`
# sed -i 's/\<checkAndGetMainWindowPtrOfControl\>/checkAndGetMainWinIfWindow/g' `grep '\<checkAndGetMainWindowPtrOfControl\>' -rl include/ src/`
# sed -i 's/\<mg_GetMsgQueueForThisThread\>/getMsgQueueForThisThread/g' `grep '\<mg_GetMsgQueueForThisThread\>' -rl include/ src/`
# sed -i 's/\<IS_SHAREDFB_SCHEMA\>/IS_SHAREDFB_SCHEMA_PROCS/g' `grep '\<IS_SHAREDFB_SCHEMA\>' -rl include/ src/`
sed -i 's/\<REQID_GETWPSURFACE\>/REQID_GETSHAREDSURFACE/g' `grep '\<REQID_GETWPSURFACE\>' -rl include/ src/`
exit 0
+257 -569
View File
File diff suppressed because it is too large Load Diff
+5 -5
View File
@@ -239,9 +239,9 @@ int GUIAPI GetFirstWord (PLOGFONT log_font, const char* mstr, int len,
496 static int euckr_is_this_charset (const unsigned char* charset)
497 {
498 int i;
499 char name [LEN_LOGFONT_NAME_FIELD + 1];
499 char name [LEN_FONT_NAME + 1];
500
501 for (i = 0; i &lt; LEN_LOGFONT_NAME_FIELD + 1; i++) {
501 for (i = 0; i &lt; LEN_FONT_NAME + 1; i++) {
502 if (charset [i] == '\0')
503 break;
504 name [i] = toupper (charset [i]);
@@ -388,9 +388,9 @@ int GUIAPI GetFirstWord (PLOGFONT log_font, const char* mstr, int len,
<table border="0" cellpadding="0" class="code-sample" width="100%"><tr><td> <pre>
228 typedef struct _LOGFONT {
229 char type [LEN_LOGFONT_NAME_FIELD + 1];
230 char family [LEN_LOGFONT_NAME_FIELD + 1];
231 char charset [LEN_LOGFONT_NAME_FIELD + 1];
229 char type [LEN_FONT_NAME + 1];
230 char family [LEN_FONT_NAME + 1];
231 char charset [LEN_FONT_NAME + 1];
232 DWORD style;
233 int size;
234 int rotation;
+3
View File
@@ -0,0 +1,3 @@
*.css
*.png
*.html
View File
+2
View File
@@ -0,0 +1,2 @@
SUBDIRS = man3 man5
+1
View File
@@ -0,0 +1 @@
*.3
+249
View File
@@ -0,0 +1,249 @@
EXTRA_DIST = \
about_dlg.3 \
accel_fns.3 \
_ARC.3 \
basic_types.3 \
_BITMAP.3 \
_BLOCKHEAP.3 \
block_heap_fns.3 \
bmp_fns.3 \
bmp_load_fns.3 \
bmp_struct.3 \
bug.3 \
caret_fns.3 \
_CHILDINFO.3 \
class_fns.3 \
clipboard_fns.3 \
clip_fns.3 \
_CLIPRECT.3 \
_CLIPRGN.3 \
color_vars.3 \
common.h.3 \
_CONTAINERINFO.3 \
control_fns.3 \
control.h.3 \
controls.3 \
_COOLBARITEMINFO.3 \
creation_msgs.3 \
ctrl_button.3 \
ctrl_button_msgs.3 \
ctrl_button_ncs.3 \
ctrl_button_states.3 \
ctrl_button_styles.3 \
ctrl_combobox.3 \
ctrl_combobox_msgs.3 \
ctrl_combobox_ncs.3 \
ctrl_combobox_styles.3 \
_CTRLDATA.3 \
ctrl_edit.3 \
ctrl_edit_msgs.3 \
ctrl_edit_ncs.3 \
ctrl_edit_styles.3 \
ctrl_listbox.3 \
ctrl_listbox_msgs.3 \
ctrl_listbox_ncs.3 \
ctrl_listbox_styles.3 \
ctrl_menubutton.3 \
ctrl_menubutton_msgs.3 \
ctrl_menubutton_ncs.3 \
ctrl_menubutton_styles.3 \
ctrl_msgs.3 \
ctrl_newtoolbar.3 \
ctrl_newtoolbar_msgs.3 \
ctrl_newtoolbar_styles.3 \
ctrl_progbar.3 \
ctrl_progbar_msgs.3 \
ctrl_progbar_ncs.3 \
ctrl_progbar_styles.3 \
ctrl_propsheet.3 \
ctrl_propsheet_msgs.3 \
ctrl_propsheet_ncs.3 \
ctrl_propsheet_styles.3 \
ctrl_scrollview.3 \
ctrl_scrollview_msgs.3 \
ctrl_scrollview_ncs.3 \
ctrl_scrollview_styles.3 \
ctrl_static.3 \
ctrl_static_msgs.3 \
ctrl_static_ncs.3 \
ctrl_static_styles.3 \
ctrl_textedit.3 \
ctrl_textedit_msgs.3 \
ctrl_textedit_ncs.3 \
ctrl_textedit_styles.3 \
ctrl_toolbar.3 \
ctrl_toolbar_msgs.3 \
ctrl_trackbar.3 \
ctrl_trackbar_msgs.3 \
ctrl_trackbar_ncs.3 \
ctrl_trackbar_styles.3 \
cursor_fns.3 \
dc_attrs.3 \
dc_fns.3 \
desktop_msgs.3 \
dialog_fns.3 \
_DLGTEMPLATE.3 \
draw_adv_2d_fns.3 \
draw_fns.3 \
endian_info.3 \
endian_rw_fns.3 \
endianrw.h.3 \
err_codes.3 \
etc_fns.3 \
_FILEDLGDATA.3 \
filedlg.h.3 \
fixed_math_fns.3 \
fixedmath.h.3 \
fixed_str.3 \
fns.3 \
font_fns.3 \
_FONTMETRICS.3 \
GAL_Color.3 \
GAL_Overlay.3 \
GAL_Palette.3 \
GAL_Rect.3 \
gamma_fns.3 \
gdi_fns.3 \
gdi.h.3 \
gdi_types.3 \
general_rw_fns.3 \
global_fns.3 \
global_vars.3 \
_GLYPHBITMAP.3 \
_GRIDCELL.3 \
_GRIDCOLHEADER.3 \
_GRIDNM_NORMAL.3 \
_GRIDROWHEADER.3 \
handles.3 \
_HOOKINFO.3 \
icon_fns.3 \
ime_fns.3 \
init_fns.3 \
key_defs.3 \
key_msgs.3 \
key_status.3 \
_LISTBOXITEMINFO.3 \
lite_fns.3 \
lite_layer_fns.3 \
lite_listenfd_fns.3 \
lite_request_fns.3 \
lite_server_fns.3 \
lite_socket_fns.3 \
lite_vars.3 \
_LOGFONT.3 \
_LVCOLUMN.3 \
_LVFINDINFO.3 \
_LVITEM.3 \
_LVNM_NORMAL.3 \
_LVSORTDATA.3 \
_LVSUBITEM.3 \
macros_types.3 \
_MAINWINCREATE.3 \
map_fns.3 \
_MCCOLORINFO.3 \
_MENUBUTTONITEM.3 \
menu_fns.3 \
_MENUITEMINFO.3 \
menu_msgs.3 \
MG_Client.3 \
mgext_control_grid_msgs.3 \
mgext_controls.3 \
mgext_ctrl_coolbar.3 \
mgext_ctrl_coolbar_msgs.3 \
mgext_ctrl_coolbar_styles.3 \
mgext_ctrl_grid.3 \
mgext_ctrl_grid_ncs.3 \
mgext_ctrl_listview.3 \
mgext_ctrl_listview_msgs.3 \
mgext_ctrl_listview_ncs.3 \
mgext_ctrl_listview_styles.3 \
mgext_ctrl_monthcal.3 \
mgext_ctrl_monthcal_msgs.3 \
mgext_ctrl_monthcal_ncs.3 \
mgext_ctrl_monthcal_styles.3 \
mgext_ctrl_spinbox.3 \
mgext_ctrl_spinbox_msgs.3 \
mgext_ctrl_spinbox_ncs.3 \
mgext_ctrl_spinbox_styles.3 \
mgext_ctrl_treeview.3 \
mgext_ctrl_treeview_msgs.3 \
mgext_ctrl_treeview_ncs.3 \
mgext_ctrl_treeview_styles.3 \
mgext_fns.3 \
mgext_gif_fns.3 \
mgext.h.3 \
mgext_skin_fns.3 \
MG_Layer.3 \
MG_RWops.3 \
minigui.h.3 \
misc_fns.3 \
misc_macros.3 \
mouse_msgs.3 \
_MSG.3 \
msgbox_fns.3 \
msg_fns.3 \
msg_hook_fns.3 \
msg_pass_fns.3 \
msgs.3 \
_MYBITMAP.3 \
_myWinButton.3 \
mywindows.h.3 \
_myWinEntry.3 \
mywins_filedlg.3 \
mywins_fns.3 \
mywins_helpers.3 \
_NTBINFO.3 \
_NTBITEMINFO.3 \
own_stdio.h.3 \
paint_msgs.3 \
pal_fns.3 \
_POINT.3 \
post_event_msgs.3 \
_RECT.3 \
rect_fns.3 \
rect_vars.3 \
region_fns.3 \
_REQUEST.3 \
_RGB.3 \
scrollbar_fns.3 \
_SCROLLINFO.3 \
_SCROLLVIEWITEMINFO.3 \
si_bmplabel_s.3 \
sie_slider_s.3 \
simple_types.3 \
si_nrmlabel_s.3 \
si_nrmslider_s.3 \
si_rotslider_s.3 \
_SIZE.3 \
skin.h.3 \
skin_head_s.3 \
skin_item_s.3 \
skin_set_s.3 \
_SPININFO.3 \
_STIPPLE.3 \
str_helpers.3 \
styles.3 \
_svitem_operations.3 \
sys_bmps.3 \
system_font.3 \
system_msgs.3 \
_SYSTEMTIME.3 \
sys_text.3 \
text_output_fns.3 \
text_parse_fns.3 \
timer_fns.3 \
_TOOLBARITEMINFO.3 \
_TVITEMINFO.3 \
user_msgs.3 \
vcongui_fns.3 \
vcongui.h.3 \
version_info.3 \
win32_types.3 \
window_create_fns.3 \
window_fns.3 \
window_general_fns.3 \
window.h.3 \
window_msgs.3 \
_WNDCLASS.3 \
_WORDINFO.3 \
yuv_fns.3

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