📄 osd_draw_setup.c
字号:
#endif
default:
break;
}
return pos;
}
#if _APP_CAP_AUD_SETUP_SPEAKER
/******************************************************************************
* Function name : OwGfxGetD5PositonUsingD4D5
* Arguments :
* IN
* MenuDom2State_et d2_state,MenuDom3State_et d3_state
* OUT
* I/O
* Return : UINT
*
* By : chang lina060428
* Description :
* Revision : 1.0
******************************************************************************
*/
STATIC UINT OwGfxGetD5PositonUsingD4D5(MenuDom4State_et d4_state, MenuDom5State_et d5_state)
{ UINT pos = 0;
switch( d4_state )
{
case MENU_D4_SPK_TIME_SDLY:
pos=d5_state-(MENU_D5_SPK_SDLY_START+1);
break;
case MENU_D4_SPK_TIME_CDLY:
pos=d5_state-(MENU_D5_SPK_CDLY_START+1);
break;
#if _APP_CAP_AUD_CONTROL_VOLUME
case MENU_D4_SPK_VOL_FL:
pos=d5_state-(MENU_D5_SPK_VOL_FL_START+1);
break;
case MENU_D4_SPK_VOL_FR:
pos=d5_state-(MENU_D5_SPK_VOL_FR_START+1);
break;
case MENU_D4_SPK_VOL_SL:
pos=d5_state-(MENU_D5_SPK_VOL_SL_START+1);
break;
case MENU_D4_SPK_VOL_SR:
pos=d5_state-(MENU_D5_SPK_VOL_SR_START+1);
break;
case MENU_D4_SPK_VOL_CEN:
pos=d5_state-(MENU_D5_SPK_VOL_CEN_START+1);
break;
case MENU_D4_SPK_VOL_SUB:
pos=d5_state-(MENU_D5_SPK_VOL_SUB_START+1);
break;
#endif
default:
break;
}
return pos;
}
#endif
/******************************************************************************
* Function name : OwGfxGetD3ItemNum
* Arguments :
* IN
* MenuDom2State_et d2_state
* OUT
* I/O
* Return : UINT
*
* By : chang lina 060523
* Description : Get the num of d3 items in current d2
* Revision : 1.0
******************************************************************************
*/
UINT OwGfxGetD3ItemNum(MenuDom2State_et d2_state)
{ UINT num=0;
switch(d2_state)
{
case MENU_D2_LANG_OSDMENU:
num=(UINT)(MENU_D3_LANG_MENU_END-MENU_D3_LANG_MENU_START-1);
break;
case MENU_D2_LANG_DISCMENU:
num=(UINT)(MENU_D3_LANG_DISC_END-MENU_D3_LANG_DISC_START-1);
break;
case MENU_D2_LANG_AUDIO:
num=(UINT)(MENU_D3_LANG_AUDIO_END-MENU_D3_LANG_AUDIO_START-1);
break;
case MENU_D2_LANG_SUBTITLE:
num=(UINT)(MENU_D3_LANG_SUBTITLE_END-MENU_D3_LANG_SUBTITLE_START-1);
break;
#if _APP_CAP_OSD_MTK_VERSION
case MENU_D2_LANG_VERSION:
num=(UINT)(MENU_D3_LANG_VERSION_END-MENU_D3_LANG_VERSION_START-1);
break;
#endif
/*
case MENU_D2_LANG_SAVER:
num=(UINT)(MENU_D3_LANG_SAVER_END-MENU_D3_LANG_SAVER_START-1);
break;
case MENU_D2_LANG_RESET:
num=(UINT)(MENU_D3_LANG_RESET_END-MENU_D3_LANG_RESET_START-1);
break;
*/
/*
Display
*/
case MENU_D2_DISP_ASPECT:
num=(UINT)(MENU_D3_DISP_ASPECT_END-MENU_D3_DISP_ASPECT_START-1);
break;
#if _COP_UI_OSD_HDMI_VIDEO_IN_SETUP
case MENU_D2_DISP_HDMI_VIDEO:
num=(UINT)(MENU_D3_DISP_HDMI_VD_END-MENU_D3_DISP_HDMI_VD_START-1);
break;
#endif
#if _COP_UI_OSD_ASV_IN_SETUP///clina 061019
case MENU_D2_DISP_ASV:
num=(UINT)(MENU_D3_DISP_ASV_END-MENU_D3_DISP_ASV_START-1);
break;
#endif
case MENU_D2_DISP_TV:
num=(UINT)(MENU_D3_DISP_TV_END-MENU_D3_DISP_TV_START-1);
break;
//#if _COP_UI_OSD_ANGLE_IN_SETUP
case MENU_D2_DISP_ANGLE:
num = (UINT)(MENU_D3_DISP_ANGLE_END - MENU_D3_DISP_ANGLE_START-1);
break;
//#endif
case MENU_D2_DISP_CPT_LOGO:
num = (UINT)(MENU_D3_DISP_CPT_LOGO_END - MENU_D3_DISP_CPT_LOGO_START-1);
break;
case MENU_D2_DISP_CAPTION:
num = (UINT)(MENU_D3_DISP_CAPTION_END - MENU_D3_DISP_CAPTION_START-1);
break;
case MENU_D2_DISP_SAVER:
num=(UINT)(MENU_D3_DISP_SAVER_END-MENU_D3_DISP_SAVER_START-1);
break;
/*
Audio
*/
case MENU_D2_AUDIO_DIGITAL_OUTPUT:
num=(UINT)(MENU_D3_AUDIO_DIGITAL_OUTPUT_END-MENU_D3_AUDIO_DIGITAL_OUTPUT_START-1);
break;
case MENU_D2_AUDIO_CHAN_OUTPUT:
num=(UINT)(MENU_D3_AUDIO_CHAN_END-MENU_D3_AUDIO_CHAN_START-1);
break;
case MENU_D2_AUDIO_DUAL_MONO:
num=(UINT)(MENU_D3_AUDIO_DUAL_MONO_END-MENU_D3_AUDIO_DUAL_MONO_START-1);
break;
case MENU_D2_AUDIO_DYN_COMP:
num=(UINT)(MENU_D3_AUDIO_DRC_END-MENU_D3_AUDIO_DRC_START-1);
break;
#if _COP_UI_OSD_HDMI_AUDIO_IN_SETUP
case MENU_D2_AUDIO_HDMI:
num=(UINT)(MENU_D3_AUDIO_HDMI_END-MENU_D3_AUDIO_HDMI_START-1);
break;
#endif
case MENU_D2_AUDIO_LPCM_OUTPUT:
num=(UINT)(MENU_D3_AUDIO_LPCM_END-MENU_D3_AUDIO_LPCM_START-1);
break;
#if! _COP_AUD_2CH_ONLY_OUT //clina 060421
case MENU_D2_AUDIO_SPDIF_PCM:
num=(UINT)(MENU_D3_AUDIO_SPDIF_END-MENU_D3_AUDIO_SPDIF_START-1);
break;
#endif
/*Need be add the karaoke d2 item in below cases Lina 20060310*/
#if _APP_CAP_AUD_KARAOKE // Qian liping 060329
#if !_APP_CAP_MTK_ONLY_KARA_SCORING
case MENU_D2_KARA_ONOFF:
num=(UINT)(MENU_D3_KARA_SET_END-MENU_D3_KARA_SET_START-1);
break;
case MENU_D2_KARA_VOL:
case MENU_D2_KARA_ECHO:
case MENU_D2_KARA_KEY:
break;
#endif
#if _APP_CAP_AUD_KARAOKE_SCORING
case MENU_D2_KARA_SCORE:
num=(UINT)(MENU_D3_KARA_SCORE_END-MENU_D3_KARA_SCORE_START-1);
break;
#endif
#endif/*_APP_CAP_AUD_KARAOKE*/
/*Need be add the karaoke d2 item in cases Lina 20060310*/
/*
Speaker
*/
#if _APP_CAP_AUD_SETUP_SPEAKER
#if _APP_CAP_AUD_EQ
case MENU_D2_SPK_3DEQ:
num=(UINT)(MENU_D3_SPK_3DEQ_END-MENU_D3_SPK_3DEQ_START-1);
break;
#endif
#if _APP_CAP_AUD_REVERBERATION
case MENU_D2_SPK_REVERBERATION:
num=(UINT)(MENU_D3_SPK_REVERB_END-MENU_D3_SPK_REVERB_START-1);
break;
#endif
#if! _COP_AUD_2CH_ONLY_OUT //clina 060421
#if _APP_CAP_AUD_BASE_MANAGE
case MENU_D2_SPK_CONFIG:
num=(UINT)(MENU_D3_SPK_CONF_END-MENU_D3_SPK_CONF_START-1);
break;
#endif
case MENU_D2_SPK_TIME_DELAY:
num=(UINT)(MENU_D3_SPK_TIME_DELAY_END-MENU_D3_SPK_TIME_DELAY_START-1);
break;
case MENU_D2_SPK_SURROUD_DALAY:
num=(UINT)(MENU_D3_SPK_SDLY_END-MENU_D3_SPK_SDLY_START-1);
break;
case MENU_D2_SPK_CENTER_DALAY:
num=(UINT)(MENU_D3_SPK_CDLY_END-MENU_D3_SPK_CDLY_START-1);
break;
#if _APP_CAP_AUD_PROLOGIC
case MENU_D2_SPK_PROLOGIC:
num=(UINT)(MENU_D3_SPK_PROLOGIC_END-MENU_D3_SPK_PROLOGIC_START-1);
break;
#endif
case MENU_D2_SPK_VOLUME:
num=(UINT)(MENU_D3_SPK_VOLUME_END-MENU_D3_SPK_VOLUME_START-1);
break;
#if _APP_CAP_AUD_CALNOISE
case MENU_D2_SPK_TESTTONE:
num=(UINT)(MENU_D3_SPK_TESTTONE_END-MENU_D3_SPK_TESTTONE_START-1);
break;
#endif
#endif /* _COP_AUD_2CH_ONLY_OUT //clina 060421*/
#endif/*_APP_CAP_AUD_SETUP_SPEAKER*/
/*
lock(parental)
*/
/*
case MENU_D2_LOCK_ONOFF:
num=(UINT)(MENU_D3_LOCK_PWD_END-MENU_D3_LOCK_PWD_START-1);
break;
*/
case MENU_D2_LANG_RESET:
num=(UINT)(MENU_D3_LANG_RESET_END-MENU_D3_LANG_RESET_START-1);
break;
case MENU_D2_LOCK_CHANGE:
num=(UINT)(MENU_D3_LOCK_CHANGE_END-MENU_D3_LOCK_CHANGE_START-1);
break;
case MENU_D2_LOCK_LEVEL:
break;
}
return num;
}
/******************************************************************************
* Function name : OwGfxGetYPositionD3
* Arguments :
* IN
* MenuDom2State_et d2_state,MenuDom3State_et d3_state
* OUT
* I/O
* Return : BYTE2
*
* By : chang lina 060329
* Description :
* Revision : 1.0
******************************************************************************
*/
BYTE2 OwGfxGetStartYPositionD3( MenuDom2State_et d2_state,MenuDom3State_et d3_state )
{
UINT max_item;
UINT tmp_state;
SINT start_y, d2_pos, y2;
MenuDom1State_et d1_state;
d1_state = Getdom1num();
//index =OwGfxGetD3PositonUsingD2D3(d2_state, d3_state);
tmp_state = OwGfxGetD2PositonUsingD1D2(d1_state,d2_state);
max_item = OwGfxGetD3ItemNum(d2_state);
d2_pos = SETUP_MENU_D2_TXT_Y + SETUP_MENU_D2_ITEM_H*tmp_state ; //the position of now D2 item txt clina 060422
y2 = 50 + 310 - SETUP_MENU_D3_ITEM_H*max_item ;
/* find the start-y*/
/*if D3 begining position can be equal to d2,take it(y1==d2 positon);else if have no enough place
/to draw, take y2. */
if(d2_pos <= y2)
{
start_y = d2_pos;
}
else
{
start_y = y2;
}
return start_y;
}
BYTE2 OwGfxGetYPositionD3( MenuDom2State_et d2_state,MenuDom3State_et d3_state )
{
SINT y_start,index;
UINT y_pos;
y_start=OwGfxGetStartYPositionD3(d2_state,d3_state);
index=OwGfxGetD3PositonUsingD2D3(d2_state, d3_state);
y_pos=y_start+index*SETUP_MENU_D3_ITEM_H;
return y_pos;
}
/******************************************************************************
* Function name : OwGfxSetupDrawD2Rectangle
* Arguments :
* IN
* MenuDom2State_et d2_state
* OUT
* I/O
* Return : VOID
*
* By : changlina
* Description :
* Revision : 1.0
******************************************************************************
*/
STATIC VOID OwGfxSetupDrawD2Rectangle( MenuDom1State_et d1_state,MenuDom2State_et d2_state)
{
UINT pos=OwGfxGetD2PositonUsingD1D2(d1_state,d2_state);
SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D2_ITEM_X, SETUP_MENU_D2_ITEM_Y+SETUP_MENU_D2_ITEM_H*(BYTE2)pos,
SETUP_MENU_D2_ITEM_W, SETUP_MENU_D2_ITEM_H, OSD_COLOR_TRANS_BG);
}
/******************************************************************************
* Function name : OwGfxSetupDrawD2Icon
* Arguments :
* IN
* MenuDom2State_et d2_state
* OUT
* I/O
* Return : VOID
*
* By :
* Description :
* Revision : 1.0
******************************************************************************
*/
VOID OwGfxSetupDrawD2Icon(MenuDom1State_et d1_state,MenuDom2State_et d2_state)
{
//Lu Shuai 060116
UINT pos =OwGfxGetD2PositonUsingD1D2(d1_state,d2_state);
SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D2_ITEM_X, SETUP_MENU_D2_ITEM_Y+SETUP_MENU_D2_ITEM_H*pos,
SETUP_ICON_W, SETUP_ICON_H, COLOR_DARK_GREEN);
SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D2_ITEM_X+SETUP_ICON_GAP/2, SETUP_MENU_D2_ITEM_Y+SETUP_MENU_D2_ITEM_H*pos+SETUP_ICON_GAP/2,
SETUP_ICON_W-SETUP_ICON_GAP, SETUP_ICON_H -SETUP_ICON_GAP, COLOR_BLUE_NORM);
SH_GfxDrawImage(SH_CANV1, IMG_ICON_DEFAULT, SETUP_MENU_D2_ITEM_X+6,SETUP_ICON_Y_OFFSET+SETUP_MENU_D2_ITEM_H*pos);
}
/******************************************************************************
* Function name : OwGfxSetupDrawD3Rectangle
* Arguments :
* IN
* MenuDom3State_et d3_state
* OUT
* I/O
* Return : VOID
*
* By : changlina
* Description :
* Revision : 1.0
******************************************************************************
*/
VOID OwGfxSetupDrawD3Rectangle(MenuDom2State_et d2_state,MenuDom3State_et d3_state)
{
SH_GfxDrawRec(SH_CANV1, SETUP_MENU_D3_ITEM_X, OwGfxGetYPositionD3(d2_state,d3_state),SETUP_MENU_D3_ITEM_W, SETUP_MENU_D3_ITEM_H, OSD_COLOR_TRANS_BG);
}
/******************************************************************************
* Function name : OwGfxSetupDrawArrow
* Arguments :
* IN
* MenuDom2State_et d2_state
* OUT
* I/O
* Return : VOID
*
* By : Lu Shuai
* Description :
* Revision : 1.0
******************************************************************************
*/
VOID OwGfxSetupDrawArrow(MenuDom1State_et d1_state,MenuDom2State_et d2_state,BOOL draw_it)
{
BYTE2 pos;
switch( d1_state )
{
case MENU_D1_SUB_LANG:
pos = (UINT)d2_state - (MENU_D2_LANG_START+1);
break;
case MENU_D1_SUB_DISP:
pos = (UINT)d2_state - (MENU_D2_DISP_START+1);
break;
case MENU_D1_SUB_AUDIO:
pos = (UINT)d2_state - (MENU_D2_AUDIO_START+1);
break;
#if _APP_CAP_AUD_KARAOKE // Qian liping 060328
case MENU_D1_SUB_KARAOKE:
pos = (UINT)d2_state - (MENU_D2_KARA_START+1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -