📄 menu_new_pal.c
字号:
g_ucMenuItemIndex = 0;
DrawOsdMenu();
break;
case MIA_MAIN_SOURCE:
if(g_ucMenuPageIndex == MENU_SOURCE)
{
if(g_SysSetting.ucInputSourceType != ConvertMenuItemIndexToInputSouceIndex(g_ucMenuItemIndex) )
{
g_SysSetting.ucInputSourceType = ConvertMenuItemIndexToInputSouceIndex(g_ucMenuItemIndex);
usrSaveMenu(USER_SAVE_SOURCE_DIRECTLY);
CURRENT_MENU_ITEM_FUNC.ExecFunction();
}
}
break;
case MIA_PAL_PROGRAM_UP:
case MIA_PAL_PROGRAM_DOWN:
case MIA_PAL_PROGRAM_LEFT:
case MIA_PAL_PROGRAM_RIGHT:
case MIA_PAL_PROGRAM_NAME:
case MIA_PAL_PROGRAM_INSERT:
case MIA_PAL_PROGRAM_DELETE:
case MIA_PAL_PROGRAM_OK:
case MIA_PAL_PROGRAM_CANCEL:
if( MENU_CHANNEL_PROGRAM == g_ucMenuPageIndex )
{
PAL_ProcessEvent(menuAction);
}
break;
#if( ENABLE_TTX )
case MIA_TTX_EXIT:
g_bTTX_on=0;
devTTAction(TTX_CMD_TEXT_TOGGLE);
OsdInit();
g_ucMenuPageIndex = MENU_ROOT;
g_ucMenuItemIndex = 0;
g_ucMenuAction = MIA_NOTHING;
g_ucPrevMenuPageIndex = MENU_ROOT;
g_ucOsdTimeCounter = 0;
msOsdHide();
msOsdDisableSubWinAll();
if(g_bTTx_AcqExecute_on)
{
g_bTTx_AcqExecute_on=0;
}
break;
case MIA_TTX:
if (!IsSrcUseMsVDPort())
{
break;
}
if (!devTTCheckTTX())
{
menuAction = MIA_REDRAWMENU;
g_ucMenuPageIndex = MENU_NO_TTX;
g_ucMenuItemIndex = 0;
bProcessEvent = TRUE;
break;
}
else if (!g_bTTX_on && g_SrcInfo.ucVideoSystem != SIG_NONE)
{
g_bTTX_on=1;
if(g_bOSDShow)
{
msOsdHide();
msOsdDisableSubWinAll();
}
InitialTeletextWindow();
#if (FONTDB==1)
msSetTTXFontBase();
#else
InitialTeletextFont();
#endif
InitialTeletextPalette();
devTTSetLanguage(g_VideoSetting.TtxLanguage);// 2006/1/18
devTTAction(TTX_CMD_TEXT_TOGGLE);
g_ucMenuPageIndex = MENU_TTX_ON;
g_ucMenuItemIndex = 0;
g_ucMenuAction = MIA_NOTHING;
g_ucPrevMenuPageIndex = MENU_TTX_ON;
g_ucOsdTimeCounter = 0;
}
break;
case MIA_TTX_INDEX:
devTTAction(TTX_CMD_INDEX);
break;
case MIA_TTX_HOLD:
devTTAction(TTX_CMD_HOLD_TOGGLE);
break;
case MIA_TTX_SIZE:
devTTAction(TTX_CMD_SIZE_TOGGLE);
break;
case MIA_TTX_RED:
devTTAction(TTX_CMD_RED);
break;
case MIA_TTX_GREEN:
devTTAction(TTX_CMD_GREEN);
break;
case MIA_TTX_YELLOW:
devTTAction(TTX_CMD_YELLOW);
break;
case MIA_TTX_CYAN:
devTTAction(TTX_CMD_CYAN);
break;
case MIA_TTX_MIX:
devTTAction(TTX_CMD_MIX_TOGGLE);
break;
case MIA_TTX_UPDATE:
devTTAction(TTX_CMD_CANCEL_TOGGLE);
break;
case MIA_TTX_REVEAL:
devTTAction(TTX_CMD_REVEAL);
break;
case MIA_TTX_SUBCODE:
devTTAction(TTX_CMD_SUBCODE);
break;
case MIA_TTX_SUBTITLE:
devTTAction(TTX_CMD_SUBTITLE);
break;
case MIA_TTX_LIST:
devTTAction(TTX_CMD_LIST_TOGGLE);
break;
case MIA_TTX_CANCEL:
devTTAction(TTX_CMD_CANCEL_TOGGLE);
break;
case MIA_TTX_KEY0: devTTAction(TTX_CMD_DIGIT0); break;
case MIA_TTX_KEY1: devTTAction(TTX_CMD_DIGIT1); break;
case MIA_TTX_KEY2: devTTAction(TTX_CMD_DIGIT2); break;
case MIA_TTX_KEY3: devTTAction(TTX_CMD_DIGIT3); break;
case MIA_TTX_KEY4: devTTAction(TTX_CMD_DIGIT4); break;
case MIA_TTX_KEY5: devTTAction(TTX_CMD_DIGIT5); break;
case MIA_TTX_KEY6: devTTAction(TTX_CMD_DIGIT6); break;
case MIA_TTX_KEY7: devTTAction(TTX_CMD_DIGIT7); break;
case MIA_TTX_KEY8: devTTAction(TTX_CMD_DIGIT8); break;
case MIA_TTX_KEY9: devTTAction(TTX_CMD_DIGIT9); break;
case MIA_TTX_UP: devTTAction(TTX_CMD_PAGEUP); break;
case MIA_TTX_DOWN: devTTAction(TTX_CMD_PAGEDOWN); break;
#endif
default:
return FALSE;
break;
}
}
g_ucMenuAction = MIA_NOTHING;
return TRUE;
}
//============================================================================
void OsdHandler(void)
{
BYTE ucFlag = 0;
#if (ENABLE_TTX)
if( g_bTTX_on) //when TTX on, don't draw osd menu.(If draw osd menu,TTX will be destroyed.)
{
g_ucDrawOSDFlag = 0;
return;
}
#endif
if( g_SrcInfo.bPassDoModeSetting ) // PC/YPBPR
{
g_SrcInfo.bPassDoModeSetting = 0;
if( IsSrcUseAnalogPort() )
{
if( g_SrcInfo.bModeInputTimingChange )
{
return;
}
if( SrcTypeIsPC() && g_SrcInfo.bModeUnsupportMode )
{
g_ucDrawOSDFlag = OSD_FLAG_DRAW_MENU_UNSUPPORTED_MODE;
}
else if( SrcTypeIsPC() && mdSyncLossFlag() ) // PC DPMS message
{
g_ucDrawOSDFlag = OSD_FLAG_DRAW_MENU_STANDBY;
}
else if( SRC_TYPE_IS_VGA() && (!mdSyncLossFlag()) ) // VGA has signal
{
// VGA auto-tune
#if WHITE_BALANCE_AUTO
if (g_ucMenuPageIndex == MENU_FACTORY_COLOR_MODE)
{
AutoConfig();
}
else if ( g_ModeSetting.AutoSign == 0 )
#else
if ( g_ModeSetting.AutoSign != 3 ) // check auto sign
#endif
{
g_ucDrawOSDFlag = OSD_FLAG_DRAW_MENU_AUTO_ADJUST;
}
else
{
g_ucDrawOSDFlag = OSD_FLAG_DRAW_INPUT_MESSAGE;
}
}
else
{
g_ucDrawOSDFlag = OSD_FLAG_DRAW_INPUT_MESSAGE;
}
}
else
{
g_ucDrawOSDFlag = OSD_FLAG_DRAW_INPUT_MESSAGE;
}
}
if( g_ucDrawOSDFlag )
{
//printf("\r\nPage=%x",g_ucMenuPageIndex);
//printf("\r\nItem=%x",g_ucMenuItemIndex);
//printf("\r\nFlag=%x",g_ucDrawOSDFlag);
switch( g_ucDrawOSDFlag )
{
case OSD_FLAG_DRAW_MENU:
DrawOsdMenu();
break;
case OSD_FLAG_REDRAW:
ExecuteKeyEvent(MIA_REDRAWMENU);
break;
case OSD_FLAG_REDRAW_FACTORY:
DrawOsdMenuPage(g_ucMenuPageIndex);
msOsdShow();
break;
case OSD_FLAG_DRAW_INPUT_MESSAGE:
#if WHITE_BALANCE_AUTO
if (g_ucMenuPageIndex != MENU_FACTORY_COLOR_MODE)
#endif
{
g_ucMenuItemIndex = 0;
g_ucMenuPageIndex = MENU_INPUT_MESSAGE;
g_ucOsdTimeCounter = 5; // Reset OSD timeout timer.
DrawOsdMenu();
}
break;
case OSD_FLAG_DRAW_MENU_AUTO_ADJUST:
g_ucMenuPageIndex = MENU_AUTO_ADJUST;
g_ucMenuItemIndex = 0;
ExecuteKeyEvent(MIA_REDRAWMENU);
break;
case OSD_FLAG_DRAW_MENU_UNSUPPORTED_MODE:
g_ucMenuPageIndex = MENU_UNSUPPORTED_MODE;
g_ucMenuItemIndex = 0;
ExecuteKeyEvent(MIA_REDRAWMENU);
g_ucOsdTimeCounter = 0;
break;
case OSD_FLAG_DRAW_MENU_STANDBY:
g_ucMenuPageIndex = MENU_STANDBY;
g_ucMenuItemIndex = 0;
ExecuteKeyEvent(MIA_REDRAWMENU);
g_ucOsdTimeCounter = 0;
break;
case OSD_FLAG_TIMEOUT:
usrSaveMenu(USER_SAVE_OSD_CURRENT);
g_ucMenuItemIndex = 0;
if (g_bAudioMute)
{
g_ucMenuPageIndex = MENU_INPUT_MESSAGE;
g_ucMenuAction = MIA_MUTE;
}
else
{
g_ucMenuItemIndex = 0;
g_ucMenuPageIndex = MENU_ROOT;
}
DrawOsdMenu();
g_ucOsdTimeCounter = 0;
break;
case OSD_FLAG_DRAW_CHANEL_SCAN:
DrawOsdMenuItem(g_ucMenuPageIndex, g_ucMenuItemIndex);
g_ucOsdTimeCounter = 0;
break;
} // End of switch
g_ucDrawOSDFlag = 0;
}
}
BOOL GetMenuState(void)
{
if (((g_ucMenuPageIndex>=MENU_MAIN) && (g_ucMenuPageIndex <= MENU_CHANNEL_AUTO_SCAN)) ||
(g_ucFactoryFlag&0x80))
{
return TRUE;
}
else
{
return FALSE;
}
}
//Bruce.Ding add 060302 15:27 --[UI]
extern MenuItemActionType code m_eKeyActionMap[];
//---------------------------------------------
void UserInterfaceHandler(void)
{
BYTE cMenuAction = MIA_NOTHING;
BYTE cKeyCode = KEY_INVALID;
MenuItemKeyAction* psMenuItemKeyAction;
KeyActionMap* psKeyActionMap;
cKeyCode = ScanKeyInput();
psMenuItemKeyAction = CURRENT_MENU_ITEM.KeyEvents;
if ((psMenuItemKeyAction != NULL) && (KEY_INVALID > cKeyCode))
{
//printf("\r\nKey=%x",cKeyCode);
//printf("\r\nPageIndex=%x",g_ucMenuPageIndex);
//printf("\r\nItemIndex=%x",g_ucMenuItemIndex);
if (psMenuItemKeyAction->cActionFlags & MI_KEY_MAP)
{
cMenuAction = m_eKeyActionMap[cKeyCode];
}
psKeyActionMap = psMenuItemKeyAction->psKeyAction;
while(psKeyActionMap->eKeyType != KEY_INVALID)
{
if (psKeyActionMap->eKeyType == cKeyCode)
{
cMenuAction = psKeyActionMap->eItemAction;
break;
}
psKeyActionMap++;
}
}
if (MIA_NOTHING != cMenuAction)
{
ExecuteKeyEvent(cMenuAction);
if (GetKeypadCode() != BUTTON_INVALID)
{
Clr_KeypadReleaseFlag();
g_cKeypadReleaseCount = 120;
}
}
OsdHandler();
}
//Bruce.Ding add end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -