| version 1.10, 2005/02/07 14:46:14 | version 1.14, 2007/01/08 07:52:01 | 
| Line 56  typedef struct { | Line 56  typedef struct { | 
 | static  KDISPWIN        kdispwin; | static  KDISPWIN        kdispwin; | 
 | static  KDISPCFG        kdispcfg; | static  KDISPCFG        kdispcfg; | 
 |  |  | 
| static const char kdispapp[] = "Key Display"; | static const TCHAR kdisptitle[] = _T("Key Display"); | 
| static const char kdispclass[] = "NP2-KeyDispWin"; | static const TCHAR kdispclass[] = _T("NP2-KeyDispWin"); | 
| static const char str_kdclose[] = "&Close"; | static const TCHAR str_kdclose[] = _T("&Close"); | 
 |  |  | 
 | static const UINT32 kdisppal[KEYDISP_PALS] = | static const UINT32 kdisppal[KEYDISP_PALS] = | 
 | {0x00000000, 0xffffffff, 0xf9ff0000}; | {0x00000000, 0xffffffff, 0xf9ff0000}; | 
 |  |  | 
| static const INITBL kdispini[] = { | #if defined(OSLANG_UTF8) | 
| {"WindposX", INITYPE_SINT32,    &kdispcfg.posx,                 0}, | static const OEMCHAR kdispapp[] = OEMTEXT("Key Display"); | 
| {"WindposY", INITYPE_SINT32,    &kdispcfg.posy,                 0}, | #else | 
| {"keydmode", INITYPE_UINT8,             &kdispcfg.mode,                 0}, | #define kdispapp        kdisptitle | 
| {"windtype", INITYPE_BOOL,              &kdispcfg.type,                 0}}; | #endif | 
|  | static const PFTBL kdispini[] = { | 
|  | PFVAL("WindposX", PFTYPE_SINT32,        &kdispcfg.posx), | 
|  | PFVAL("WindposY", PFTYPE_SINT32,        &kdispcfg.posy), | 
|  | PFVAL("keydmode", PFTYPE_UINT8,         &kdispcfg.mode), | 
|  | PFVAL("windtype", PFTYPE_BOOL,          &kdispcfg.type)}; | 
 |  |  | 
 |  |  | 
 | static UINT8 kdgetpal8(CMNPALFN *self, UINT num) { | static UINT8 kdgetpal8(CMNPALFN *self, UINT num) { | 
| Line 287  BOOL kdispwin_initialize(HINSTANCE hPreI | Line 292  BOOL kdispwin_initialize(HINSTANCE hPreI | 
 | wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; | wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; | 
 | wc.lpfnWndProc = kdproc; | wc.lpfnWndProc = kdproc; | 
 | wc.cbClsExtra = 0; | wc.cbClsExtra = 0; | 
| wc.cbWndExtra = NP2GWL_SIZE; | wc.cbWndExtra = NP2GWLP_SIZE; | 
 | wc.hInstance = hInst; | wc.hInstance = hInst; | 
 | wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2)); | wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2)); | 
 | wc.hCursor = LoadCursor(NULL, IDC_ARROW); | wc.hCursor = LoadCursor(NULL, IDC_ARROW); | 
| Line 312  void kdispwin_create(void) { | Line 317  void kdispwin_create(void) { | 
 | return; | return; | 
 | } | } | 
 | ZeroMemory(&kdispwin, sizeof(kdispwin)); | ZeroMemory(&kdispwin, sizeof(kdispwin)); | 
| hwnd = CreateWindow(kdispclass, kdispapp, | hwnd = CreateWindow(kdispclass, kdisptitle, | 
 | WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | | WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | | 
 | WS_MINIMIZEBOX, | WS_MINIMIZEBOX, | 
 | kdispcfg.posx, kdispcfg.posy, | kdispcfg.posx, kdispcfg.posy, | 
| Line 386  void kdispwin_draw(UINT8 cnt) { | Line 391  void kdispwin_draw(UINT8 cnt) { | 
 |  |  | 
 | void kdispwin_readini(void) { | void kdispwin_readini(void) { | 
 |  |  | 
| char    path[MAX_PATH]; | OEMCHAR path[MAX_PATH]; | 
 |  |  | 
 | ZeroMemory(&kdispcfg, sizeof(kdispcfg)); | ZeroMemory(&kdispcfg, sizeof(kdispcfg)); | 
 | kdispcfg.posx = CW_USEDEFAULT; | kdispcfg.posx = CW_USEDEFAULT; | 
 | kdispcfg.posy = CW_USEDEFAULT; | kdispcfg.posy = CW_USEDEFAULT; | 
| initgetfile(path, sizeof(path)); | initgetfile(path, NELEMENTS(path)); | 
 | ini_read(path, kdispapp, kdispini, NELEMENTS(kdispini)); | ini_read(path, kdispapp, kdispini, NELEMENTS(kdispini)); | 
 | } | } | 
 |  |  | 
 | void kdispwin_writeini(void) { | void kdispwin_writeini(void) { | 
 |  |  | 
| char    path[MAX_PATH]; | OEMCHAR path[MAX_PATH]; | 
 |  |  | 
| initgetfile(path, sizeof(path)); | initgetfile(path, NELEMENTS(path)); | 
 | ini_write(path, kdispapp, kdispini, NELEMENTS(kdispini)); | ini_write(path, kdispapp, kdispini, NELEMENTS(kdispini)); | 
 | } | } | 
 | #endif | #endif | 
| Line 426  typedef struct { | Line 431  typedef struct { | 
 | static  MDBGWIN         mdbgwin; | static  MDBGWIN         mdbgwin; | 
 | static  MDBGCFG         mdbgcfg; | static  MDBGCFG         mdbgcfg; | 
 |  |  | 
| static const char mdbgapp[] = "Memory Map"; | static const TCHAR mdbgtitle[] = _T("Memory Map"); | 
| static const char mdbgclass[] = "NP2-MemDbgWin"; | static const TCHAR mdbgclass[] = _T("NP2-MemDbgWin"); | 
| static const INITBL mdbgini[] = { |  | 
| {"WindposX", INITYPE_SINT32,    &mdbgcfg.posx,                  0}, | #if defined(OSLANG_UTF8) | 
| {"WindposY", INITYPE_SINT32,    &mdbgcfg.posy,                  0}, | static const OEMCHAR mdbgapp[] = OEMTEXT("Memory Map"); | 
| {"windtype", INITYPE_BOOL,              &mdbgcfg.type,                  0}}; | #else | 
|  | #define mdbgapp         mdbgtitle | 
|  | #endif | 
|  | static const PFTBL mdbgini[] = { | 
|  | PFVAL("WindposX", PFTYPE_SINT32,        &mdbgcfg.posx), | 
|  | PFVAL("WindposY", PFTYPE_SINT32,        &mdbgcfg.posy), | 
|  | PFVAL("windtype", PFTYPE_BOOL,          &mdbgcfg.type)}; | 
 |  |  | 
 |  |  | 
 | static void mdpalcnv(CMNPAL *dst, const RGB32 *src, UINT pals, UINT bpp) { | static void mdpalcnv(CMNPAL *dst, const RGB32 *src, UINT pals, UINT bpp) { | 
| Line 511  static LRESULT CALLBACK mdproc(HWND hWnd | Line 522  static LRESULT CALLBACK mdproc(HWND hWnd | 
 | mdpaintmsg(hWnd); | mdpaintmsg(hWnd); | 
 | break; | break; | 
 |  |  | 
 |  | case WM_LBUTTONDOWN: | 
 |  | if (mdbgcfg.type & 1) { | 
 |  | return(SendMessage(hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0L)); | 
 |  | } | 
 |  | break; | 
 |  |  | 
 |  | case WM_LBUTTONDBLCLK: | 
 |  | mdbgcfg.type ^= 1; | 
 |  | wintypechange(hWnd, (mdbgcfg.type & 1) + 1); | 
 |  | sysmng_update(SYS_UPDATEOSCFG); | 
 |  | break; | 
 |  |  | 
 | case WM_KEYDOWN: | case WM_KEYDOWN: | 
 | case WM_KEYUP: | case WM_KEYUP: | 
 | SendMessage(hWndMain, msg, wp, lp); | SendMessage(hWndMain, msg, wp, lp); | 
| Line 567  static LRESULT CALLBACK mdproc(HWND hWnd | Line 590  static LRESULT CALLBACK mdproc(HWND hWnd | 
 | return(0); | return(0); | 
 | } | } | 
 |  |  | 
| BOOL mdbgwin_initialize(HINSTANCE hInstance) { | BOOL mdbgwin_initialize(HINSTANCE hPreInst) { | 
 |  |  | 
 | WNDCLASS        wc; | WNDCLASS        wc; | 
 |  |  | 
| wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW; | if (!hPreInst) { | 
| wc.lpfnWndProc = mdproc; | wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; | 
| wc.cbClsExtra = 0; | wc.lpfnWndProc = mdproc; | 
| wc.cbWndExtra = 0; | wc.cbClsExtra = 0; | 
| wc.hInstance = hInstance; | wc.cbWndExtra = 0; | 
| wc.hIcon = NULL; | wc.hInstance = hInst; | 
| wc.hCursor = LoadCursor(NULL, IDC_ARROW); | wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2)); | 
| wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH); | wc.hCursor = LoadCursor(NULL, IDC_ARROW); | 
| wc.lpszMenuName = NULL; | wc.hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH); | 
| wc.lpszClassName = mdbgclass; | wc.lpszMenuName = NULL; | 
| if (!RegisterClass(&wc)) { | wc.lpszClassName = mdbgclass; | 
| return(FAILURE); | if (!RegisterClass(&wc)) { | 
|  | return(FAILURE); | 
|  | } | 
 | } | } | 
 | memdbg32_initialize(); | memdbg32_initialize(); | 
 | return(SUCCESS); | return(SUCCESS); | 
| Line 597  void mdbgwin_create(void) { | Line 622  void mdbgwin_create(void) { | 
 | } | } | 
 | ZeroMemory(&mdbgwin, sizeof(mdbgwin)); | ZeroMemory(&mdbgwin, sizeof(mdbgwin)); | 
 | memdbg32_getsize(&mdbgwin.width, &mdbgwin.height); | memdbg32_getsize(&mdbgwin.width, &mdbgwin.height); | 
| hwnd = CreateWindow(mdbgclass, mdbgapp, | hwnd = CreateWindow(mdbgclass, mdbgtitle, | 
 | WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | | WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | | 
 | WS_MINIMIZEBOX, | WS_MINIMIZEBOX, | 
 | mdbgcfg.posx, mdbgcfg.posy, | mdbgcfg.posx, mdbgcfg.posy, | 
| Line 645  HWND mdbgwin_gethwnd(void) { | Line 670  HWND mdbgwin_gethwnd(void) { | 
 |  |  | 
 | void mdbgwin_readini(void) { | void mdbgwin_readini(void) { | 
 |  |  | 
| char    path[MAX_PATH]; | OEMCHAR path[MAX_PATH]; | 
 |  |  | 
 | mdbgcfg.posx = CW_USEDEFAULT; | mdbgcfg.posx = CW_USEDEFAULT; | 
 | mdbgcfg.posy = CW_USEDEFAULT; | mdbgcfg.posy = CW_USEDEFAULT; | 
| initgetfile(path, sizeof(path)); | initgetfile(path, NELEMENTS(path)); | 
 | ini_read(path, mdbgapp, mdbgini, NELEMENTS(mdbgini)); | ini_read(path, mdbgapp, mdbgini, NELEMENTS(mdbgini)); | 
 | } | } | 
 |  |  | 
 | void mdbgwin_writeini(void) { | void mdbgwin_writeini(void) { | 
 |  |  | 
| char    path[MAX_PATH]; | OEMCHAR path[MAX_PATH]; | 
 |  |  | 
| initgetfile(path, sizeof(path)); | initgetfile(path, NELEMENTS(path)); | 
 | ini_write(path, mdbgapp, mdbgini, NELEMENTS(mdbgini)); | ini_write(path, mdbgapp, mdbgini, NELEMENTS(mdbgini)); | 
 | } | } | 
 | #endif | #endif | 
| Line 683  typedef struct { | Line 708  typedef struct { | 
 | static  SKBDWIN         skbdwin; | static  SKBDWIN         skbdwin; | 
 | static  SKBDCFG         skbdcfg; | static  SKBDCFG         skbdcfg; | 
 |  |  | 
| static const char skbdapp[] = "Soft Keyboard"; | static const TCHAR skbdtitle[] = _T("Soft Keyboard"); | 
| static const char skbdclass[] = "NP2-SoftKBDWin"; | static const TCHAR skbdclass[] = _T("NP2-SoftKBDWin"); | 
| static const INITBL skbdini[] = { |  | 
| {"WindposX", INITYPE_SINT32,    &skbdcfg.posx,                  0}, | #if defined(OSLANG_UTF8) | 
| {"WindposY", INITYPE_SINT32,    &skbdcfg.posy,                  0}, | static const OEMCHAR skbdapp[] = OEMTEXT("Soft Keyboard"); | 
| {"windtype", INITYPE_BOOL,              &skbdcfg.type,                  0}}; | #else | 
|  | #define skbdapp         skbdtitle | 
|  | #endif | 
|  | static const PFTBL skbdini[] = { | 
|  | PFVAL("WindposX", PFTYPE_SINT32,        &skbdcfg.posx), | 
|  | PFVAL("WindposY", PFTYPE_SINT32,        &skbdcfg.posy), | 
|  | PFVAL("windtype", PFTYPE_BOOL,          &skbdcfg.type)}; | 
 |  |  | 
 | static void skpalcnv(CMNPAL *dst, const RGB32 *src, UINT pals, UINT bpp) { | static void skpalcnv(CMNPAL *dst, const RGB32 *src, UINT pals, UINT bpp) { | 
 |  |  | 
| Line 843  BOOL skbdwin_initialize(HINSTANCE hPreIn | Line 874  BOOL skbdwin_initialize(HINSTANCE hPreIn | 
 | wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; | wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; | 
 | wc.lpfnWndProc = skproc; | wc.lpfnWndProc = skproc; | 
 | wc.cbClsExtra = 0; | wc.cbClsExtra = 0; | 
| wc.cbWndExtra = NP2GWL_SIZE; | wc.cbWndExtra = NP2GWLP_SIZE; | 
 | wc.hInstance = hInst; | wc.hInstance = hInst; | 
 | wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2)); | wc.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON2)); | 
 | wc.hCursor = LoadCursor(NULL, IDC_ARROW); | wc.hCursor = LoadCursor(NULL, IDC_ARROW); | 
| Line 874  void skbdwin_create(void) { | Line 905  void skbdwin_create(void) { | 
 | if (softkbd_getsize(&skbdwin.width, &skbdwin.height) != SUCCESS) { | if (softkbd_getsize(&skbdwin.width, &skbdwin.height) != SUCCESS) { | 
 | return; | return; | 
 | } | } | 
| hwnd = CreateWindow(skbdclass, skbdapp, | hwnd = CreateWindow(skbdclass, skbdtitle, | 
 | WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | | WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION | | 
 | WS_MINIMIZEBOX, | WS_MINIMIZEBOX, | 
 | skbdcfg.posx, skbdcfg.posy, | skbdcfg.posx, skbdcfg.posy, | 
| Line 922  void skbdwin_process(void) { | Line 953  void skbdwin_process(void) { | 
 |  |  | 
 | void skbdwin_readini(void) { | void skbdwin_readini(void) { | 
 |  |  | 
| char    path[MAX_PATH]; | OEMCHAR path[MAX_PATH]; | 
 |  |  | 
 | skbdcfg.posx = CW_USEDEFAULT; | skbdcfg.posx = CW_USEDEFAULT; | 
 | skbdcfg.posy = CW_USEDEFAULT; | skbdcfg.posy = CW_USEDEFAULT; | 
| initgetfile(path, sizeof(path)); | initgetfile(path, NELEMENTS(path)); | 
 | ini_read(path, skbdapp, skbdini, NELEMENTS(skbdini)); | ini_read(path, skbdapp, skbdini, NELEMENTS(skbdini)); | 
 | } | } | 
 |  |  | 
 | void skbdwin_writeini(void) { | void skbdwin_writeini(void) { | 
 |  |  | 
| char    path[MAX_PATH]; | OEMCHAR path[MAX_PATH]; | 
 |  |  | 
| initgetfile(path, sizeof(path)); | initgetfile(path, NELEMENTS(path)); | 
 | ini_write(path, skbdapp, skbdini, NELEMENTS(skbdini)); | ini_write(path, skbdapp, skbdini, NELEMENTS(skbdini)); | 
 | } | } | 
 | #endif | #endif |