int APIENTRY glutCreateMenu(GLUTselectCB selectFunc) { GLUTmenu *menu; int menuid; if (__glutMappedMenu) { menuModificationError(); } menuid = getUnusedMenuSlot(); menu = (GLUTmenu *) malloc(sizeof(GLUTmenu)); if (!menu) { __glutFatalError("out of memory."); } menu->id = menuid; menu->num = 0; menu->submenus = 0; menu->select = selectFunc; menu->list = NULL; menu->cascade = NULL; menu->highlighted = NULL; menu->anchor = NULL; menu->win = (HWND) CreatePopupMenu(); menuList[menuid] = menu; __glutSetMenu(menu); return menuid + 1; }
int FGAPIENTRY glutCreateMenu(FGCBMenu selectFunc) { SFG_WinMenu *menu; int menuid; if (fgMappedMenu) menuModificationError(); menuid = getUnusedMenuSlot(); menu = (SFG_WinMenu *) malloc(sizeof(SFG_WinMenu)); if (!menu) fgError("out of memory."); menu->ID = menuid; menu->Num = 0; menu->SubMenus = 0; menu->Select = selectFunc; menu->List = NULL; menu->Cascade = NULL; menu->Highlighted = NULL; menu->Anchor = NULL; menu->Handle = CreatePopupMenu(); menuList[menuid] = menu; fgSetMenu(menu); return menuid + 1; }