代码拉取完成,页面将自动刷新
同步操作将从 vtor3478/vtor_elec_module 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include "vtor_menu.h"
#ifdef __VTOR_MENU__
struct VtorMenu* pCurVtorMenu = NULL;
void VtorMenu_Display()
{
// 显示预处理
VtorMenu_PreProcess();
// 先绘制标题
struct VtorMenu* pCurMenuItem = NULL;
// 再绘制菜单内容,从1开始,因为0表示了上级目录
for (unsigned char itemIdx = 0; itemIdx < pCurVtorMenu->itemCnt; ++itemIdx)
{
pCurMenuItem = pCurVtorMenu->item[itemIdx];
// 0指向父菜单,显示时需要调整为自身
if (pCurMenuItem == pCurVtorMenu->item[0])
{
pCurMenuItem = pCurVtorMenu;
}
pCurMenuItem->display(itemIdx, pCurMenuItem);
}
}
void VtorMenu_Operate(uint8_t opType, int32_t opValue)
{
struct VtorMenu* pCurMenuItem = pCurVtorMenu->item[pCurVtorMenu->itemIdx];
// 0指向父菜单,操作时需要调整为自身
if (pCurMenuItem == pCurVtorMenu->item[0])
{
pCurMenuItem = pCurVtorMenu;
}
// 点击操作会改变pCurVtorMenu,单独处理!!!
if (VTOR_MENU_OPERATE_ENTER == opType)
{
pCurVtorMenu = pCurVtorMenu->item[pCurVtorMenu->itemIdx]; // 直接item跳转即可
return ;
}
switch(opType)
{
// 针对项选择,需要操作pCurVtorMenu
case VTOR_MENU_OPERATE_ITEM_UP:
pCurVtorMenu->itemIdx -= opValue;
break;
case VTOR_MENU_OPERATE_ITEM_DOWN:
pCurVtorMenu->itemIdx += opValue;
break;
case VTOR_MENU_OPERATE_ITEM_SELECT:
pCurVtorMenu->itemIdx = opValue;
break;
// 针对项的值,需要操作pCurMenuIte
case VTOR_MENU_OPERATE_VALUE_UP:
pCurMenuItem->value += opValue;
break;
case VTOR_MENU_OPERATE_VALUE_DOWN:
pCurMenuItem->value -= opValue;
break;
case VTOR_MENU_OPERATE_VALUE_SET:
pCurMenuItem->value = opValue;
break;
case VTOR_MENU_OPERATE_HANDLER:
if (NULL != pCurMenuItem->handler)
{
pCurMenuItem->handler(pCurMenuItem);
}
break;
default:
break;
}
pCurVtorMenu->itemIdx = (pCurVtorMenu->itemIdx + pCurVtorMenu->itemCnt) % (pCurVtorMenu->itemCnt);
// 操作后再处理
VtorMenu_ReProcess();
}
void VtorMenu_RelateItem(struct VtorMenu* pParentMenu, struct VtorMenu* pItemMenu)
{
pParentMenu->item[pParentMenu->itemCnt] = pItemMenu;
pParentMenu->itemCnt++;
pItemMenu->item[0] = pParentMenu;
pItemMenu->itemCnt = 1;
if (NULL == pItemMenu->display)
{
pItemMenu->display = VtorMenu_DisplayItem;
}
if (NULL == pItemMenu->handler)
{
pItemMenu->handler = VtorMenu_Handler;
}
}
#endif // __VTOR_MENU__
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。