📄 tidtv_menuproc.c
字号:
yPos = pMenuItem->MsgY;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTUREBRIGHTNESS_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_BRIGHTNESS_MIN,
TIDTV_VIDEO_BRIGHTNESS_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
break;
case SHARPNESS_INDEX:
if(pMenuItem->pUpItem->MsgIndex == TINT_INDEX)
{
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pMenuItem->MsgY;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURESHARPNESS_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_SHARPNESS_MIN,
TIDTV_VIDEO_SHARPNESS_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
break;
case BASE_INDEX:
if(pMenuItem->pDownItem->MsgIndex == TRIBLE_INDEX)
{
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pMenuItem->MsgY;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_AUDIOBASE_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_AUDIO_BASE_MIN,
TIDTV_AUDIO_BASE_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
break;
case BALANCE_INDEX:
if(pMenuItem->pUpItem->MsgIndex == TRIBLE_INDEX)
{
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pMenuItem->MsgY;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_AUDIOBALANCE_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_AUDIO_BALANCE_MIN,
TIDTV_AUDIO_BALANCE_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
break;
}
}
#else
TiDTV_OsdRect(&TiDTV_OsdScreenMain, x - 10, y - 10, 260, 24 + 20,
TI_DTV_G_BORDER | TI_DTV_G_4ROUND, CursorColor, FillColor, 0);
#endif
}
/*******************************************************************************
* @RoutineName:: ShincoDtvMainMenuActFuct
*
* @Description:: Main menu: Acting function
*
* @Input :: none
*
* @Output :: none
*
* @Return int ::
* int : status
*******************************************************************************/
int TiDtvMainMenuActFuct(void)
{
pCurDtvMenu = pCurDtvMenu->pNextMenu; // pointer to current DTV Menu
pCurDtvMenu->pCurItem = &pCurDtvMenu->pItemList[0];
DtvDispSubMenuItem(&pCurDtvMenu->pItemList[0], MAIN_MENU_CHARACTER_SEL_FRONTCOLOR, MAIN_MENU_CHARACTER_SEL_FRONTCOLOR);
return 0;
}
/*******************************************************************************
* @RoutineName:: DtvVideoSelectItem
*
* @Description:: select item and highlight it
*
* @Input ::
* TI_DTV_MENU_ITEM *pItem
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
void DtvVideoSelectItem(TI_DTV_MENU_ITEM *pNextItem)
{
USHORT xPos, yPos;
short * UserPreferOffset;
if (pNextItem != NULL)
{
// Erase the Cursor (previous position)
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_BACKCOLOR, SUB_MENU_CHARACTER_BACKCOLOR);
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pCurDtvMenu->pCurItem->MsgY;
switch(pCurDtvMenu->pCurItem->MsgIndex)
{
case MODE_INDEX:
if(pNextItem->MsgIndex == BRIGHTNESS_INDEX)
{
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pNextItem->MsgY;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTUREBRIGHTNESS_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_BRIGHTNESS_MIN,
TIDTV_VIDEO_BRIGHTNESS_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
break;
case BRIGHTNESS_INDEX:
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTUREBRIGHTNESS_INDEX));
TiDTV_DrawGuage(TIDTV_GUAGE_NOTHIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_BRIGHTNESS_MIN,
TIDTV_VIDEO_BRIGHTNESS_MAX, (short)*UserPreferOffset, 0, MAIN_MENU_CHARACTER_UNSEL_FRONTCOLOR);
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pNextItem->MsgY;
if(pNextItem->MsgIndex == CONTRAST_INDEX)
{
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURECONTRAST_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_CONTRAST_MIN,
TIDTV_VIDEO_CONTRAST_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
break;
case CONTRAST_INDEX:
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURECONTRAST_INDEX));
TiDTV_DrawGuage(0, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_CONTRAST_MIN,
TIDTV_VIDEO_CONTRAST_MAX, (short)*UserPreferOffset, 0, MAIN_MENU_CHARACTER_UNSEL_FRONTCOLOR);
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pNextItem->MsgY;
if(pNextItem->MsgIndex == SATURATION_INDEX)
{
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURESATURATION_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_SATURATION_MIN,
TIDTV_VIDEO_SATURATION_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
else if(pNextItem->MsgIndex == BRIGHTNESS_INDEX)
{
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTUREBRIGHTNESS_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_BRIGHTNESS_MIN,
TIDTV_VIDEO_BRIGHTNESS_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
break;
case SATURATION_INDEX:
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURESATURATION_INDEX));
TiDTV_DrawGuage(0, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_SATURATION_MIN,
TIDTV_VIDEO_SATURATION_MAX, (short)*UserPreferOffset, 0, MAIN_MENU_CHARACTER_UNSEL_FRONTCOLOR);
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pNextItem->MsgY;
if(pNextItem->MsgIndex == TINT_INDEX)
{
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURETINT_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_TINT_MIN,
TIDTV_VIDEO_TINT_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
else if(pNextItem->MsgIndex == CONTRAST_INDEX)
{
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURECONTRAST_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_CONTRAST_MIN,
TIDTV_VIDEO_CONTRAST_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
break;
case TINT_INDEX:
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURETINT_INDEX));
TiDTV_DrawGuage(0, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_TINT_MIN,
TIDTV_VIDEO_TINT_MAX, (short)*UserPreferOffset, 0, MAIN_MENU_CHARACTER_UNSEL_FRONTCOLOR);
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pNextItem->MsgY;
if(pNextItem->MsgIndex == SHARPNESS_INDEX)
{
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURESHARPNESS_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_SHARPNESS_MIN,
TIDTV_VIDEO_SHARPNESS_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
else if(pNextItem->MsgIndex == SATURATION_INDEX)
{
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURESATURATION_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_SATURATION_MIN,
TIDTV_VIDEO_SATURATION_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
break;
case SHARPNESS_INDEX:
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURESHARPNESS_INDEX));
TiDTV_DrawGuage(0, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_SHARPNESS_MIN,
TIDTV_VIDEO_SHARPNESS_MAX, (short)*UserPreferOffset, 0, MAIN_MENU_CHARACTER_UNSEL_FRONTCOLOR);
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pNextItem->MsgY;
if(pNextItem->MsgIndex == TINT_INDEX)
{
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURETINT_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_TINT_MIN,
TIDTV_VIDEO_TINT_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
else if(pNextItem->MsgIndex == NOISEREDUCTION_INDEX)
{
}
break;
case NOISEREDUCTION_INDEX:
if(pNextItem->MsgIndex == SHARPNESS_INDEX)
{
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pNextItem->MsgY;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURESHARPNESS_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_SHARPNESS_MIN,
TIDTV_VIDEO_SHARPNESS_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
break;
}
// Display the Cursor (current position)
pCurDtvMenu->pCurItem = pNextItem;
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, TI_DTV_COLOR_GREEN, TI_DTV_COLOR_BRIGHT_GREEN);
if(pCurDtvMenu->pCurItem->pWorkData != NULL)
TiDTV_UpdateNavigationBar((TI_DTV_MENU_NODE_NAVIGATION *)pCurDtvMenu->pCurItem->pWorkData, 0);
}
}
/*******************************************************************************
* @RoutineName:: DtvAudioSelectItem
*
* @Description:: select item and highlight it
*
* @Input ::
* TI_DTV_MENU_ITEM *pItem
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
void DtvAudioSelectItem(TI_DTV_MENU_ITEM *pNextItem)
{
USHORT xPos, yPos;
short * UserPreferOffset;
if (pNextItem != NULL)
{
// Erase the Cursor (previous position)
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_BACKCOLOR, SUB_MENU_CHARACTER_BACKCOLOR);
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pCurDtvMenu->pCurItem->MsgY;
switch(pCurDtvMenu->pCurItem->MsgIndex)
{
case EFFECT_INDEX:
if(pNextItem->MsgIndex == BASE_INDEX)
{
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pNextItem->MsgY;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_AUDIOBASE_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_AUDIO_BASE_MIN,
TIDTV_AUDIO_BASE_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
break;
case BASE_INDEX:
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_AUDIOBASE_INDEX));
TiDTV_DrawGuage(TIDTV_GUAGE_NOTHIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_AUDIO_BASE_MIN,
TIDTV_AUDIO_BASE_MAX, (short)*UserPreferOffset, 0, MAIN_MENU_CHARACTER_UNSEL_FRONTCOLOR);
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pNextItem->MsgY;
if(pNextItem->MsgIndex == TRIBLE_INDEX)
{
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_AUDIOTREBLE_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_AUDIO_TREBLE_MIN,
TIDTV_AUDIO_TREBLE_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
break;
case TRIBLE_INDEX:
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_AUDIOTREBLE_INDEX));
TiDTV_DrawGuage(0, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_AUDIO_TREBLE_MIN,
TIDTV_AUDIO_TREBLE_MAX, (short)*UserPreferOffset, 0, MAIN_MENU_CHARACTER_UNSEL_FRONTCOLOR);
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pNextItem->MsgY;
if(pNextItem->MsgIndex == BASE_INDEX)
{
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_AUDIOBASE_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_AUDIO_BASE_MIN,
TIDTV_AUDIO_BASE_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
else if(pNextItem->MsgIndex == BALANCE_INDEX)
{
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_AUDIOBALANCE_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_AUDIO_BALANCE_MIN,
TIDTV_AUDIO_BALANCE_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
break;
case BALANCE_INDEX:
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_AUDIOBALANCE_INDEX));
TiDTV_DrawGuage(0, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_AUDIO_BALANCE_MIN,
TIDTV_AUDIO_BALANCE_MAX, (short)*UserPreferOffset, 0, MAIN_MENU_CHARACTER_UNSEL_FRONTCOLOR);
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pNextItem->MsgY;
if(pNextItem->MsgIndex == TRIBLE_INDEX)
{
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_AUDIOTREBLE_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_AUDIO_TREBLE_MIN,
TIDTV_AUDIO_TREBLE_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
else if(pNextItem->MsgIndex == MTS_INDEX)
{
}
break;
case MTS_INDEX:
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pNextItem->MsgY;
if(pNextItem->MsgIndex == BALANCE_INDEX)
{
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_AUDIOBALANCE_INDEX));
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_AUDIO_BALANCE_MIN,
TIDTV_AUDIO_BALANCE_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
}
break;
}
// Display the Cursor (current position)
pCurDtvMenu->pCurItem = pNextItem;
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, TI_DTV_COLOR_GREEN, TI_DTV_COLOR_BRIGHT_GREEN);
if(pCurDtvMenu->pCurItem->pWorkData != NULL)
TiDTV_UpdateNavigationBar((TI_DTV_MENU_NODE_NAVIGATION *)pCurDtvMenu->pCurItem->pWorkData, 0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -