|
|
| version 1.17, 2005/02/09 20:11:35 | version 1.20, 2005/03/22 04:03:16 |
|---|---|
| Line 3 | Line 3 |
| #include "resource.h" | #include "resource.h" |
| #include "np2.h" | #include "np2.h" |
| #include "winloc.h" | #include "winloc.h" |
| #include "oemtext.h" | |
| #include "dosio.h" | #include "dosio.h" |
| #include "soundmng.h" | #include "soundmng.h" |
| #include "sysmng.h" | #include "sysmng.h" |
| Line 148 static HBITMAP skinload(const OEMCHAR *p | Line 149 static HBITMAP skinload(const OEMCHAR *p |
| milstr_ncpy(fname, path, NELEMENTS(fname)); | milstr_ncpy(fname, path, NELEMENTS(fname)); |
| file_cutname(fname); | file_cutname(fname); |
| file_catname(fname, toolskin.main, NELEMENTS(fname)); | file_catname(fname, toolskin.main, NELEMENTS(fname)); |
| ret = (HBITMAP)LoadImage(hInst, fname, IMAGE_BITMAP, | #if defined(OSLANG_UTF8) |
| TCHAR tchr[MAX_PATH]; | |
| oemtotchar(tchr, NELEMENTS(tchr), fname, -1); | |
| #else | |
| const TCHAR *tchr = fname; | |
| #endif | |
| ret = (HBITMAP)LoadImage(hInst, tchr, IMAGE_BITMAP, | |
| 0, 0, LR_LOADFROMFILE); | 0, 0, LR_LOADFROMFILE); |
| if (ret != NULL) { | if (ret != NULL) { |
| return(ret); | return(ret); |
| } | } |
| } | } |
| return(LoadBitmap(hInst, OEMTEXT("NP2TOOL"))); | return(LoadBitmap(hInst, _T("NP2TOOL"))); |
| } | } |
| Line 190 static void calctextsize(OEMCHAR *path, | Line 197 static void calctextsize(OEMCHAR *path, |
| GetTextExtentPoint32(hdc, work, OEMSTRLEN(work), &tail); | GetTextExtentPoint32(hdc, work, OEMSTRLEN(work), &tail); |
| pos = 0; | pos = 0; |
| while(pos < l) { | while(pos < l) { |
| step = ((((p[pos] ^ 0x20) - 0xa1) & 0xff) < 0x3c)?2:1; | #if defined(_UNICODE) |
| step = 1; | |
| #else | |
| step = (IsDBCSLeadByte((BYTE)p[pos]))?2:1; | |
| #endif | |
| GetTextExtentPoint32(hdc, p, pos + step, &cur); | GetTextExtentPoint32(hdc, p, pos + step, &cur); |
| if (cur.cx + tail.cx >= width) { | if (cur.cx + tail.cx >= width) { |
| break; | break; |
| Line 353 static LRESULT CALLBACK twsub(HWND hWnd, | Line 364 static LRESULT CALLBACK twsub(HWND hWnd, |
| else if (msg == WM_DROPFILES) { | else if (msg == WM_DROPFILES) { |
| files = DragQueryFile((HDROP)wp, (UINT)-1, NULL, 0); | files = DragQueryFile((HDROP)wp, (UINT)-1, NULL, 0); |
| if (files == 1) { | if (files == 1) { |
| #if defined(OSLANG_UTF8) | |
| TCHAR tchr[MAX_PATH]; | |
| DragQueryFile((HDROP)wp, 0, tchr, NELEMENTS(tchr)); | |
| tchartooem(fname, NELEMENTS(fname), tchr, -1); | |
| #else | |
| DragQueryFile((HDROP)wp, 0, fname, NELEMENTS(fname)); | DragQueryFile((HDROP)wp, 0, fname, NELEMENTS(fname)); |
| #endif | |
| if (idc == IDC_TOOLFDD1LIST) { | if (idc == IDC_TOOLFDD1LIST) { |
| diskdrv_setfdd(0, fname, 0); | diskdrv_setfdd(0, fname, 0); |
| toolwin_setfdd(0, fname); | toolwin_setfdd(0, fname); |
| Line 388 static LRESULT CALLBACK twsub(HWND hWnd, | Line 405 static LRESULT CALLBACK twsub(HWND hWnd, |
| static void toolwincreate(HWND hWnd) { | static void toolwincreate(HWND hWnd) { |
| HDC hdc; | #if defined(OSLANG_UTF8) |
| const SUBITEM *p; | TCHAR fontface[64]; |
| UINT i; | oemtotchar(fontface, NELEMENTS(fontface), toolskin.font, -1); |
| HWND sub; | #else |
| const OEMCHAR *cls; | const TCHAR *fontface = toolskin.font; |
| DWORD style; | #endif |
| toolwin.hfont = CreateFont(toolskin.fontsize, 0, 0, 0, 0, 0, 0, 0, | toolwin.hfont = CreateFont(toolskin.fontsize, 0, 0, 0, 0, 0, 0, 0, |
| SHIFTJIS_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, | SHIFTJIS_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, |
| DEFAULT_QUALITY, FIXED_PITCH, toolskin.font); | DEFAULT_QUALITY, FIXED_PITCH, fontface); |
| hdc = GetDC(NULL); | HDC hdc = GetDC(NULL); |
| toolwin.hdcfont = CreateCompatibleDC(hdc); | toolwin.hdcfont = CreateCompatibleDC(hdc); |
| ReleaseDC(NULL, hdc); | ReleaseDC(NULL, hdc); |
| SelectObject(toolwin.hdcfont, toolwin.hfont); | SelectObject(toolwin.hdcfont, toolwin.hfont); |
| Line 406 const OEMCHAR *cls; | Line 422 const OEMCHAR *cls; |
| toolwin.access[0] = CreateSolidBrush(0x000060); | toolwin.access[0] = CreateSolidBrush(0x000060); |
| toolwin.access[1] = CreateSolidBrush(0x0000ff); | toolwin.access[1] = CreateSolidBrush(0x0000ff); |
| p = subitem; | const SUBITEM *p = subitem; |
| UINT i; | |
| for (i=0; i<IDC_MAXITEMS; i++) { | for (i=0; i<IDC_MAXITEMS; i++) { |
| sub = NULL; | HWND sub = NULL; |
| cls = NULL; | const TCHAR *cls = NULL; |
| DWORD style; | |
| switch(p->tctl) { | switch(p->tctl) { |
| case TCTL_STATIC: | case TCTL_STATIC: |
| cls = str_static; | cls = str_static; |
| Line 433 const OEMCHAR *cls; | Line 451 const OEMCHAR *cls; |
| break; | break; |
| } | } |
| if ((cls) && (p->width > 0) && (p->height > 0)) { | if ((cls) && (p->width > 0) && (p->height > 0)) { |
| sub = CreateWindow(cls, p->text, WS_CHILD | WS_VISIBLE | style, | #if defined(OSLANG_UTF8) |
| TCHAR ptext[64]; | |
| oemtotchar(ptext, NELEMENTS(ptext), p->text, -1); | |
| #else | |
| const TCHAR *ptext = p->text; | |
| #endif | |
| sub = CreateWindow(cls, ptext, WS_CHILD | WS_VISIBLE | style, | |
| p->posx, p->posy, p->width, p->height, | p->posx, p->posy, p->width, p->height, |
| hWnd, (HMENU)(i + IDC_BASE), hInst, NULL); | hWnd, (HMENU)(i + IDC_BASE), hInst, NULL); |
| } | } |
| Line 448 const OEMCHAR *cls; | Line 472 const OEMCHAR *cls; |
| p++; | p++; |
| } | } |
| for (i=0; i<FDDLIST_DRV; i++) { | for (i=0; i<FDDLIST_DRV; i++) { |
| sub = toolwin.sub[fddlist[i]]; | HWND sub = toolwin.sub[fddlist[i]]; |
| if (sub) { | if (sub) { |
| DragAcceptFiles(sub, TRUE); | DragAcceptFiles(sub, TRUE); |
| remakefddlist(sub, np2tool.fdd + i); | remakefddlist(sub, np2tool.fdd + i); |
| Line 578 const OEMCHAR *file[SKINMRU_MAX]; | Line 602 const OEMCHAR *file[SKINMRU_MAX]; |
| for (i=0; i<cnt; i++) { | for (i=0; i<cnt; i++) { |
| j = id[i]; | j = id[i]; |
| flag = (!file_cmpname(base, np2tool.skinmru[j]))?MF_CHECKED:0; | flag = (!file_cmpname(base, np2tool.skinmru[j]))?MF_CHECKED:0; |
| AppendMenu(ret, MF_STRING + flag, IDM_SKINMRU + j, file[j]); | #if defined(OSLANG_UTF8) |
| TCHAR path[MAX_PATH]; | |
| oemtotchar(path, NELEMENTS(path), file[j], -1); | |
| #else | |
| const TCHAR *path = file[j]; | |
| #endif | |
| AppendMenu(ret, MF_STRING + flag, IDM_SKINMRU + j, path); | |
| } | } |
| return(ret); | return(ret); |
| } | } |
| Line 1054 const DISKACC *accterm; | Line 1084 const DISKACC *accterm; |
| static const OEMCHAR ini_title[] = OEMTEXT("NP2 tool"); | static const OEMCHAR ini_title[] = OEMTEXT("NP2 tool"); |
| static const INITBL iniitem[] = { | static const PFTBL iniitem[] = { |
| {"WindposX", INITYPE_SINT32, &np2tool.posx, 0}, | PFVAL("WindposX", PFTYPE_SINT32, &np2tool.posx), |
| {"WindposY", INITYPE_SINT32, &np2tool.posy, 0}, | PFVAL("WindposY", PFTYPE_SINT32, &np2tool.posy), |
| {"WindType", INITYPE_BOOL, &np2tool.type, 0}, | PFVAL("WindType", PFTYPE_BOOL, &np2tool.type), |
| {"SkinFile", INITYPE_STR, np2tool.skin, MAX_PATH}, | PFSTR("SkinFile", PFTYPE_STR, np2tool.skin), |
| {"SkinMRU0", INITYPE_STR, np2tool.skinmru[0], MAX_PATH}, | PFSTR("SkinMRU0", PFTYPE_STR, np2tool.skinmru[0]), |
| {"SkinMRU1", INITYPE_STR, np2tool.skinmru[1], MAX_PATH}, | PFSTR("SkinMRU1", PFTYPE_STR, np2tool.skinmru[1]), |
| {"SkinMRU2", INITYPE_STR, np2tool.skinmru[2], MAX_PATH}, | PFSTR("SkinMRU2", PFTYPE_STR, np2tool.skinmru[2]), |
| {"SkinMRU3", INITYPE_STR, np2tool.skinmru[3], MAX_PATH}, | PFSTR("SkinMRU3", PFTYPE_STR, np2tool.skinmru[3]), |
| {"FD1NAME0", INITYPE_STR, np2tool.fdd[0].name[0], MAX_PATH}, | PFSTR("FD1NAME0", PFTYPE_STR, np2tool.fdd[0].name[0]), |
| {"FD1NAME1", INITYPE_STR, np2tool.fdd[0].name[1], MAX_PATH}, | PFSTR("FD1NAME1", PFTYPE_STR, np2tool.fdd[0].name[1]), |
| {"FD1NAME2", INITYPE_STR, np2tool.fdd[0].name[2], MAX_PATH}, | PFSTR("FD1NAME2", PFTYPE_STR, np2tool.fdd[0].name[2]), |
| {"FD1NAME3", INITYPE_STR, np2tool.fdd[0].name[3], MAX_PATH}, | PFSTR("FD1NAME3", PFTYPE_STR, np2tool.fdd[0].name[3]), |
| {"FD1NAME4", INITYPE_STR, np2tool.fdd[0].name[4], MAX_PATH}, | PFSTR("FD1NAME4", PFTYPE_STR, np2tool.fdd[0].name[4]), |
| {"FD1NAME5", INITYPE_STR, np2tool.fdd[0].name[5], MAX_PATH}, | PFSTR("FD1NAME5", PFTYPE_STR, np2tool.fdd[0].name[5]), |
| {"FD1NAME6", INITYPE_STR, np2tool.fdd[0].name[6], MAX_PATH}, | PFSTR("FD1NAME6", PFTYPE_STR, np2tool.fdd[0].name[6]), |
| {"FD1NAME7", INITYPE_STR, np2tool.fdd[0].name[7], MAX_PATH}, | PFSTR("FD1NAME7", PFTYPE_STR, np2tool.fdd[0].name[7]), |
| {"FD2NAME0", INITYPE_STR, np2tool.fdd[1].name[0], MAX_PATH}, | PFSTR("FD2NAME0", PFTYPE_STR, np2tool.fdd[1].name[0]), |
| {"FD2NAME1", INITYPE_STR, np2tool.fdd[1].name[1], MAX_PATH}, | PFSTR("FD2NAME1", PFTYPE_STR, np2tool.fdd[1].name[1]), |
| {"FD2NAME2", INITYPE_STR, np2tool.fdd[1].name[2], MAX_PATH}, | PFSTR("FD2NAME2", PFTYPE_STR, np2tool.fdd[1].name[2]), |
| {"FD2NAME3", INITYPE_STR, np2tool.fdd[1].name[3], MAX_PATH}, | PFSTR("FD2NAME3", PFTYPE_STR, np2tool.fdd[1].name[3]), |
| {"FD2NAME4", INITYPE_STR, np2tool.fdd[1].name[4], MAX_PATH}, | PFSTR("FD2NAME4", PFTYPE_STR, np2tool.fdd[1].name[4]), |
| {"FD2NAME5", INITYPE_STR, np2tool.fdd[1].name[5], MAX_PATH}, | PFSTR("FD2NAME5", PFTYPE_STR, np2tool.fdd[1].name[5]), |
| {"FD2NAME6", INITYPE_STR, np2tool.fdd[1].name[6], MAX_PATH}, | PFSTR("FD2NAME6", PFTYPE_STR, np2tool.fdd[1].name[6]), |
| {"FD2NAME7", INITYPE_STR, np2tool.fdd[1].name[7], MAX_PATH}}; | PFSTR("FD2NAME7", PFTYPE_STR, np2tool.fdd[1].name[7])}; |
| void toolwin_readini(void) { | void toolwin_readini(void) { |