📄 osdvp.c
字号:
else
{
GDI_SetTextColor(TEXT_FG_COLOR, OSDVP_REGION_AST_ITEM_COLOR);
}
GDI_DRAW_STRING((OSDVP_REGION_AST_START_H+bPos), OSDVP_REGION_AST_START_V+((OSDVP_REGION_AST_HEIGHT-_wOSDVPTemp)>>1));
break;
case OSDVP_REGION_TIME:
GDI_SetTextColor(TEXT_FG_COLOR, OSDVP_REGION_TIME_COLOR);
GDI_DRAW_STRING((OSDVP_REGION_TIME_START_H+bPos), OSDVP_REGION_TIME_START_V+((OSDVP_REGION_TIME_HEIGHT-_wOSDVPTemp)>>1));
break;
/*
case OSDVP_REGION_KEY:
GDI_SetTextColor(TEXT_FG_COLOR, OSDVP_REGION_KEY_COLOR);
GDI_DRAW_STRING((OSDVP_REGION_KEY_START_H+bPos), OSDVP_REGION_KEY_START_V+((OSDVP_REGION_KEY_HEIGHT-_wOSDVPTemp)>>1));
break;
*/
case OSDVP_REGION_AUDIO:
GDI_SetTextColor(TEXT_FG_COLOR, OSDVP_REGION_AUDIO_COLOR);
GDI_DRAW_STRING((OSDVP_REGION_AUDIO_START_H+bPos), OSDVP_REGION_AUDIO_START_V+((OSDVP_REGION_AUDIO_HEIGHT-_wOSDVPTemp)>>1));
break;
/*
case OSDVP_REGION_EQUALIZER:
GDI_SetTextColor(TEXT_FG_COLOR, OSDVP_REGION_EQUALIZER_COLOR);
GDI_DRAW_STRING(OSDVP_REGION_EQUALIZER_START_H, OSDVP_REGION_EQUALIZER_START_V+((OSDVP_REGION_EQUALIZER_HEIGHT-_wOSDVPTemp)>>1));
break;
*/
case OSDVP_REGION_TVMODE:
if (bType == OSDVP_UPDATE_INFO)
{
GDI_SetTextColor(TEXT_FG_COLOR, OSDVP_PALETTE_ENTRY_REGION_TVMODE_INFO);
}
else
{
GDI_SetTextColor(TEXT_FG_COLOR, OSDVP_PALETTE_ENTRY_REGION_TVMODE_ITEM);
}
GDI_DRAW_STRING((OSDVP_REGION_TVMODE_START_H+bPos), OSDVP_REGION_TVMODE_START_V+((OSDVP_REGION_TVMODE_HEIGHT-_wOSDVPTemp)>>1));
break;
case OSDVP_REGION_TV:
GDI_SetTextColor(TEXT_FG_COLOR, OSDVP_REGION_TV_COLOR);
GDI_DRAW_STRING(OSDVP_REGION_TV_START_H, OSDVP_REGION_TV_START_V+((OSDVP_REGION_TV_HEIGHT-_wOSDVPTemp)>>1));
break;
case OSDVP_REGION_ANGLE:
if (bType == OSDVP_UPDATE_INFO)
{
GDI_SetTextColor(TEXT_FG_COLOR, OSDVP_REGION_ANGLE_INFO_COLOR);
}
else
{
GDI_SetTextColor(TEXT_FG_COLOR, OSDVP_REGION_ANGLE_ITEM_COLOR);
}
GDI_DRAW_STRING((OSDVP_REGION_ANGLE_START_H+bPos), OSDVP_REGION_ANGLE_START_V+((OSDVP_REGION_ANGLE_HEIGHT-_wOSDVPTemp)>>1));
break;
case OSDVP_REGION_STATUS:
GDI_SetTextColor(TEXT_FG_COLOR, OSDVP_REGION_STATUS_COLOR);
GDI_DRAW_STRING(OSDVP_REGION_STATUS_START_H, OSDVP_REGION_STATUS_START_V+((OSDVP_REGION_STATUS_HEIGHT-_wOSDVPTemp)>>1));
break;
case OSDVP_REGION_REPEAT:
GDI_SetTextColor(TEXT_FG_COLOR, OSDVP_REGION_REPEAT_COLOR);
GDI_DRAW_STRING(OSDVP_REGION_REPEAT_START_H, OSDVP_REGION_REPEAT_START_V+((OSDVP_REGION_REPEAT_HEIGHT-_wOSDVPTemp)>>1));
break;
case OSDVP_REGION_PROGRAM:
GDI_SetTextColor(TEXT_FG_COLOR, OSDVP_REGION_PROGRAM_COLOR);
GDI_DRAW_STRING(OSDVP_REGION_PROGRAM_START_H, OSDVP_REGION_PROGRAM_START_V+((OSDVP_REGION_PROGRAM_HEIGHT-_wOSDVPTemp)>>1));
break;
case OSDVP_REGION_MENU:
GDI_SetTextColor(TEXT_FG_COLOR, OSDVP_REGION_MENU_COLOR);
GDI_DRAW_STRING(OSDVP_REGION_MENU_START_H, OSDVP_REGION_MENU_START_V+((OSDVP_REGION_MENU_HEIGHT-_wOSDVPTemp)>>1));
break;
default:
break;
}
}
#endif // #ifndef SUPPORT_COLORFUL_DISPLAY_MODE
//***************************************************************************
// Function : _OSDVP_ShowTime
// Abstract : This function will show time.
// Arguments : wTime: The time that you want to show.
// Return : none.
// Side Effect : none.
// Notes :
//***************************************************************************
void _OSDVP_ShowTime(void)
{
_wOSDVPHPos = 0;
switch (_bOSDMsg)
{
case MSG_REMAIN_ABSTIME:
case MSG_REMAIN_RELTIME:
case MSG_REMAIN_TITLE_TIME:
case MSG_REMAIN_CHAPTER_TIME:
//show "-"
GDI_CopyCodeString(aVPRemain[OSDVP_REGION_TIME_NUMBER_INDEX]);
break;
default:
GDI_CopyCodeString(aVPTimeSpace[OSDVP_REGION_TIME_NUMBER_INDEX]);
break;
}
_OSDVP_DrawRegion(OSDVP_REGION_TIME, OSDVP_UPDATE_INFO, (BYTE)_wOSDVPHPos);
_wOSDVPHPos += GDI_GetStringWidth();
#ifdef SUPPORT_SHOW_TIME_ONCE
OSD_ShowHourMinSec(OSDVP_REGION_TIME_NUMBER_INDEX);
_OSDVP_DrawRegion(OSDVP_REGION_TIME, OSDVP_UPDATE_INFO, (BYTE)_wOSDVPHPos);
#else
if (_wOSDVPShowTime != gcShowStatus.wCurrentTime)
{
if (_wOSDVPShowTime > gcShowStatus.wCurrentTime)
{
if ((_wOSDVPShowTime - gcShowStatus.wCurrentTime) > 1)
_bOSDVPShowAllTime = TRUE;
}
else if (gcShowStatus.wCurrentTime > _wOSDVPShowTime)
{
if ((gcShowStatus.wCurrentTime - _wOSDVPShowTime) > 1)
_bOSDVPShowAllTime = TRUE;
}
_bOSDIndex = 1;
//show "hour"
_OSD_ShowTimeNum((BYTE)(HIBYTE(gcShowStatus.wCurrentTime)/60), OSDVP_REGION_TIME_NUMBER_INDEX);
//show ":"
__wGDIString[_bOSDIndex] = aMouhow[OSDVP_REGION_TIME_NUMBER_INDEX];
__wGDIString[0] = _bOSDIndex;
if (_bOSDVPShowAllTime || ((HIBYTE(gcShowStatus.wCurrentTime)/60) != (HIBYTE(_wOSDVPShowTime)/60)))
{
_OSDVP_DrawRegion(OSDVP_REGION_TIME, OSDVP_UPDATE_INFO, (BYTE)_wOSDVPHPos);
Service_420();
}
_wOSDVPHPos += GDI_GetStringWidth();
//show "Minute"
_bOSDIndex = 1;
_OSD_ShowTimeNum((BYTE)(HIBYTE(gcShowStatus.wCurrentTime)%60), OSDVP_REGION_TIME_NUMBER_INDEX);
//show ":"
__wGDIString[_bOSDIndex] = aMouhow[OSDVP_REGION_TIME_NUMBER_INDEX];
__wGDIString[0] = _bOSDIndex;
if (_bOSDVPShowAllTime || ((HIBYTE(gcShowStatus.wCurrentTime)%60) != (HIBYTE(_wOSDVPShowTime)%60)))
{
_OSDVP_DrawRegion(OSDVP_REGION_TIME, OSDVP_UPDATE_INFO, (BYTE)_wOSDVPHPos);
Service_420();
}
_wOSDVPHPos += GDI_GetStringWidth();
//show "second"
_bOSDIndex = 1;
_OSD_ShowTimeNum((BYTE)(LOBYTE(gcShowStatus.wCurrentTime)), OSDVP_REGION_TIME_NUMBER_INDEX);
if (_bOSDVPShowAllTime || ((LOBYTE(gcShowStatus.wCurrentTime)) != (LOBYTE(_wOSDVPShowTime))))
{
_OSDVP_DrawRegion(OSDVP_REGION_TIME, OSDVP_UPDATE_INFO, (BYTE)_wOSDVPHPos);
}
}
#endif
_wOSDVPShowTime = gcShowStatus.wCurrentTime;
_bOSDVPShowAllTime = FALSE;
}
//***************************************************************************
// Function : _OSDVP_CodeToLanguage
// Abstract : This function will output the country according to wCode.
// Arguments : wCode: The code that you want to transform.
// Return : none.
// Side Effect : none.
// Notes :
//***************************************************************************
void _OSDVP_CodeToLanguage(WORD wCode)
{
#ifdef SAMLL_DISPLAY_MODE_2
switch(wCode)
{
case 0x6a61: // Japanese, 'ja'
GDI_CopyCodeString(aVPSimpleJapanese);
break;
case 0x656e: // English, 'en'
GDI_CopyCodeString(aVPSimpleEnglish);
break;
case 0x6672: // French, 'fr'
GDI_CopyCodeString(aVPSimpleFrench);
break;
case 0x6465: // German, 'de'
GDI_CopyCodeString(aVPSimpleGerman);
break;
case 0x7275: // Russian, 'ru'
GDI_CopyCodeString(aVPSimpleRussian);
break;
case 0x7a68: // Chinese, 'zh'
GDI_CopyCodeString(aVPSimpleChinese);
break;
case 0x6b6f: // Korean, 'ko'
GDI_CopyCodeString(aVPSimpleKorean);
break;
case 0x6869: // Hindi, 'hi'
GDI_CopyCodeString(aVPSimpleHindi);
break;
case 0x7468: // Thai, 'th'
GDI_CopyCodeString(aVPSimpleThai);
break;
case 0x6974: // Italian, 'it'
GDI_CopyCodeString(aVPSimpleItalian);
break;
case 0x6573: // Spanish, 'es'
GDI_CopyCodeString(aVPSimpleSpanish);
break;
case 0x7074: // Portuguese, 'pt'
GDI_CopyCodeString(aVPSimplePortuguese);
break;
case 0x6e6c: // Dutch, 'nl'
GDI_CopyCodeString(aVPSimpleDutch);
break;
case 0x656c: // Greek, 'el'
GDI_CopyCodeString(aVPSimpleGreek);
break;
case 0x6c61: // Latin, 'la'
GDI_CopyCodeString(aVPSimpleLatin);
break;
case 0x6e6f: // Norwegian, 'no'
GDI_CopyCodeString(aVPSimpleNorwegian);
break;
case 0x6461: // Danish, 'da'
GDI_CopyCodeString(aVPSimpleDanish);
break;
case 0x6669: // Finnish, 'fi'
GDI_CopyCodeString(aVPSimpleFinnish);
break;
case 0x7376: // Swedish, 'sv'
GDI_CopyCodeString(aVPSimpleSwedish);
break;
case 0x6875: // Hungarian, 'hu'
GDI_CopyCodeString(aVPSimpleHungarian);
break;
case 0x706c: // Polish, 'pl'
GDI_CopyCodeString(aVPSimplePolish);
break;
case 0x6973: // Icelandic, 'is'
GDI_CopyCodeString(aVPSimpleIcelandic);
break;
case 0x6977: // Hebrew, 'iw'
GDI_CopyCodeString(aVPSimpleHebrew);
break;
case 0x6373: // Czech, 'cs'
GDI_CopyCodeString(aVPSimpleCzech);
break;
case 0x6172: // Arabic, 'ar'
GDI_CopyCodeString(aVPSimpleArabic);
break;
case 0x6d73: // Malay, 'ms'
GDI_CopyCodeString(aVPSimpleMalay);
break;
case 0x696e: // Indonesian, 'in'
GDI_CopyCodeString(aVPSimpleIndonesian);
break;
case 0x6865: // Hebrew, 'he' **** Is it 'heb' or 'her'
GDI_CopyCodeString(aVPSimpleHebrew);
break;
case 0x7472: // Turkish, 'tr'
GDI_CopyCodeString(aVPSimpleTurkish);
break;
case 0x6872: // Croatian, 'hr'
GDI_CopyCodeString(aVPSimpleCroatian);
break;
case 0x6267: // Bulgarian, 'bg'
GDI_CopyCodeString(aVPSimpleBulgarian);
break;
default:
GDI_CopyCodeString(aVPSimpleOthers);
break;
}
#else
switch(wCode)
{
case 0x6a61: // Japanese, 'ja'
GDI_CopyCodeString(aVPLanguageJapanese[_bOSDLang]);
break;
case 0x656e: // English, 'en'
GDI_CopyCodeString(aVPLanguageEnglish[_bOSDLang]);
break;
case 0x6672: // French, 'fr'
GDI_CopyCodeString(aVPLanguageFrench[_bOSDLang]);
break;
case 0x6465: // German, 'de'
GDI_CopyCodeString(aVPLanguageGerman[_bOSDLang]);
break;
case 0x7275: // Russian, 'ru'
GDI_CopyCodeString(aVPLanguageRussian[_bOSDLang]);
break;
case 0x7a68: // Chinese, 'zh'
GDI_CopyCodeString(aVPLanguageChinese[_bOSDLang]);
break;
case 0x6b6f: // Korean, 'ko'
GDI_CopyCodeString(aVPLanguageKorean[_bOSDLang]);
break;
case 0x6869: // Hindi, 'hi'
GDI_CopyCodeString(aVPLanguageHindi[_bOSDLang]);
break;
case 0x7468: // Thai, 'th'
GDI_CopyCodeString(aVPLanguageThai[_bOSDLang]);
break;
case 0x6974: // Italian, 'it'
GDI_CopyCodeString(aVPLanguageItalian[_bOSDLang]);
break;
case 0x6573: // Spanish, 'es'
GDI_CopyCodeString(aVPLanguageSpanish[_bOSDLang]);
break;
case 0x7074: // Portuguese, 'pt'
GDI_CopyCodeString(aVPLanguagePortuguese[_bOSDLang]);
break;
case 0x6e6c: // Dutch, 'nl'
GDI_CopyCodeString(aVPLanguageDutch);
break;
case 0x656c: // Greek, 'el'
GDI_CopyCodeString(aVPLanguageGreek);
break;
case 0x6c61: // Latin, 'la'
GDI_CopyCodeString(aVPLanguageLatin);
break;
case 0x6e6f: // Norwegian, 'no'
GDI_CopyCodeString(aVPLanguageNorwegian);
break;
case 0x6461: // Danish, 'da'
GDI_CopyCodeString(aVPLanguageDanish);
break;
case 0x6669: // Finnish, 'fi'
GDI_CopyCodeString(aVPLanguageFinnish);
break;
case 0x7376: // Swedish, 'sv'
GDI_CopyCodeString(aVPLanguageSwedish);
break;
case 0x6875: // Hungarian, 'hu'
GDI_CopyCodeString(aVPLanguageHungarian);
break;
case 0x706c: // Polish, 'pl'
GDI_CopyCodeString(aVPLanugagePolish);
break;
case 0x6973: // Icelandic, 'is'
GDI_CopyCodeString(aVPLanguageIcelandic);
break;
case 0x6977: // Hebrew, 'iw'
GDI_CopyCodeString(aVPLanguageHebrew);
break;
case 0x6373: // Czech, 'cs'
GDI_CopyCodeString(aVPLanguageCzech);
break;
case 0x6172: // Arabic, 'ar'
GDI_CopyCodeString(aVPLanguageArabic);
break;
case 0x6d73: // Malay, 'ms'
GDI_CopyCodeString(aVPLanguageMalay);
break;
case 0x696e: // Indonesian, 'in'
GDI_CopyCodeString(aVPLanguageIndonesian);
break;
case 0x6865: // Hebrew, 'he' **** Is it 'heb' or 'her'
GDI_CopyCodeString(aVPLanguageHebrew);
break;
case 0x7472: // Turkish, 'tr'
GDI_CopyCodeString(aVPLanguageTurkish);
break;
case 0x6872: // Croatian, 'hr'
GDI_CopyCodeString(aVPLanguageCroatian);
break;
case 0x6267: // Bulgarian, 'bg'
GDI_CopyCodeString(aVPLanguageBulgarian);
break;
default:
GDI_CopyCodeString(aVPLanguageOthers[_bOSDLang]);
break;
}
#endif
}
//***************************************************************************
// Function : _OSDVP_ShowPlayingStatus
// Abstract : This function will show playing status.
// Arguments : none.
// Return : none.
// Side Effect : none.
// Notes :
//***************************************************************************
void _OSDVP_ShowPlayingStatus(void)
{
switch (gcShowStatus.bPlayingMode)
{
case MSG_STOP:
if (__bCountStop == 1) //pre-stop
GDI_CopyCodeString(aVPPreStopSymbol);
else
GDI_CopyCodeString(aVPStopSymbol);
break;
case MSG_PAUSE:
GDI_CopyCodeString(aVPPauseSymbol);
break;
case MSG_STEP:
GDI_CopyCodeString(aVPStepSymbol);
break;
case MSG_FAST:
case MSG_SCANFORWARD:
GDI_CopyCodeString(aVPSCFSymbol);
break;
case MSG_SCANBACKWARD:
GDI_CopyCodeString(aVPSCBSymbol);
break;
case MSG_SLOW:
GDI_CopyCodeString(aVPSlowSymbol);
break;
default: //always treat it as playing mode.
GDI_CopyCodeString(aVPPlaySymbol);
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -