MCPcopy Create free account
hub / github.com/JACoders/OpenJK / Menu_SetNextCursorItem

Function Menu_SetNextCursorItem

code/ui/ui_shared.cpp:9667–9699  ·  view source on GitHub ↗

================= Menu_SetNextCursorItem ================= */

Source from the content-addressed store, hash-verified

9665=================
9666*/
9667itemDef_t *Menu_SetNextCursorItem(menuDef_t *menu)
9668{
9669
9670 qboolean wrapped = qfalse;
9671 int oldCursor = menu->cursorItem;
9672
9673
9674 if (menu->cursorItem == -1)
9675 {
9676 menu->cursorItem = 0;
9677 wrapped = qtrue;
9678 }
9679
9680 while (menu->cursorItem < menu->itemCount)
9681 {
9682
9683 menu->cursorItem++;
9684 if (menu->cursorItem >= menu->itemCount && !wrapped)
9685 {
9686 wrapped = qtrue;
9687 menu->cursorItem = 0;
9688 }
9689
9690 if (Item_SetFocus(menu->items[menu->cursorItem], DC->cursorx, DC->cursory))
9691 {
9692 Menu_HandleMouseMove(menu, menu->items[menu->cursorItem]->window.rect.x + 1, menu->items[menu->cursorItem]->window.rect.y + 1);
9693 return menu->items[menu->cursorItem];
9694 }
9695 }
9696
9697 menu->cursorItem = oldCursor;
9698 return NULL;
9699}
9700
9701/*
9702=================

Callers 2

Item_TextField_HandleKeyFunction · 0.70
Menu_HandleKeyFunction · 0.70

Calls 2

Item_SetFocusFunction · 0.70
Menu_HandleMouseMoveFunction · 0.70

Tested by

no test coverage detected