📄 osd_draw_explore.c
字号:
/******************************************************************************
* Function name : OwDisplayPathInfo
* Arguments :
* IN BYTE2 folder_index, BYTE2 file_index
*
* OUT
* I/O
* Return : VOID
*
* By : Kim Do Yeon
* Description : Display the the selected file info
* Revision : 1.0
******************************************************************************
*/
VOID OwDisplayPathInfo(BYTE2 folder_index, BYTE2 file_index)
{
CHAR temp[MMP_PATH_FOLDER_LENGTH + MMP_PATH_FILE_LENGTH + 1];
CHAR file_str[MMP_PATH_FILE_LENGTH +1];
if((folder_index == MMP_NO_SELECTION) && (file_index == MMP_NO_SELECTION))
temp[0] = '\0';
else
{
BYTE2 str_length, str_width;
if(folder_index == MMP_NO_SELECTION)
strcpy(temp, "");
else
MmpGetCurFolderName(temp, folder_index);
/* clear on attaching '\0' to end path string */
if(file_index != MMP_NO_SELECTION)
{
MmpGetCurFileName(file_str, file_index);
strcat(temp, file_str);
}
/* Remained OSD string */
#if (!_APP_CAP_OSD_CHINESE_FOLDER_FILENAME)
SH_GfxGetStrSize((CHAR*)temp, &str_width, NULL);
str_length= strlen(temp); /* str_size = how many characters */
while(str_width >= (620-200-67-2)) // Qian liping 060410
{
temp[--str_length] = '\0';
SH_GfxGetStrSize((CHAR*)temp, &str_width, NULL);
}
#else //_APP_CAP_OSD_CHINESE_FOLDER_FILENAME
SH_GfxSetStrWidthLimitSubtitle(temp, (620-200-67-2));
#endif //_APP_CAP_OSD_CHINESE_FOLDER_FILENAME
}
SH_GfxDrawRec(SH_CANV1, 200+67, 50, 620-200-67-2, 40, COLOR_TRANS_BLUE);// Qian liping 060410
#if (!_APP_CAP_OSD_CHINESE_FOLDER_FILENAME)
SH_GfxDrawStr(SH_CANV1, temp, 200+67, 56, OSD_COLOR_FONT_HIGHLIGHT);
#else //_APP_CAP_OSD_CHINESE_FOLDER_FILENAME
SH_GfxDrawSubtitle(SH_CANV1, temp, 200+67, 56, OSD_COLOR_FONT_HIGHLIGHT);
#endif //_APP_CAP_OSD_CHINESE_FOLDER_FILENAME
}
#if _APP_CAP_FUNC_REMAIN_TIME
/******************************************************************************
* Function name : OwUpdateExploreTimeInfo
* Arguments :
* IN
*
* OUT VOID
* I/O
* Return : VOID
*
* By : Kim Do Yeon
* Description : Update the time informtion
* Revision : 1.0
******************************************************************************
*/
VOID OwUpdateExploreTimeInfo(VOID)
{
CHAR time_info_str[20], time_remain_str[20];
if(GetDisplayMainState() != DISPLAY_EXPLORER)
return;
if(gOSD_state.etExp_state.etInfo1 != EXPLORER_MODE_INFO1HIDE)
{
MmpGetCurTimeStr(time_info_str, time_remain_str);
#if _APP_CAP_FUNC_AUD_TIME_SEARCH /* (gaoping , 060413) */
if(gOSD_state.etInfo_sub== INFO1_MMN_SUB_TIME)
GetTimeString(&(gMain_state.value), time_info_str);
#endif
SH_GfxDrawRec(SH_CANV1, 407+35, 8, 103, 30, COLOR_TRANS_BLUE);
//gaoping 20060406
if(gOSD_state.etExp_state.etInfo1 == EXPLORER_MODE_INFO1NORMAL ||gOSD_state.etExp_state.etInfo1 == EXPLORER_MODE_INFO1SEARCH)
{
#if _APP_CAP_FUNC_AUD_TIME_SEARCH /* (gaoping , 060413) */
if(gOSD_state.etInfo_sub== INFO1_MMN_SUB_TIME)
SH_GfxDrawStr(SH_CANV1, time_info_str, 407+35, 8, OSD_COLOR_FONT_HIGHLIGHT);
else
#endif
/* Time Info */
SH_GfxDrawStr(SH_CANV1, time_info_str, 407+35, 8, NULL);
}
else
{
/* Time Info */
SH_GfxDrawRec(SH_CANV1, 217+35, 8, 155, 30, COLOR_TRANS_BLUE);
SH_GfxDrawStr(SH_CANV1, time_info_str, 217+35, 8, NULL);
/* Remain time Info */
SH_GfxDrawStr(SH_CANV1, time_remain_str, 407+35, 8, NULL);
}
}
}
#else /* _APP_CAP_FUNC_REMAIN_TIME */
/******************************************************************************
* Function name : OwUpdateExploreTimeInfo
* Arguments :
* IN UINT cur_time, UINT total_time
*
* OUT
* I/O VOID
* Return :
* VOID
* By : Kim Do Yeon
* Description :
* Revision :
******************************************************************************
*/
VOID OwUpdateExploreTimeInfo(VOID)
{
CHAR time_info_str[20];
/* <<< @: 5008CHN-XXX.Lu Shuai 050714 : Don't update time when MMP_INFO1_NONE*/
#if _APP_CAP_OSD_MMP_INFO1_BLANK
if (gOSD_state.etExp_state.etInfo1 != EXPLORER_MODE_INFO1HIDE)
#endif
{
MmpGetCurTimeStr(time_info_str, NULL);
/* Time Info */
SH_GfxDrawRec(SH_CANV1, 407+35, 8, 103, 30, COLOR_TRANS_BLUE);
SH_GfxDrawStr(SH_CANV1, time_info_str, 407+35, 8, NULL);
}
}
#endif /* _APP_CAP_FUNC_REMAIN_TIME */
/******************************************************************************
* Function name : OwSetDigitFormat
* Arguments :
* IN BYTE2 value, BYTE2 total, CHAR *str
*
* OUT
* I/O
* Return : STATIC VOID
*
* By : Kim Do Yeon
* Description :
* Revision :
******************************************************************************
*/
STATIC VOID OwSetDigitFormat(BYTE2 value, BYTE2 total, CHAR *str)
{
if((value != MMP_NO_SELECTION) && (value > MMP_MAX_INPUT_NUM))
{
value = 0;
}
if(value == MMP_NO_SELECTION)
{
if(total/1000) // 4 digit
sprintf(str,"---- /%d", total);
else if(total/100) // 3 digit
sprintf(str,"--- /%d", total);
else if(total/10) // 2 digit
sprintf(str,"-- /%d", total);
else // 1 digit
sprintf(str,"- /%d", total);
}
else
{
sprintf(str,"%3d /%3d", value, total);
}
}
/******************************************************************************
* Function name : OwUpdateExpFolderInfo
* Arguments :
* IN BYTE2 value, BYTE2 total
*
* OUT
* I/O
* Return :
* VOID
* By : Kim Do Yeon
* Description :
* Revision :
******************************************************************************
*/
VOID OwUpdateExpFolderInfo(BYTE2 value, BYTE2 total)
{
CHAR info_str[20];
// cydrain 20060415
if (gOSD_state.etExp_state.etInfo1 == EXPLORER_MODE_INFO1REMAIN || gOSD_state.etExp_state.etInfo1 == EXPLORER_MODE_INFO1HIDE)
return;
OwSetDigitFormat( value, total, info_str);
SH_GfxDrawRec( SH_CANV1, 57+35, 8, 125, 30, COLOR_TRANS_BLUE);
#if 1 // cydrain 20060907
if (gOSD_state.etExp_state.etInfo1== EXPLORER_MODE_INFO1SEARCH
&& gOSD_state.etInfo_sub == INFO1_MMN_SUB_FOLDER)
SH_GfxDrawStr( SH_CANV1, info_str, 57+35, 8,OSD_COLOR_FONT_HIGHLIGHT );
else
SH_GfxDrawStr( SH_CANV1, info_str, 57+35, 8, NULL);
#else
//gaoping 20060406
if (gOSD_state.etExp_state.etInfo1== EXPLORER_MODE_INFO1NORMAL)
SH_GfxDrawStr( SH_CANV1, info_str, 57+35, 8, NULL);
else if (gOSD_state.etExp_state.etInfo1== EXPLORER_MODE_INFO1SEARCH)
SH_GfxDrawStr( SH_CANV1, info_str, 57+35, 8, OSD_COLOR_FONT_HIGHLIGHT);
#endif
}
/******************************************************************************
* Function name : OwUpdateExpFileInfo
* Arguments :
* IN BYTE2 value, BYTE2 total
*
* OUT
* I/O
* Return :
* VOID
* By : Kim Do Yeon
* Description :
* Revision :
******************************************************************************
*/
VOID OwUpdateExpFileInfo(BYTE2 value, BYTE2 total)
{
CHAR info_str[20];
// cydrain 20060415
if (gOSD_state.etExp_state.etInfo1 == EXPLORER_MODE_INFO1REMAIN || gOSD_state.etExp_state.etInfo1 == EXPLORER_MODE_INFO1HIDE)
return;
OwSetDigitFormat( value, total, info_str);
SH_GfxDrawRec( SH_CANV1, 217+35, 8, 155, 30, COLOR_TRANS_BLUE);
#if 1 // cydrain 20060907
if (gOSD_state.etExp_state.etInfo1== EXPLORER_MODE_INFO1SEARCH
&& gOSD_state.etInfo_sub == INFO1_MMN_SUB_FILE)
SH_GfxDrawStr( SH_CANV1, info_str, 217+35, 8,OSD_COLOR_FONT_HIGHLIGHT );
else
SH_GfxDrawStr( SH_CANV1, info_str, 217+35, 8, NULL);
#else
//gaoping 20060406
if (gOSD_state.etExp_state.etInfo1== EXPLORER_MODE_INFO1NORMAL)
SH_GfxDrawStr( SH_CANV1, info_str, 217+35, 8, NULL);
else if (gOSD_state.etExp_state.etInfo1== EXPLORER_MODE_INFO1SEARCH)
SH_GfxDrawStr( SH_CANV1, info_str, 217+35, 8,OSD_COLOR_FONT_HIGHLIGHT );
#endif
}
/******************************************************************************
* Function name : OwMmpSetModeIcon
* Arguments :
* IN
* VOID
* OUT
* I/O
* Return :
* VOID
* By : Liu renliang
* Description : set the mode icon in explore info1 window
* Revision :
******************************************************************************
*/
VOID OwMmpSetModeIcon(VOID)
{
BYTE1 mode, mode_icon;
mode =GetMmpPbMode();
switch(mode)
{
case PARAM_PB_PROGRAM:
mode_icon = IMG_MODE_PGM;
break;
case PARAM_PB_RANDOM:
mode_icon = IMG_MODE_RAN;
break;
case PARAM_PB_INTRO:
mode_icon = IMG_MODE_INTRO;
break;
case PARAM_PB_NORMAL:
default:
mode_icon = IMG_MODE_NRM;
break;
}
if(gOSD_state.etExp_state.etInfo1 == EXPLORER_MODE_INFO1HIDE)
return;
SH_GfxDrawImage(SH_CANV1, mode_icon, 580, 8);
}
#if _APP_CAP_FUNC_AUDIO_LR_IN_MMP
/******************************************************************************
* Function name : OwMmpAudioInfoSel
* Arguments :
* IN
* BYTE1 mode_pos
* OUT
* I/O
* Return :
* VOID
* By : Kim Do Yeon
* Description : update the mode selection
* Revision : 1.0
******************************************************************************
*/
VOID OwMmpAudioInfoSel(S5H_Lrstereo_et audio_pos)
{
CHAR dis_str[MAX_SUPPORT_DYNAMIC_LENGTH];
switch(audio_pos)
{
case LRSTEREO_STEREO:
strcpy((char *)dis_str, gpStereo[MENU_LANG]);
break;
case LRSTEREO_LEFT:
strcpy((char *)dis_str, gpLeft[MENU_LANG]);
break;
case LRSTEREO_RIGHT:
strcpy((char *)dis_str, gpRight[MENU_LANG]);
break;
#if _APP_CAP_AUD_KARAOKE
case LRSTEREO_AUTO_LT:
sprintf((char *)dis_str ,"%s %s", gpAuto[MENU_LANG],gpLeft[MENU_LANG]);
break;
case LRSTEREO_AUTO_RT:
sprintf((char *)dis_str ,"%s %s", gpAuto[MENU_LANG],gpRight[MENU_LANG]);
break;
#endif
}
SH_GfxDrawRec(SH_CANV1, 8+35, 50, 260, 40, COLOR_TRANS_BLUE);
SH_GfxDrawStr(SH_CANV1, dis_str, 8+35, 56, NULL);
SH_GfxChgAreaColor(SH_CANV1, 303 , 56, 256, 30, COLOR_BROWN, COLOR_BLUE_NORM);
SH_GfxChgAreaColor(SH_CANV1, 303 + 50*audio_pos, 56, 30, 30,
COLOR_BLUE_NORM, COLOR_BROWN);
gOSD_state.etLrstereo_pos = audio_pos;
}
/******************************************************************************
* Function name : OwMmpDrawAudioInfo
* Arguments :
* IN VOID
*
* OUT
* I/O
* Return : VOID
*
* By : Kim Do Yeon
* Description :
* Revision : Draw the explore audio banner Qian liping 060413
******************************************************************************
*/
VOID OwMmpDrawAudioInfo(VOID)
{
S5H_Lrstereo_et audio_ch;
#if _APP_CAP_AUD_KARAOKE
SetupKaraoke_t karaoke;
SetupInfoGetMenuKaraoke(&karaoke);
#endif
GetLrstereoState(&audio_ch);
SH_GfxDrawRec(SH_CANV1, 2, 50, 616, 40, COLOR_TRANS_BLUE);
SH_GfxDrawImage(SH_CANV1, IMG_INFO_AUDIO, 8, 56);
SH_GfxDrawImage(SH_CANV1, IMG_AUD_STR, 303, 56);
SH_GfxDrawImage(SH_CANV1, IMG_AUD_LT, 303 + 50, 56);
SH_GfxDrawImage(SH_CANV1, IMG_AUD_RT, 303 + 50*2, 56);
#if _APP_CAP_AUD_KARAOKE
if( karaoke.mic_setup == TOGGLE_ON && (!SH_AUD_IsOutput6ch()))
{
SH_GfxDrawImage(SH_CANV1, IMG_KARA_LT, 303 + 50*3, 56);
SH_GfxDrawImage(SH_CANV1, IMG_KARA_RT, 303 + 50*4, 56);
}
#endif
OwMmpAudioInfoSel(audio_ch);
}
#endif /* _APP_CAP_FUNC_AUDIO_LR_IN_MMP */
#if _APP_CAP_FUNC_RANDOM_PLAY
/******************************************************************************
* Function name : OwMmpModeInfoSel
* Arguments :
* IN
* BYTE1 mode_pos
* OUT
* I/O
* Return :
* VOID
* By : Kim Do Yeon
* Description : update the mode selection
* Revision : 1.0
******************************************************************************
*/
VOID OwMmpModeInfoSel(BYTE1 mode_pos)
{
CHAR dis_str[MAX_SUPPORT_DYNAMIC_LENGTH];
switch (mode_pos)
{
case PARAM_PB_RANDOM:
strcpy((char *)dis_str, gpRandom[MENU_LANG]);
break;
case PARAM_PB_PROGRAM:
strcpy((char *)dis_str, gpProgram[MENU_LANG]);
break;
default:
strcpy((char *)dis_str, gpNormal[MENU_LANG]);
break;
}/* switch */
SH_GfxDrawRec(SH_CANV1, 8+35, 50, 260, 40, COLOR_TRANS_BLUE);
SH_GfxDrawStr(SH_CANV1, dis_str, 8+35, 56, NULL);
SH_GfxChgAreaColor(SH_CANV1, 303 , 56, 156, 30,
COLOR_BROWN, COLOR_BLUE_NORM);
SH_GfxChgAreaColor(SH_CANV1, 303 + 50*mode_pos, 56, 30, 30,
COLOR_BLUE_NORM, COLOR_BROWN);
gOSD_state.ecPlaymode_pos = mode_pos;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -