mirror of
https://github.com/VincentWei/MiniGUI.git
synced 2026-09-24 09:14:09 +08:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6d287f72e3 | ||
|
|
bbac3b1796 | ||
|
|
e25fbb39d0 | ||
|
|
1b42c853ba | ||
|
|
a932bc798e | ||
|
|
713fd0ccb8 | ||
|
|
1a63b30d32 | ||
|
|
7ba6246dd1 | ||
|
|
190b2fea97 | ||
|
|
f2c2c28e62 | ||
|
|
837f2987fd | ||
|
|
7de60f2b94 | ||
|
|
018340f42e | ||
|
|
d4b226d2a5 | ||
|
|
699a68a9ac | ||
|
|
5a6705d8bc | ||
|
|
e7cc2f1e35 | ||
|
|
03b1dd9042 | ||
|
|
7651fbda35 | ||
|
|
6927a22507 | ||
|
|
c640565f3b | ||
|
|
c720b2a9ca | ||
|
|
8b24b1243b | ||
|
|
d8b2895527 | ||
|
|
2a4ead5e0f | ||
|
|
6f15548dc4 | ||
|
|
ef9048c582 | ||
|
|
da15a1dbd5 | ||
|
|
32aad95e7b | ||
|
|
57bdcd4754 | ||
|
|
b95538a415 | ||
|
|
fa7c84b2b5 | ||
|
|
bc77048488 | ||
|
|
2f21b22a49 | ||
|
|
ec91986854 | ||
|
|
e7b03037be | ||
|
|
9ff822c7fd | ||
|
|
239924c63e | ||
|
|
2f85645e9d |
+50793
-50793
File diff suppressed because it is too large
Load Diff
+196
-196
@@ -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();
|
||||
}
|
||||
|
||||
+23189
-23189
File diff suppressed because it is too large
Load Diff
+7221
-7221
File diff suppressed because it is too large
Load Diff
+99451
-99451
File diff suppressed because it is too large
Load Diff
+99017
-99017
File diff suppressed because it is too large
Load Diff
+10509
-10509
File diff suppressed because it is too large
Load Diff
Vendored
+16
-16
@@ -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
File diff suppressed because it is too large
Load Diff
+2
-4
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Processes)"
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = v5.0.0
|
||||
PROJECT_NUMBER = v4.0.7
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
@@ -58,7 +58,7 @@ PROJECT_LOGO =
|
||||
# entered, it will be relative to the location where doxygen was started. If
|
||||
# left blank the current directory will be used.
|
||||
|
||||
OUTPUT_DIRECTORY = doc-api-ref-minigui-procs-5.0.0
|
||||
OUTPUT_DIRECTORY = doc-api-ref-minigui-procs-4.0.7
|
||||
|
||||
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
|
||||
# directories (in 2 levels) under the output directory of each output format and
|
||||
@@ -2102,8 +2102,6 @@ PREDEFINED = _MGRM_PROCESSES \
|
||||
_MGFONT_FT2 \
|
||||
_MGFONT_UPF \
|
||||
_MGFONT_BMPF \
|
||||
_MGSCHEMA_COMPOSITING \
|
||||
_MGHAVE_VIRTUAL_WINDOW \
|
||||
_MGGAL_DRM \
|
||||
_MGGAL_COMMLCD \
|
||||
_MGIAL_COMM
|
||||
|
||||
+2
-3
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Standalone)"
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = v5.0.0
|
||||
PROJECT_NUMBER = v4.0.7
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
@@ -58,7 +58,7 @@ PROJECT_LOGO =
|
||||
# entered, it will be relative to the location where doxygen was started. If
|
||||
# left blank the current directory will be used.
|
||||
|
||||
OUTPUT_DIRECTORY = doc-api-ref-minigui-sa-5.0.0
|
||||
OUTPUT_DIRECTORY = doc-api-ref-minigui-sa-4.0.7
|
||||
|
||||
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
|
||||
# directories (in 2 levels) under the output directory of each output format and
|
||||
@@ -2102,7 +2102,6 @@ PREDEFINED = _MGRM_STANDALONE \
|
||||
_MGFONT_FT2 \
|
||||
_MGFONT_UPF \
|
||||
_MGFONT_BMPF \
|
||||
_MGHAVE_VIRTUAL_WINDOW \
|
||||
_MGGAL_DRM \
|
||||
_MGGAL_COMMLCD \
|
||||
_MGIAL_COMM
|
||||
|
||||
+2
-3
@@ -38,7 +38,7 @@ PROJECT_NAME = "MiniGUI API Reference (MiniGUI-Threads)"
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = v5.0.0
|
||||
PROJECT_NUMBER = v4.0.7
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
@@ -58,7 +58,7 @@ PROJECT_LOGO =
|
||||
# entered, it will be relative to the location where doxygen was started. If
|
||||
# left blank the current directory will be used.
|
||||
|
||||
OUTPUT_DIRECTORY = doc-api-ref-minigui-ths-5.0.0
|
||||
OUTPUT_DIRECTORY = doc-api-ref-minigui-ths-4.0.7
|
||||
|
||||
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
|
||||
# directories (in 2 levels) under the output directory of each output format and
|
||||
@@ -2102,7 +2102,6 @@ PREDEFINED = _MGRM_THREADS \
|
||||
_MGFONT_FT2 \
|
||||
_MGFONT_UPF \
|
||||
_MGFONT_BMPF \
|
||||
_MGHAVE_VIRTUAL_WINDOW \
|
||||
_MGGAL_DRM \
|
||||
_MGGAL_COMMLCD \
|
||||
_MGIAL_COMM
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
MAJOR_VERSION = 4
|
||||
MINOR_VERSION = 1
|
||||
MICRO_VERSION = 0
|
||||
MINOR_VERSION = 0
|
||||
MICRO_VERSION = 4
|
||||
EXTRAVERSION =
|
||||
|
||||
MINIGUI_RELEASE=$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)$(EXTRAVERSION)
|
||||
|
||||
@@ -7,22 +7,17 @@ A mature and proven cross-platform GUI system for embedded and smart IoT devices
|
||||
|
||||
- [INTRODUCTION](#introduction)
|
||||
- [A BRIEF BUILDING INSTRUCTION](#a-brief-building-instruction)
|
||||
+ [Prerequisites](#prerequisites)
|
||||
+ [Building MiniGUI Core](#building-minigui-core)
|
||||
+ [Building whole MiniGUI](#building-whole-minigui)
|
||||
+ [Unit Tests](#unit-tests)
|
||||
- [NEW FEATURES IN VERSION 5.0.x](#new-features-in-version-50x)
|
||||
+ [Compositing schema](#compositing-schema)
|
||||
+ [New main window types](#new-main-window-types)
|
||||
+ [Virtual window](#virtual-window)
|
||||
+ [Other enhancements](#other-enhancements)
|
||||
* [Prerequisites](#prerequisites)
|
||||
* [Building MiniGUI Core](#building-minigui-core)
|
||||
* [Building the Comprehensive Demo](#building-the-comprehensive-demo)
|
||||
* [Unit Tests](#unit-tests)
|
||||
- [NEW FEATURES IN VERSION 4.0.x](#new-features-in-version-40x)
|
||||
- [NEW FEATURES IN VERSION 3.2.x](#new-features-in-version-32x)
|
||||
- [THE RUNTIME MODES OF MINIGUI](#the-runtime-modes-of-minigui)
|
||||
- [HISTORY](#history)
|
||||
- [AUTHORS AND COPYING](#authors-and-copying)
|
||||
+ [Special Statement](#special-statement)
|
||||
+ [Not Free for Commercial Use](#not-free-for-commercial-use)
|
||||
* [Not Free for Commercial Use](#not-free-for-commercial-use)
|
||||
* [Special Statement](#special-statement)
|
||||
- [A LITTLE FAQ](#a-little-faq)
|
||||
|
||||
|
||||
@@ -30,7 +25,7 @@ A mature and proven cross-platform GUI system for embedded and smart IoT devices
|
||||
|
||||
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 5.0.x of MiniGUI maintained by WEI Yongming.
|
||||
This is the version 4.0.x of MiniGUI maintained by WEI Yongming.
|
||||
|
||||
MiniGUI is released under GPLv3 and the dual-licensing applies to commercial
|
||||
use.
|
||||
@@ -41,10 +36,10 @@ embedded systems or smart IoT devices based-on Linux/uClinux, eCos, and other
|
||||
traditional RTOSes, such as RT-Thread, FreeRTOS, RTEMS, VxWorks, ThreadX,
|
||||
Nucleus, pSOS, uC/OS-II, and OSE.
|
||||
|
||||
This is the source tree of MiniGUI Core, which provides windowing
|
||||
This is the MiniGUI core source tree, which provides windowing
|
||||
and graphics interfaces as well as a lot of standard controls (toolkit).
|
||||
|
||||
Besides MiniGUI Core, FMSoft also provides some components
|
||||
Besides MiniGUI core, FMSoft also provides some components
|
||||
for the developers to develop app much easier:
|
||||
|
||||
* mGUtils: A MiniGUI component which contains miscellaneous utilities
|
||||
@@ -96,7 +91,7 @@ for examples:
|
||||
* mEagle, licensed under GPL 3.0, is an embedded GIS development platform
|
||||
which addresses the needs of map browse, query, analysis, etc
|
||||
|
||||
FMSoft had created the public repositories for MiniGUI Core, MiniGUI
|
||||
FMSoft had created the public repositories for MiniGUI core, MiniGUI
|
||||
components, and other open source apps on GitHub. You can visit them on:
|
||||
|
||||
<https://github.com/VincentWei>
|
||||
@@ -127,7 +122,7 @@ on your Ubuntu Linux.
|
||||
|
||||
### Building MiniGUI Core
|
||||
|
||||
MiniGUI Core uses GNU autoconf/automake scripts to configure and build the project.
|
||||
MiniGUI core uses GNU autoconf/automake scripts to configure and build the project.
|
||||
|
||||
Run
|
||||
|
||||
@@ -140,21 +135,17 @@ to configure, make, and install the headers and the libraries. If there is not
|
||||
|
||||
to generate the script.
|
||||
|
||||
MiniGUI Core also provides some configuration options to customize the features.
|
||||
MiniGUI core also provides some configuration options to customize the features.
|
||||
For more information, please run
|
||||
|
||||
$ ./configure --help
|
||||
|
||||
### Building whole MiniGUI
|
||||
### Building the Comprehensive Demo
|
||||
|
||||
If you are anxious to see the comprehensive demo of MiniGUI Core
|
||||
If you are anxious to see the comprehensive demo of MiniGUI core
|
||||
and MiniGUI components, please fetch one of the following repositories
|
||||
from GitHub and follow the instructions to build MiniGUI Core,
|
||||
MiniGUI components, the samples, and the demonstration programs:
|
||||
|
||||
<https://github.com/VincentWei/build-minigui-5.0>
|
||||
|
||||
or
|
||||
from GitHub and follow the instructions to build the samples and
|
||||
the demonstration programs:
|
||||
|
||||
<https://github.com/VincentWei/build-minigui-4.0>
|
||||
|
||||
@@ -162,6 +153,7 @@ or
|
||||
|
||||
<https://github.com/VincentWei/build-minigui-3.2>
|
||||
|
||||
|
||||
### Unit Tests
|
||||
|
||||
Since MiniGUI 4.0.0, we organize the unit test code of MiniGUI APIs in the
|
||||
@@ -172,125 +164,6 @@ following repository:
|
||||
If you are interested in hacking the MiniGUI code, please visit this repository.
|
||||
|
||||
|
||||
## NEW FEATURES IN VERSION 5.0.x
|
||||
|
||||
In version 5.0.0, we introduced some new and exciting features, and refactored
|
||||
a lot basic modules of MiniGUI Core.
|
||||
|
||||
### Compositing schema
|
||||
|
||||
In this version, we enhanced the MiniGUI-Processes runtime mode to support
|
||||
the compositing schema. Under compositing schema, regardless a main window
|
||||
is created by the server (`mginit`) or a client, it renders the content in
|
||||
a separate rendering buffer, and the server composites the contents from
|
||||
all visible main windows to the ultimate scan-out frame buffer according to
|
||||
the z-order information.
|
||||
|
||||
On the contrary, the legacy schema of MiniGUI-Processes uses the same
|
||||
frame buffer for all processes (and all main windows) in the system.
|
||||
So the legacy schema is also called the shared frame buffer schema.
|
||||
|
||||
By enabling the compositing schema, MiniGUI now can provide a better
|
||||
implementation for multi-process environment:
|
||||
|
||||
- Easy to implement advanced user interfaces with rounded corners,
|
||||
alpha blending, blurring, and so on.
|
||||
- Easy to implement animations for switching among main windows.
|
||||
- Better security. One client created by different user cannot
|
||||
read/write contents in/to another windows owned by other clients.
|
||||
|
||||
### New main window types
|
||||
|
||||
In this version, we also enhanced the window manager of MiniGUI Core
|
||||
to support some special main window types.
|
||||
|
||||
Before 5.0.0, you can create a topmost main window with the style
|
||||
`WS_EX_TOPMOST` in order to show the main window above all normal main windows,
|
||||
and if you use MiniGUI-Processes runtime mode, the server (`mginit`) will
|
||||
always create global main windows, which are shown on other main windows
|
||||
created by clients.
|
||||
|
||||
Since 5.0.0, we introduce a concept of z-order levels for main windows.
|
||||
There are eight levels in MiniGUI from top to bottom:
|
||||
|
||||
- The tooltip level (`WS_EX_WINTYPE_TOOLTIP`).
|
||||
- The system/global level (`WS_EX_WINTYPE_GLOBAL`).
|
||||
- The screen lock level (`WS_EX_WINTYPE_SCREENLOCK`).
|
||||
- The docker level (`WS_EX_WINTYPE_DOCKER`).
|
||||
- The higher level (`WS_EX_WINTYPE_HIGHER`).
|
||||
- The normal level (`WS_EX_WINTYPE_NORMAL`).
|
||||
- The launcher level (`WS_EX_WINTYPE_LAUNCHER`).
|
||||
- The desktop or wallpaper.
|
||||
|
||||
This enhancement allows us to create a special app which acts as
|
||||
screen lock, docker, or launcher.
|
||||
|
||||
### Virtual window
|
||||
|
||||
You know that we can post or send a message to other windows which
|
||||
may run in another thread under MiniGUI-Threads. The MiniGUI
|
||||
messaging functions such as `PostMessage()`, `SendMessage()`,
|
||||
`SendNotifyMessage()`, and the window callback procedure
|
||||
provide a flexible, efficient, safe, and flexible data transfer
|
||||
and synchronization mechanism for your multithreaded applications.
|
||||
|
||||
For example, you can send or post a message to a window from a
|
||||
general purpose thread which may download a file from a remote
|
||||
server under MiniGUI-Threads.
|
||||
|
||||
But can we use the MiniGUI messaging mechanism under
|
||||
MiniGUI-Processes and MiniGUI-Standalone runtime modes for
|
||||
multithreading purpose? For example, we may download a file in a
|
||||
general thread and inform a window when the file is ready.
|
||||
|
||||
Furthermore, if we want to use the MiniGUI messaging mechanism in
|
||||
a general thread to handle messages from other threads, how to do this?
|
||||
|
||||
The virtual window provides a solution for the requirements above.
|
||||
A virtual window is a special window object which does not have
|
||||
a visible window area. But after you create a virtual window in
|
||||
a different thread, you can use the MiniGUI messaging mechanism
|
||||
to post or send messages between the current main window thread
|
||||
and the new thread.
|
||||
|
||||
This enhancement provides a very useful facility to you in order to
|
||||
develop a well-designed multithreaded application.
|
||||
|
||||
### Other enhancements
|
||||
|
||||
We also tune or enhance the following modules of MiniGUI Core:
|
||||
|
||||
- Enhanced timer support. MiniGUI now manages the timers per message thread.
|
||||
Under MiniGUI-Threads runtime mode, you can set up 32 (64 on 64-bit
|
||||
architecture) timers for each GUI threads. If you enabled virtual window,
|
||||
you can also do this for each message thread.
|
||||
- Support for listening a file descriptor as long as the underlying system
|
||||
has the `select()` system call for all runtime modes. Now you can call
|
||||
`RegisterListenFD()` to register a file descriptor to be listened, and
|
||||
handle `MSG_FDEVENT` in your window callback procedure to read/write
|
||||
from/to the file descriptor. Before this version, this feature only
|
||||
available for MiniGUI-Processes runtime mode.
|
||||
- Support for local data of windows. You can now set or retrieve a local data
|
||||
which is bound with a string name for a window. This will give you an
|
||||
easy-to-use interface to manage various data of a window.
|
||||
- Support for hardware cursors under compositing schema. MiniGUI now can
|
||||
utilize the hardware cursors if your graphics device support it.
|
||||
You can also load a cursor from a PNG file.
|
||||
- Support for loading icon from a bitmap file. You can now load an icon
|
||||
from a bitmap file such as a PNG file.
|
||||
- Unified the message hook functions for all runtime modes. MiniGUI now
|
||||
provides the consistent message hook functions for all runtime modes.
|
||||
- Use the update regions for cumulative updating the screen. This will
|
||||
eliminate the flickers due to the frequently redrawing of controls.
|
||||
|
||||
Obviously, this version brings the largest improvement since MiniGUI 3.0.0.
|
||||
We did our best to ensure backward compatibility of the existed APIs
|
||||
so that the old applications can smoothly migrate to the new
|
||||
version. However, there are still some slight changes you need to take care.
|
||||
For more information, please refer to `RELEASE-NOTES.md` file:
|
||||
|
||||
<https://github.com/VincentWei/minigui/blob/master/RELEASE-NOTES.md>
|
||||
|
||||
## NEW FEATURES IN VERSION 4.0.x
|
||||
|
||||
In this version, we enhanced and tuned the APIs related to text rendering,
|
||||
@@ -320,7 +193,7 @@ in order to support [HybridOS Foundation Class Library].
|
||||
|
||||
For more information, please refer to `RELEASE-NOTES.md` file:
|
||||
|
||||
<https://github.com/VincentWei/minigui/blob/tree/rel-4-0/RELEASE-NOTES.md>
|
||||
<https://github.com/VincentWei/minigui/blob/master/RELEASE-NOTES.md>
|
||||
|
||||
Because of the changes of some APIs, we recommended strongly that you
|
||||
use this version for new projects.
|
||||
@@ -417,10 +290,7 @@ other main features.
|
||||
In the development of version 4.0.x, we introduced the support for
|
||||
complex writing systems (scripts), such as Arabic, Thai, and Indic.
|
||||
|
||||
In the development of version 5.0.x, we introduced some new and
|
||||
exciting features such as compositing schema and virtual window.
|
||||
|
||||
A brief history description of the development progress is listed as follow:
|
||||
A brief history description of the development progress lay below:
|
||||
|
||||
1. 1994 ~ 1996: MiniGUI DOS version.
|
||||
1. Dec, 1998: Began to write.
|
||||
@@ -483,7 +353,6 @@ A brief history description of the development progress is listed as follow:
|
||||
1. Feb., 2018: FMSoft released MiniGUI version 3.2.0.
|
||||
1. Apr., 2019: FMSoft released MiniGUI version 3.2.2.
|
||||
1. Jul., 2019: FMSoft released MiniGUI version 4.0.0.
|
||||
1. Apr., 2020: FMSoft released MiniGUI version 5.0.0.
|
||||
|
||||
## AUTHORS AND COPYING
|
||||
|
||||
@@ -491,7 +360,7 @@ The original author of MiniGUI is WEI Yongming, and now MiniGUI is
|
||||
maintained by FMSoft. For more information, please refer to
|
||||
<http://www.fmsoft.cn>.
|
||||
|
||||
Copyright (C) 2002 ~ 2020, Beijing FMSoft Technologies Co., Ltd.
|
||||
Copyright (C) 2002 ~ 2019, Beijing FMSoft Technologies Co., Ltd.
|
||||
Copyright (C) 1998 ~ 2002, WEI Yongming
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
||||
+606
-697
File diff suppressed because it is too large
Load Diff
+4
-12
@@ -1,16 +1,8 @@
|
||||
Version 4.9.1 (2019/03/11)
|
||||
Version 4.0.7 (2020/03/30)
|
||||
|
||||
This is the second preview version of MiniGUI 5.0.0, an unstable version.
|
||||
This release needs the following packages:
|
||||
|
||||
Other packages for MiniGUI resource, tools, components, and samples:
|
||||
|
||||
- GVFB: `gvfb-1.2.4.tar.gz`
|
||||
- The resource package: `minigui-res-4.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`
|
||||
- The sample package: `mg-samples-4.0.1.tar.gz`
|
||||
- The test cases package: `mg-tests-4.0.7.tar.gz`
|
||||
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
-176
@@ -1,176 +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/`
|
||||
exit 0
|
||||
+27
-87
@@ -1,6 +1,6 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_PREREQ(2.60)
|
||||
AC_INIT(libminigui, 4.9.1)
|
||||
AC_INIT(libminigui, 4.0.7)
|
||||
AC_CONFIG_SRCDIR(src/main/main.c)
|
||||
|
||||
dnl Set various version strings - taken gratefully from the SDL sources
|
||||
@@ -15,10 +15,10 @@ dnl Set various version strings - taken gratefully from the SDL sources
|
||||
# set MINIGUI_BINARY_AGE and MINIGUI_INTERFACE_AGE to 0.
|
||||
#
|
||||
MINIGUI_MAJOR_VERSION=4
|
||||
MINIGUI_MINOR_VERSION=9
|
||||
MINIGUI_MICRO_VERSION=1
|
||||
MINIGUI_INTERFACE_AGE=1
|
||||
MINIGUI_BINARY_AGE=1
|
||||
MINIGUI_MINOR_VERSION=0
|
||||
MINIGUI_MICRO_VERSION=7
|
||||
MINIGUI_INTERFACE_AGE=0
|
||||
MINIGUI_BINARY_AGE=0
|
||||
MINIGUI_VERSION=$MINIGUI_MAJOR_VERSION.$MINIGUI_MINOR_VERSION.$MINIGUI_MICRO_VERSION
|
||||
|
||||
AC_SUBST(MINIGUI_MAJOR_VERSION)
|
||||
@@ -62,7 +62,7 @@ dnl ========================================================================
|
||||
dnl Checks for header files.
|
||||
AC_HEADER_STDC
|
||||
AC_HEADER_DIRENT
|
||||
AC_CHECK_HEADERS(limits.h math.h locale.h unistd.h termio.h sys/types.h sys/time.h sys/select.h sys/memfd.h)
|
||||
AC_CHECK_HEADERS(limits.h math.h locale.h unistd.h termio.h sys/types.h sys/time.h)
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
@@ -77,7 +77,7 @@ AC_FUNC_MEMCMP
|
||||
AC_FUNC_MMAP
|
||||
AC_FUNC_VPRINTF
|
||||
AC_CHECK_FUNCS(time mktime localtime clock_gettime strdup strcasecmp strncasecmp strerror setlocale)
|
||||
AC_CHECK_FUNCS(posix_memalign memalign valloc memfd_create poll select)
|
||||
AC_CHECK_FUNCS(posix_memalign memalign valloc)
|
||||
|
||||
PKG_CHECK_MODULES(UDEV, [libudev >= 200], have_udev="yes", have_udev="no; need libudev 200+")
|
||||
|
||||
@@ -92,10 +92,6 @@ message_string="no"
|
||||
|
||||
osname="unspecified"
|
||||
runtime_mode="procs"
|
||||
compositing_schema="no"
|
||||
virtual_window="no"
|
||||
use_shmopen="no"
|
||||
mgslice_use_fallback="no"
|
||||
|
||||
incore_res="no"
|
||||
use_miniguientry="no"
|
||||
@@ -106,9 +102,9 @@ build_clipboard="yes"
|
||||
use_own_stdio="no"
|
||||
use_own_malloc="no"
|
||||
use_own_pthread="no"
|
||||
build_adv2dapi="yes"
|
||||
build_updateregion="yes"
|
||||
|
||||
build_adv2dapi="yes"
|
||||
build_syncupdate="no"
|
||||
build_minimalgdi="no"
|
||||
|
||||
dnl Options for look and feel renderer
|
||||
@@ -252,7 +248,7 @@ build_ctrl_monthcal="no"
|
||||
build_ctrl_treeview="no"
|
||||
build_ctrl_treeview_rdr="no"
|
||||
build_ctrl_spinbox="yes"
|
||||
build_ctrl_coolbar="yes"
|
||||
build_ctrl_coolbar="no"
|
||||
build_ctrl_listview="yes"
|
||||
build_ctrl_iconview="no"
|
||||
build_ctrl_gridview="no"
|
||||
@@ -321,10 +317,6 @@ AC_ARG_ENABLE(incoreres,
|
||||
[ --enable-incoreres use incore resource instead file IO to initialize MiniGUI <default=no>],
|
||||
incore_res=$enableval)
|
||||
|
||||
AC_ARG_ENABLE(mgslicefallback,
|
||||
[ --enable-mgslicefallback use fallback implementation for mg_slice_xxx <default=no>],
|
||||
mgslice_use_fallback=$enableval)
|
||||
|
||||
AC_ARG_ENABLE(miniguientry,
|
||||
[ --enable-miniguientry use minigui_entry function in MiniGUI <default=no>],
|
||||
use_miniguientry=$enableval)
|
||||
@@ -361,9 +353,9 @@ AC_ARG_ENABLE(adv2dapi,
|
||||
[ --enable-adv2dapi include advanced 2D graphics APIs <default=yes>],
|
||||
build_adv2dapi=$enableval)
|
||||
|
||||
AC_ARG_ENABLE(updateregion,
|
||||
[ --enable-updateregion Use update region for cumulative updating surfaces <default=yes>],
|
||||
build_updateregion=$enableval)
|
||||
AC_ARG_ENABLE(syncupdate,
|
||||
[ --enable-syncupdate include implementation of SyncUpdateDC <default=yes>],
|
||||
build_syncupdate=$enableval)
|
||||
|
||||
AC_ARG_ENABLE(minimalgdi,
|
||||
[ --enable-minimalgdi build a minimal GDI library only <default=no>],
|
||||
@@ -502,7 +494,7 @@ AC_ARG_ENABLE(consolegpm,
|
||||
build_console_gpm=$enableval)
|
||||
|
||||
AC_ARG_ENABLE(textmode,
|
||||
[ --enable-textmode Linux system has console (text mode) on Frame Buffer <default=yes>],
|
||||
[ --enable-textmode Linux system have console (text mode) on FrameBuffer <default=yes>],
|
||||
build_text_mode=$enableval)
|
||||
|
||||
AC_ARG_ENABLE(rbfsupport,
|
||||
@@ -837,22 +829,6 @@ AC_ARG_ENABLE(ctrlanimation,
|
||||
[ --enable-ctrlanimation include ANIMATION control and GIF87a/GIF89a support <default=yes>],
|
||||
build_ctrl_animation=$enableval)
|
||||
|
||||
if test "x$runtime_mode" == "xprocs"; then
|
||||
AC_ARG_ENABLE(compositing,
|
||||
[ --enable-compositing enable compositing schema (MiniGUI-Processes runmode only) <default=no>],
|
||||
compositing_schema=$enableval)
|
||||
|
||||
AC_ARG_ENABLE(shmopen,
|
||||
[ --enable-shmopen use shm_open <default=no>],
|
||||
use_shmopen=$enableval)
|
||||
fi
|
||||
|
||||
if test "x$runtime_mode" != "xths"; then
|
||||
AC_ARG_ENABLE(virtualwindow,
|
||||
[ --enable-virtualwindow enable virtual window for MiniGUI-Processes or MiniGUI-Standalone runmode <default=no>],
|
||||
virtual_window=$enableval)
|
||||
fi
|
||||
|
||||
dnl Set up the Null video driver.
|
||||
CheckDummyVideo()
|
||||
{
|
||||
@@ -910,14 +886,14 @@ dnl Find the DRM includes
|
||||
CheckDRM()
|
||||
{
|
||||
AC_ARG_ENABLE(videodrm,
|
||||
[ --enable-videodrm include Linux DRM NEWGAL engine <default=yes>],
|
||||
[ --enable-videodrm include Linux DRI NEWGAL engine <default=yes>],
|
||||
enable_video_drm=$enableval)
|
||||
if test "x$enable_video_drm" = "xyes"; then
|
||||
PKG_CHECK_MODULES(DRM, [libdrm >= 2.4], video_drm="yes",
|
||||
video_drm="no; Linux DRM NEWGAL engine requires libdrm 2.4+")
|
||||
video_drm="no; Linux DRI NEWGAL engine requires libdrm 2.4+")
|
||||
if test "x$video_drm" = "xyes"; then
|
||||
AC_DEFINE(_MGGAL_DRM, 1,
|
||||
[Define if include Linux DRM NEWGAL engine])
|
||||
[Define if include Linux DRI NEWGAL engine])
|
||||
VIDEO_SUBDIRS="$VIDEO_SUBDIRS drm"
|
||||
VIDEO_DRIVERS="$VIDEO_DRIVERS drm/libvideo_drm.la"
|
||||
DEP_LIBS="$DEP_LIBS -ldrm -ldl"
|
||||
@@ -1723,11 +1699,14 @@ fi
|
||||
|
||||
CPPFLAGS="$CPPFLAGS -D__MINIGUI_LIB__"
|
||||
|
||||
surface_schema="shared frame buffer"
|
||||
case "$runtime_mode" in
|
||||
sa)
|
||||
AC_DEFINE(_MGRM_STANDALONE, 1,
|
||||
[Define if build MiniGUI-Standalone])
|
||||
AC_DEFINE(_STAND_ALONE, 1,
|
||||
[Define if build MiniGUI-Standalone (back-compatibility definition)])
|
||||
AC_DEFINE(_LITE_VERSION, 1,
|
||||
[Define if build MiniGUI-Standalone (back-compatibility definition)])
|
||||
MINIGUI_RUNMODE="sa"
|
||||
;;
|
||||
ths)
|
||||
@@ -1735,50 +1714,18 @@ case "$runtime_mode" in
|
||||
[Define if build MiniGUI-Threads])
|
||||
CPPFLAGS="$CPPFLAGS -D_REENTRANT"
|
||||
MINIGUI_RUNMODE="ths"
|
||||
virtual_window="yes"
|
||||
;;
|
||||
*)
|
||||
AC_DEFINE(_MGRM_PROCESSES, 1,
|
||||
[Define if build MiniGUI-Processes])
|
||||
AC_DEFINE(_LITE_VERSION, 1,
|
||||
[Define if build MiniGUI-Processes (back-compatibility definition)])
|
||||
MINIGUI_RUNMODE="procs"
|
||||
if test "x$compositing_schema" = "xyes"; then
|
||||
surface_schema="compositing"
|
||||
fi
|
||||
|
||||
if test "x$use_shmopen" = "xyes"; then
|
||||
AC_CHECK_LIB(rt, shm_open, [DEP_LIBS="$DEP_LIBS -lrt"],
|
||||
[use_shmopen="no; shm_open function not found in rt library"])
|
||||
fi
|
||||
if test "x$use_shmopen" = "xyes"; then
|
||||
AC_CHECK_DECLS(SHM_ANON, foo=bar,
|
||||
[use_shmopen="no; SHM_ANON is not declared in <sys/mman.h>"],
|
||||
[#include <sys/mman.h>])
|
||||
fi
|
||||
|
||||
if test "x$use_shmopen" = "xyes"; then
|
||||
AC_DEFINE(_MGUSE_SHMOPEN, 1, [Define if use shm_open])
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if test "x$surface_schema" = "xcompositing"; then
|
||||
AC_DEFINE(_MGSCHEMA_COMPOSITING, 1,
|
||||
[Define if use compositing schema for the current runmode])
|
||||
else
|
||||
AC_DEFINE(_MGSCHEMA_SHAREDFB, 1,
|
||||
[Define if use legacy schema (shared frame buffer) for the current runmode])
|
||||
fi
|
||||
|
||||
if test "x$virtual_window" = "xyes"; then
|
||||
AC_DEFINE(_MGHAVE_VIRTUAL_WINDOW, 1, [Define if virtual window enabled])
|
||||
fi
|
||||
|
||||
if test "x$mgslice_use_fallback" = "xyes"; then
|
||||
AC_DEFINE(_MGSLICE_FALLBACK, 1, [Define if use the fallback implementation for mgslice_xxx])
|
||||
fi
|
||||
|
||||
if test "x$incore_res" = "xno"; then
|
||||
AC_DEFINE_UNQUOTED(ETCFILENAME, "${conf}", [MiniGUI configure file name])
|
||||
AC_DEFINE_UNQUOTED(ETCFILENAME, "${conf}", [MiniGUI configure file name])
|
||||
fi
|
||||
|
||||
AC_SUBST(MGLIB_SUFFIX)
|
||||
@@ -1799,9 +1746,9 @@ if test "x$build_adv2dapi" = "xyes"; then
|
||||
[Define if include advanced 2D graphics APIs])
|
||||
fi
|
||||
|
||||
if test "x$build_updateregion" = "xyes"; then
|
||||
AC_DEFINE(_MGUSE_UPDATE_REGION, 1,
|
||||
[Define if use update region for cumulative updating surfaces])
|
||||
if test "x$build_syncupdate" = "xyes"; then
|
||||
AC_DEFINE(_MGUSE_SYNC_UPDATE, 1,
|
||||
[Define if include implementation of SyncUpdateDC])
|
||||
fi
|
||||
|
||||
if test "x$fixed_math" = "xyes"; then
|
||||
@@ -1818,7 +1765,6 @@ if test "x$devel_mode" = "xyes"; then
|
||||
build_auto_ial_engine="yes"
|
||||
build_random_ial_engine="yes"
|
||||
build_net_ial_engine="yes"
|
||||
build_console_ial_engine="yes"
|
||||
|
||||
build_qpf_support="yes"
|
||||
|
||||
@@ -1864,7 +1810,6 @@ if test "x$devel_mode" = "xyes"; then
|
||||
build_ctrl_iconview="yes"
|
||||
build_ctrl_gridview="yes"
|
||||
|
||||
enable_video_fbcon="yes"
|
||||
enable_video_shadow="yes"
|
||||
enable_video_mlshadow="yes"
|
||||
enable_video_custom="yes"
|
||||
@@ -2755,15 +2700,10 @@ AC_MSG_NOTICE([
|
||||
## Global Features:
|
||||
* Operating system: ${osname}
|
||||
* Runtime mode: ${runtime_mode}
|
||||
* Virtual Window: ${virtual_window}
|
||||
* Surface schema: ${surface_schema}
|
||||
* Use shm_open: ${use_shmopen}
|
||||
* Incore resource: ${incore_res}
|
||||
* Fallback mgslice: ${mgslice_use_fallback}
|
||||
* Developer mode: ${devel_mode}
|
||||
* Target name: ${with_targetname}
|
||||
* Cursor: ${build_cursor_support}
|
||||
* Update Region: ${build_updateregion}
|
||||
|
||||
## NEWGAL Engines:
|
||||
* dummy: ${enable_video_dummy}
|
||||
|
||||
+3
-28
@@ -1,6 +1,6 @@
|
||||
# This configuration file is for MiniGUI V4.2.x or later
|
||||
# This configuration file is for MiniGUI V4.0.x or later
|
||||
#
|
||||
# Copyright (C) 2002~2020 FMSoft
|
||||
# Copyright (C) 2002~2019 FMSoft
|
||||
# Copyright (C) 1998~2002 Wei Yongming.
|
||||
#
|
||||
# Web: http://www.minigui.com
|
||||
@@ -36,25 +36,6 @@ mtype=IMPS2
|
||||
# Linux IAL engine based on libinput
|
||||
# ial_engine=libinut
|
||||
|
||||
#{{ifdef _MGSCHEMA_COMPOSITING
|
||||
# Options for compositing schema
|
||||
[compositing_schema]
|
||||
# The size of wallpaper pattern surface (the fake screen for clients).
|
||||
# Optional values: <w>x<h>, full, half, quarter, octant, and empty.
|
||||
# Default value is empty.
|
||||
wallpaper_pattern_size=full
|
||||
# wallpaper_pattern_size=half
|
||||
# wallpaper_pattern_size=quarter
|
||||
# wallpaper_pattern_size=octant
|
||||
# wallpaper_pattern_size=empty
|
||||
# wallpaper_pattern_size=32x32
|
||||
|
||||
# The shared object name of the default compositor. If it is not defined
|
||||
# or failed to load, MiniGUI will use the built-in fallback compositor.
|
||||
# The equivalent environment variable: MG_DEF_COMPOSITOR_SO
|
||||
# def_compositor_so=
|
||||
#}}
|
||||
|
||||
#{{ifdef _MGGAL_DRM
|
||||
[drm]
|
||||
defaultmode=1024x768-32bpp
|
||||
@@ -74,7 +55,7 @@ dpi=96
|
||||
|
||||
# The filename of the shared library for the external driver.
|
||||
# The equivalent environment variable: MG_GAL_DRM_DRIVER
|
||||
exdriver=libhidrmdrivers.so.0
|
||||
exdriver=libhidrmdrivers-0.2.so.0
|
||||
#}}
|
||||
|
||||
#{{ifdef _MGIAL_LIBINPUT
|
||||
@@ -195,12 +176,6 @@ cursor20=h_select.cur
|
||||
cursor21=ho_split.cur
|
||||
cursor22=ve_split.cur
|
||||
|
||||
# Under compositing schema, you can specify a PNG file as the cursor.
|
||||
# You should use a 'hotspotN' key to specify the hotspot coordinates
|
||||
# of a PNG cursor. For example:
|
||||
# cursor23=foo.png
|
||||
# hotspot23=32,32
|
||||
|
||||
[resinfo]
|
||||
respath=/usr/local/share/minigui/res/
|
||||
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
*/
|
||||
case MSG_ACTIVEMENU:
|
||||
if (wParam == 2) {
|
||||
CheckMenuRadioItem ((HMENU)lParam,
|
||||
IDM_40X15, IDM_CUSTOMIZE,
|
||||
CheckMenuRadioItem ((HMENU)lParam,
|
||||
IDM_40X15, IDM_CUSTOMIZE,
|
||||
pConInfo->termType, MF_BYCOMMAND);
|
||||
CheckMenuRadioItem ((HMENU)lParam,
|
||||
IDM_DEFAULT, IDM_BIG5,
|
||||
CheckMenuRadioItem ((HMENU)lParam,
|
||||
IDM_DEFAULT, IDM_BIG5,
|
||||
pConInfo->termCharset, MF_BYCOMMAND);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
/*
|
||||
* This example trys to handle the event when the user presses
|
||||
* This example trys to handle the event when the user presses
|
||||
* left button and right button of the mouse at the same time.
|
||||
*/
|
||||
LRESULT MyWinProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
@@ -16,6 +16,6 @@ void DrawMyCircle (HDC hdc, int x, int y, int r, gal_pixel pixel)
|
||||
old_bursh = SetBrushColor (hdc, pixle);
|
||||
|
||||
CircleGenerator ((void*)hdc, x, y, r, draw_circle_pixel);
|
||||
|
||||
|
||||
SetBrushColor (hdc, old_brush);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* This program tries to create a new layer named "vcongui" if
|
||||
* there is no such layer. If there is already a layer named "vcongui",
|
||||
* this program brings the layer to be the topmost one.
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
static LOGFONT *logfont, *logfontgb12, *logfontbig24;
|
||||
|
||||
logfont = CreateLogFont (NULL, "SansSerif", "ISO8859-1",
|
||||
logfont = CreateLogFont (NULL, "SansSerif", "ISO8859-1",
|
||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_FLIP_NONE,
|
||||
FONT_OTHER_NIL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_LINE,
|
||||
FONT_OTHER_NIL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_LINE,
|
||||
16, 0);
|
||||
logfontgb12 = CreateLogFont (NULL, "song", "GB2312",
|
||||
logfontgb12 = CreateLogFont (NULL, "song", "GB2312",
|
||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
|
||||
FONT_OTHER_NIL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_LINE,
|
||||
FONT_OTHER_NIL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_LINE,
|
||||
12, 0);
|
||||
logfontbig24 = CreateLogFont (NULL, "ming", "BIG5",
|
||||
logfontbig24 = CreateLogFont (NULL, "ming", "BIG5",
|
||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_FLIP_NONE,
|
||||
FONT_OTHER_NIL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_NONE,
|
||||
FONT_OTHER_NIL, FONT_UNDERLINE_LINE, FONT_STRUCKOUT_NONE,
|
||||
24, 0);
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
static LOGFONT *logfont, *logfontgb12, *logfontttf;
|
||||
|
||||
logfont = CreateLogFontEx (NULL, "SansSerif", "ISO8859-1",
|
||||
logfont = CreateLogFontEx (NULL, "SansSerif", "ISO8859-1",
|
||||
FONT_WEIGHT_REGULAR, FONT_SLANT_ITALIC, FONT_FLIP_NONE,
|
||||
FONT_OTHER_NIL, FONT_DECORATE_NONE, FONT_RENDER_MONO,
|
||||
FONT_OTHER_NIL, FONT_DECORATE_NONE, FONT_RENDER_MONO,
|
||||
16, 0);
|
||||
logfontgb12 = CreateLogFontEx (NULL, "song", "GB2312",
|
||||
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",
|
||||
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);
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
/*
|
||||
* The following code creates a virtual window.
|
||||
*/
|
||||
static LRESULT
|
||||
my_virt_wnd_proc (HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
|
||||
{
|
||||
switch (message) {
|
||||
...
|
||||
}
|
||||
|
||||
return DefaultVirtualWinProc (hwnd, message, wparam, lparam);
|
||||
}
|
||||
|
||||
...
|
||||
|
||||
HWND new_wnd = CreateVirtualWindow (HWND_NULL, my_virt_wnd_proc,
|
||||
"A Virtual Window", 0, 0);
|
||||
|
||||
if (new_wnd != HWND_INVALID) {
|
||||
// failed to create the virtual window.
|
||||
}
|
||||
|
||||
// go on...
|
||||
...
|
||||
+18
-18
@@ -15,35 +15,35 @@ LRESULT ControlTestWinProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lPara
|
||||
switch (message) {
|
||||
case MSG_CREATE:
|
||||
{
|
||||
hStaticWnd1 = CreateWindow (CTRL_STATIC,
|
||||
"This is a static control",
|
||||
hStaticWnd1 = CreateWindow (CTRL_STATIC,
|
||||
"This is a static control",
|
||||
WS_CHILD | SS_NOTIFY | SS_SIMPLE | WS_VISIBLE | WS_BORDER,
|
||||
IDC_STATIC1,
|
||||
IDC_STATIC1,
|
||||
10, 10, 180, 300, hWnd, 0);
|
||||
hButton1 = CreateWindow (CTRL_BUTTON,
|
||||
"Button1",
|
||||
WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
|
||||
IDC_BUTTON1,
|
||||
"Button1",
|
||||
WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
|
||||
IDC_BUTTON1,
|
||||
20, 20, 80, 20, hStaticWnd1, 0);
|
||||
hButton2 = CreateWindow (CTRL_BUTTON,
|
||||
"Button2",
|
||||
WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
|
||||
IDC_BUTTON2,
|
||||
"Button2",
|
||||
WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
|
||||
IDC_BUTTON2,
|
||||
20, 50, 80, 20, hStaticWnd1, 0);
|
||||
hEdit1 = CreateWindow (CTRL_EDIT,
|
||||
"Edit Box 1",
|
||||
WS_CHILD | WS_VISIBLE | WS_BORDER,
|
||||
IDC_EDIT1,
|
||||
"Edit Box 1",
|
||||
WS_CHILD | WS_VISIBLE | WS_BORDER,
|
||||
IDC_EDIT1,
|
||||
20, 80, 100, 24, hStaticWnd1, 0);
|
||||
hStaticWnd2 = CreateWindow (CTRL_STATIC,
|
||||
"This is child static control",
|
||||
hStaticWnd2 = CreateWindow (CTRL_STATIC,
|
||||
"This is child static control",
|
||||
WS_CHILD | SS_NOTIFY | SS_SIMPLE | WS_VISIBLE | WS_BORDER,
|
||||
IDC_STATIC1,
|
||||
IDC_STATIC1,
|
||||
20, 110, 100, 50, hStaticWnd1, 0);
|
||||
hEdit2 = CreateWindow (CTRL_EDIT,
|
||||
"Edit Box 2",
|
||||
WS_CHILD | WS_VISIBLE | WS_BORDER,
|
||||
IDC_EDIT2,
|
||||
"Edit Box 2",
|
||||
WS_CHILD | WS_VISIBLE | WS_BORDER,
|
||||
IDC_EDIT2,
|
||||
0, 20, 100, 24, hStaticWnd2, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2,19 +2,19 @@
|
||||
* The following code destroies all resource used by the main window
|
||||
* and then destroies the main window itself.
|
||||
*/
|
||||
case MSG_CLOSE:
|
||||
/* Destroy the resource used by the main window. */
|
||||
DestroyLogFont (logfont1);
|
||||
DestroyLogFont (logfont2);
|
||||
DestroyLogFont (logfont3);
|
||||
case MSG_CLOSE:
|
||||
/* Destroy the resource used by the main window. */
|
||||
DestroyLogFont (logfont1);
|
||||
DestroyLogFont (logfont2);
|
||||
DestroyLogFont (logfont3);
|
||||
|
||||
/* Destroy the child windows. */
|
||||
DestroyWindow(hWndButton);
|
||||
DestroyWindow(hWndEdit);
|
||||
|
||||
/* Destroy the child windows. */
|
||||
DestroyWindow(hWndButton);
|
||||
DestroyWindow(hWndEdit);
|
||||
/* Destroy the main window. */
|
||||
DestroyMainWindow (hWnd);
|
||||
|
||||
/* Destroy the main window. */
|
||||
DestroyMainWindow (hWnd);
|
||||
|
||||
/* Send a MSG_QUIT message to quit the message loop. */
|
||||
PostQuitMessage(hWnd);
|
||||
return 0;
|
||||
/* Send a MSG_QUIT message to quit the message loop. */
|
||||
PostQuitMessage(hWnd);
|
||||
return 0;
|
||||
|
||||
@@ -7,7 +7,7 @@ static LRESULT InitDialogBoxProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM
|
||||
switch (message) {
|
||||
case MSG_INITDIALOG:
|
||||
return 1;
|
||||
|
||||
|
||||
case MSG_COMMAND:
|
||||
switch (wParam) {
|
||||
case IDOK:
|
||||
@@ -16,16 +16,16 @@ static LRESULT InitDialogBoxProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
return DefaultDialogProc (hDlg, message, wParam, lParam);
|
||||
}
|
||||
static void InitDialogBox (HWND hWnd)
|
||||
{
|
||||
/* Assoiciate the dialog with the controls */
|
||||
DlgInitProgress.controls = CtrlInitProgress;
|
||||
|
||||
|
||||
/* Display the dialog box and wait */
|
||||
DialogBoxIndirectParam (&DlgInitProgress, hWnd, InitDialogBoxProc, 0L);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
static DLGTEMPLATE DlgInitProgress =
|
||||
{
|
||||
WS_BORDER | WS_CAPTION,
|
||||
WS_BORDER | WS_CAPTION,
|
||||
WS_EX_NONE,
|
||||
120, 150, 400, 130,
|
||||
120, 150, 400, 130,
|
||||
"VAM-CNC is initializing",
|
||||
0, 0,
|
||||
3, NULL,
|
||||
@@ -10,12 +10,12 @@ static DLGTEMPLATE DlgInitProgress =
|
||||
};
|
||||
|
||||
static CTRLDATA CtrlInitProgress [] =
|
||||
{
|
||||
{
|
||||
{
|
||||
"static",
|
||||
WS_VISIBLE | SS_SIMPLE,
|
||||
10, 10, 380, 16,
|
||||
IDC_PROMPTINFO,
|
||||
10, 10, 380, 16,
|
||||
IDC_PROMPTINFO,
|
||||
"Initialize...",
|
||||
0
|
||||
},
|
||||
@@ -29,9 +29,9 @@ static CTRLDATA CtrlInitProgress [] =
|
||||
},
|
||||
{
|
||||
"button",
|
||||
WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,
|
||||
WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,
|
||||
170, 70, 60, 25,
|
||||
IDOK,
|
||||
IDOK,
|
||||
"OK",
|
||||
0
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
/**
|
||||
/**
|
||||
* Selecting a logical font to the DC and output text in GB2312 charset
|
||||
* by using DrawText.
|
||||
*/
|
||||
@@ -10,7 +10,7 @@ void OnModeDrawText (HDC hdc)
|
||||
const char* szBuff2 = "This is a good day. \n"
|
||||
"This text is drawn by calling DrawText.";
|
||||
const char* szBuff3 = "Single line text, center.";
|
||||
const char* szBuff4 =
|
||||
const char* szBuff4 =
|
||||
"This text is drawn by calling DrawText.";
|
||||
|
||||
rc1.left = 1; rc1.top = 1; rc1.right = 401; rc1.bottom = 101;
|
||||
@@ -18,7 +18,7 @@ void OnModeDrawText (HDC hdc)
|
||||
rc3.left = 0; rc3.top = 361; rc3.right = 401; rc3.bottom = 451;
|
||||
rc4.left = 0; rc4.top = 461; rc4.right = 401; rc4.bottom = 551;
|
||||
|
||||
SetBkColor (hdc, DWORD2Pixel (hdc, RGBA_lightwhite));
|
||||
SetBkColor (hdc, COLOR_lightwhite);
|
||||
|
||||
Rectangle (hdc, rc1.left, rc1.top, rc1.right, rc1.bottom);
|
||||
Rectangle (hdc, rc2.left, rc2.top, rc2.right, rc2.bottom);
|
||||
|
||||
@@ -40,11 +40,11 @@ static void InitCreateInfo (PMAINWINCREATE pCreateInfo)
|
||||
pCreateInfo->hCursor = GetSystemCursor (0);
|
||||
pCreateInfo->hIcon = 0;
|
||||
pCreateInfo->MainWindowProc = HelloWinProc;
|
||||
pCreateInfo->lx = 0;
|
||||
pCreateInfo->ty = 0;
|
||||
pCreateInfo->lx = 0;
|
||||
pCreateInfo->ty = 0;
|
||||
pCreateInfo->rx = 320;
|
||||
pCreateInfo->by = 240;
|
||||
pCreateInfo->iBkColor = PIXEL_lightwhite;
|
||||
pCreateInfo->iBkColor = PIXEL_lightwhite;
|
||||
pCreateInfo->dwAddData = 0;
|
||||
pCreateInfo->hHosting = HWND_DESKTOP;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This program parses the command line arguments.
|
||||
* If the user specified a layer name by using "-layer <layer_name",
|
||||
* If the user specified a layer name by using "-layer <layer_name",
|
||||
* the program will try to join the layer, otherwise create a new layer.
|
||||
*/
|
||||
int MiniGUIMain (int args, const char* arg[])
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
static LRESULT DepInfoBoxProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
struct _DepInfo *info;
|
||||
|
||||
|
||||
switch(message) {
|
||||
case MSG_INITDIALOG:
|
||||
{
|
||||
/*
|
||||
/*
|
||||
* Get the lParam passed to this dialog box, and assign it
|
||||
* to the second private additional data assoiciated
|
||||
* with the dialog box.
|
||||
@@ -17,7 +17,7 @@ static LRESULT DepInfoBoxProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lP
|
||||
|
||||
case MSG_COMMAND:
|
||||
{
|
||||
/*
|
||||
/*
|
||||
* Get the parameter from the second private data assoiciated
|
||||
* with the dialog box.
|
||||
*/
|
||||
@@ -34,6 +34,6 @@ static LRESULT DepInfoBoxProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lP
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return DefaultDialogProc (hDlg, message, wParam, lParam);
|
||||
}
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
* The handler makes sure that the client area always
|
||||
* is _WIDTH wide and _HEIGHT high.
|
||||
*/
|
||||
case MSG_SIZECHANGED:
|
||||
{
|
||||
RECT* rcClient = (RECT*)lParam;
|
||||
rcClient->right = rcClient->left + _WIDTH;
|
||||
rcClient->bottom = rcClient->top + _HEIGHT;
|
||||
return 1;
|
||||
}
|
||||
case MSG_SIZECHANGED:
|
||||
{
|
||||
RECT* rcClient = (RECT*)lParam;
|
||||
rcClient->right = rcClient->left + _WIDTH;
|
||||
rcClient->bottom = rcClient->top + _HEIGHT;
|
||||
return 1;
|
||||
}
|
||||
|
||||
+10
-10
@@ -2,14 +2,14 @@
|
||||
* The handler set the actual size of the window always
|
||||
* to be _WIDTH wide and _HEIGHT high.
|
||||
*/
|
||||
case MSG_SIZECHANGING:
|
||||
{
|
||||
const RECT* rcExpect = (const RECT*)wParam;
|
||||
RECT* rcResult = (RECT*)lParam;
|
||||
case MSG_SIZECHANGING:
|
||||
{
|
||||
const RECT* rcExpect = (const RECT*)wParam;
|
||||
RECT* rcResult = (RECT*)lParam;
|
||||
|
||||
rcResult->left = rcExpect->left;
|
||||
rcResult->top = rcExpect->top;
|
||||
rcResult->right = rcExpect->left + _WIDTH;
|
||||
rcResult->bottom = rcExpect->top + _HEIGHT;
|
||||
return 0;
|
||||
}
|
||||
rcResult->left = rcExpect->left;
|
||||
rcResult->top = rcExpect->top;
|
||||
rcResult->right = rcExpect->left + _WIDTH;
|
||||
rcResult->bottom = rcExpect->top + _HEIGHT;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
*/
|
||||
case MSG_PAINT:
|
||||
{
|
||||
HDC hdc = BeginPaint (hWnd);
|
||||
HDC hdc = BeginPaint (hWnd);
|
||||
|
||||
for (j = 0; j < 10; j ++) {
|
||||
if (RectVisible (hdc, rcs + j)) {
|
||||
FillBox (hdc, rcs[j].left, rcs[j].top, rcs [j].right, rcs [j].bottom);
|
||||
}
|
||||
}
|
||||
for (j = 0; j < 10; j ++) {
|
||||
if (RectVisible (hdc, rcs + j)) {
|
||||
FillBox (hdc, rcs[j].left, rcs[j].top, rcs [j].right, rcs [j].bottom);
|
||||
}
|
||||
}
|
||||
|
||||
EndPaint (hWnd, hdc);
|
||||
return 0;
|
||||
EndPaint (hWnd, hdc);
|
||||
return 0;
|
||||
}
|
||||
|
||||
+4
-4
@@ -53,15 +53,15 @@ static void GDIDemo_Region (HWND hWnd, HDC hdc)
|
||||
|
||||
FillBox (hdc, 400, 0, 180, 200);
|
||||
|
||||
/*
|
||||
* Empty two clipping region to free the clipping rectangles used
|
||||
/*
|
||||
* Empty two clipping region to free the clipping rectangles used
|
||||
* by them.
|
||||
*/
|
||||
EmptyClipRgn (&my_cliprgn1);
|
||||
EmptyClipRgn (&my_cliprgn2);
|
||||
|
||||
/*
|
||||
* You should not forget to destroy the FreeClipRectList in your
|
||||
/*
|
||||
* You should not forget to destroy the FreeClipRectList in your
|
||||
* applications.
|
||||
* Here we do not destroy the heap because we will use it in next call.
|
||||
*
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user