/************************************************************************** * * Name : InitMenu() * * Description: Processes the WM_INITMENU message for the main window, * disabling any menus that are not active. * * Concepts: Routine is called each time a menu is dropped. * * A switch statement branches control based upon * the id of the menu that is being displayed. * * API's : [none] * * Parameters : mp1 = first message parameter * mp2 = second message parameter *************************************************************************/ VOID InitMenu(MPARAM mp1, MPARAM mp2) { /* define a shorthand way of denoting the menu handle */ hwndMenu = HWNDFROMMP(mp2); switch(SHORT1FROMMP(mp1)) { case IDM_SOUND: MenuRedraw(bSound-7); break; case IDM_STYLE: MenuRedraw(bStyle-9); break; case IDM_LEVEL: MenuRedraw(-1); MenuRedraw(usLevel); break; case IDM_HELP: EnableMenuItem(hwndMenu, IDM_HELPUSINGHELP, fHelpEnabled); EnableMenuItem(hwndMenu, IDM_HELPGENERAL, fHelpEnabled); EnableMenuItem(hwndMenu, IDM_HELPKEYS, fHelpEnabled); EnableMenuItem(hwndMenu, IDM_HELPINDEX, fHelpEnabled); break; default: break; } } /* End of InitMenu */
static void _MenuEwinMoveResize(EWin * ewin, int resize __UNUSED__) { Menu *m = (Menu *) ewin->data; if (!m) return; if (Mode.mode != MODE_NONE && !m->redraw) return; if (TransparencyUpdateNeeded()) m->redraw = 1; if ((!m->style->use_item_bg && m->pmm.pmap == 0) || m->redraw) { MenuRedraw(m); EwinUpdateShapeInfo(ewin); } }