void MenuDisplay(const MenuSystem *ms) { const menu_t *menu = ms->current; if (menu->type == MENU_TYPE_CUSTOM) { menu->u.customData.displayFunc( menu, ms->graphics, ms->pos, ms->size, menu->u.customData.data); } else { MenuDisplayItems(ms); if (strlen(menu->u.normal.title) != 0) { FontOpts opts = FontOptsNew(); opts.HAlign = ALIGN_CENTER; opts.Area = ms->size; opts.Pad = Vec2iNew(20, 20); FontStrOpt(menu->u.normal.title, ms->pos, opts); } MenuDisplaySubmenus(ms); } for (int i = 0; i < (int)ms->customDisplayFuncs.size; i++) { MenuCustomDisplayFunc *cdf = CArrayGet(&ms->customDisplayFuncs, i); cdf->Func(NULL, ms->graphics, ms->pos, ms->size, cdf->Data); } if (menu->customDisplayFunc) { menu->customDisplayFunc( menu, ms->graphics, ms->pos, ms->size, menu->customDisplayData); } }
void MenuDisplay(MenuSystem *menu) { MenuDisplayItems(menu); if (strlen(menu->current->u.normal.title) != 0) { CDogsTextStringSpecial( menu->current->u.normal.title, TEXT_XCENTER | TEXT_TOP, 0, gGraphicsDevice.cachedConfig.ResolutionWidth / 12); } MenuDisplaySubmenus(menu->current); }
void MenuDisplay(MenuSystem *ms) { menu_t *menu = ms->current; int i; if (menu->type == MENU_TYPE_CUSTOM) { menu->u.customData.displayFunc( ms->graphics, ms->pos, ms->size, menu->u.customData.data); } else { MenuDisplayItems(ms); if (strlen(menu->u.normal.title) != 0) { DrawTextStringSpecial( menu->u.normal.title, TEXT_XCENTER | TEXT_TOP, ms->pos, ms->size, Vec2iNew(0, ms->size.y / 12)); } MenuDisplaySubmenus(ms); } for (i = 0; i < ms->numCustomDisplayFuncs; i++) { ms->customDisplayFuncs[i]( ms->graphics, ms->pos, ms->size, ms->customDisplayDatas[i]); } if (menu->customDisplayFunc) { menu->customDisplayFunc( ms->graphics, ms->pos, ms->size, menu->customDisplayData); } }