--- np2/embed/menubase/menusys.c 2004/06/21 03:18:04 1.5 +++ np2/embed/menubase/menusys.c 2005/02/13 05:31:26 1.9 @@ -11,10 +11,10 @@ typedef struct _mhdl { struct _mhdl *chain; struct _mhdl *next; struct _mhdl *child; - MENUID id; - MENUFLG flag; - RECT_T rct; - char string[32]; + MENUID id; + MENUFLG flag; + RECT_T rct; + OEMCHAR string[32]; } _MENUHDL, *MENUHDL; typedef struct { @@ -38,61 +38,61 @@ typedef struct { int lastpos; int popupx; int popupy; - char title[128]; + OEMCHAR title[128]; } MENUSYS; static MENUSYS menusys; -#if !defined(RESOURCE_US) && (!defined(CHARSET_OEM) || defined(OSLANG_SJIS)) -static const char str_sysr[] = // 元のサイズに戻す +#if defined(OSLANG_SJIS) && !defined(RESOURCE_US) +static const OEMCHAR str_sysr[] = // 元のサイズに戻す "\214\263\202\314\203\124\203\103\203\131\202\311" \ "\226\337\202\267"; -static const char str_sysm[] = // 移動 +static const OEMCHAR str_sysm[] = // 移動 "\210\332\223\256"; -static const char str_syss[] = // サイズ変更 +static const OEMCHAR str_syss[] = // サイズ変更 "\203\124\203\103\203\131\225\317\215\130"; -static const char str_sysn[] = // 最小化 +static const OEMCHAR str_sysn[] = // 最小化 "\215\305\217\254\211\273"; -static const char str_sysx[] = // 最大化 +static const OEMCHAR str_sysx[] = // 最大化 "\215\305\221\345\211\273"; -static const char str_sysc[] = // 閉じる +static const OEMCHAR str_sysc[] = // 閉じる "\225\302\202\266\202\351"; -#elif defined(OSLANG_EUC) -static const char str_sysr[] = // 元のサイズに戻す +#elif defined(OSLANG_EUC) && !defined(RESOURCE_US) +static const OEMCHAR str_sysr[] = // 元のサイズに戻す "\270\265\244\316\245\265\245\244\245\272\244\313" \ "\314\341\244\271"; -static const char str_sysm[] = // 移動 +static const OEMCHAR str_sysm[] = // 移動 "\260\334\306\260"; -static const char str_syss[] = // サイズ変更 +static const OEMCHAR str_syss[] = // サイズ変更 "\245\265\245\244\245\272\312\321\271\271"; -static const char str_sysn[] = // 最小化 +static const OEMCHAR str_sysn[] = // 最小化 "\272\307\276\256\262\275"; -static const char str_sysx[] = // 最大化 +static const OEMCHAR str_sysx[] = // 最大化 "\272\307\302\347\262\275"; -static const char str_sysc[] = // 閉じる +static const OEMCHAR str_sysc[] = // 閉じる "\312\304\244\270\244\353"; #elif defined(OSLANG_UTF8) && !defined(RESOURCE_US) -static const char str_sysr[] = // 元のサイズに戻す +static const OEMCHAR str_sysr[] = // 元のサイズに戻す "\345\205\203\343\201\256\343\202\265\343\202\244\343\202\272" \ "\343\201\253\346\210\273\343\201\231"; -static const char str_sysm[] = // 移動 +static const OEMCHAR str_sysm[] = // 移動 "\347\247\273\345\213\225"; -static const char str_syss[] = // サイズ変更 +static const OEMCHAR str_syss[] = // サイズ変更 "\343\202\265\343\202\244\343\202\272\345\244\211\346\233\264"; -static const char str_sysn[] = // 最小化 +static const OEMCHAR str_sysn[] = // 最小化 "\346\234\200\345\260\217\345\214\226"; -static const char str_sysx[] = // 最大化 +static const OEMCHAR str_sysx[] = // 最大化 "\346\234\200\345\244\247\345\214\226"; -static const char str_sysc[] = // 閉じる +static const OEMCHAR str_sysc[] = // 閉じる "\351\226\211\343\201\230\343\202\213"; #else -static const char str_sysr[] = "Restore"; -static const char str_sysm[] = "Move"; -static const char str_syss[] = "Size"; -static const char str_sysn[] = "Minimize"; -static const char str_sysx[] = "Maximize"; -static const char str_sysc[] = "Close"; +static const OEMCHAR str_sysr[] = OEMTEXT("Restore"); +static const OEMCHAR str_sysm[] = OEMTEXT("Move"); +static const OEMCHAR str_syss[] = OEMTEXT("Size"); +static const OEMCHAR str_sysn[] = OEMTEXT("Minimize"); +static const OEMCHAR str_sysx[] = OEMTEXT("Maximize"); +static const OEMCHAR str_sysc[] = OEMTEXT("Close"); #endif @@ -138,7 +138,7 @@ static MENUHDL append1(MENUSYS *sys, con hdl.id = item->id; hdl.flag = item->flag & (~MENU_DELETED); if (item->string) { - milsjis_ncpy(hdl.string, item->string, sizeof(hdl.string)); + milstr_ncpy(hdl.string, item->string, NELEMENTS(hdl.string)); } ret = (MENUHDL)listarray_enum(sys->res, seaempty, NULL); if (ret) { @@ -291,7 +291,7 @@ enum { MEXIST_ITEM = 0x08 }; -static BOOL wndopenbase(MENUSYS *sys) { +static BRESULT wndopenbase(MENUSYS *sys) { MENUHDL menu; RECT_T mrect; @@ -345,7 +345,7 @@ static BOOL wndopenbase(MENUSYS *sys) { mrect.right -= MENUSYS_BCAPTION; mrect.bottom += MENUSYS_BCAPTION; } - vram = menuvram_create(menubase.width, height); + vram = menuvram_create(menubase.width, height, menubase.bpp); sys->wnd[0].vram = vram; if (vram == NULL) { goto wopn0_err; @@ -482,7 +482,7 @@ static void citemdraw(VRAMHDL vram, MENU } } -static BOOL childopn(MENUSYS *sys, int depth, int pos) { +static BRESULT childopn(MENUSYS *sys, int depth, int pos) { MENUHDL menu; RECT_T parent; @@ -559,7 +559,7 @@ static BOOL childopn(MENUSYS *sys, int d width = menubase.width; } height += (MENU_FBORDER + MENU_BORDER); - wnd->vram = menuvram_create(width, height); + wnd->vram = menuvram_create(width, height, menubase.bpp); if (wnd->vram == NULL) { TRACEOUT(("sub menu vram couldn't create")); goto copn_err; @@ -708,8 +708,8 @@ static void defcmd(MENUID id) { (void)id; } -BOOL menusys_create(const MSYSITEM *item, void (*cmd)(MENUID id), - UINT16 icon, const char *title) { +BRESULT menusys_create(const MSYSITEM *item, void (*cmd)(MENUID id), + UINT16 icon, const OEMCHAR *title) { MENUSYS *ret; LISTARRAY r; @@ -723,7 +723,7 @@ BOOL menusys_create(const MSYSITEM *item } ret->cmd = cmd; if (title) { - milsjis_ncpy(ret->title, title, sizeof(ret->title)); + milstr_ncpy(ret->title, title, NELEMENTS(ret->title)); } r = listarray_new(sizeof(_MENUHDL), 32); if (r == NULL) { @@ -758,7 +758,7 @@ void menusys_destroy(void) { } } -BOOL menusys_open(int x, int y) { +BRESULT menusys_open(int x, int y) { MENUSYS *sys; @@ -1087,7 +1087,7 @@ static void menusys_settxt(MENUID id, vo } if (arg) { - milsjis_ncpy(itm->string, (char *)arg, sizeof(itm->string)); + milstr_ncpy(itm->string, (OEMCHAR *)arg, NELEMENTS(itm->string)); } else { itm->string[0] = '\0';