⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 osdvp.c

📁 车载电子影音系统dvd播放系统原程序代码
💻 C
📖 第 1 页 / 共 4 页
字号:
        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 + -