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

📄 osdnd.c

📁 车载电子影音系统dvd播放系统原程序代码
💻 C
📖 第 1 页 / 共 5 页
字号:
        {
            _OSDND_OutputTextEx(aNDinterlace[_bOSDLang]);
        }
        break;
    case MSG_SCANFORWARD:
    case MSG_SCANBACKWARD:
    case MSG_SLOW:
        //Kevin1.07aMP3FF, MP3 supports FF
        //if (__wDiscType & CDROM_M1)
        if ((__wDiscType&CDROM_M1) && (__bAttrPlay == ATTR_JPG))
        {
            //CoCo1.07, modify the time for JPEG slide show
            _OSDND_ShowSlideTransitionTime();
        }
        else
        {
            _OSDND_ShowPlayAction();
        }
        break;
	case MSG_INTRO:
		_OSDND_OutputTextEx(aNDIntro);
		break;
	case MSG_FULLSCREEN:
        if (_wOSDInfo)
        {
            _OSDND_OutputTextEx(aNDFullScreenOn);        
        }
        else
        {
            _OSDND_OutputTextEx(aNDFullScreenOff);        
        }
        break;
    default:
        break;
    }
}

//***************************************************************************
//  Function    :   _OSDND_ShowNext
//  Abstract    :   This function will show "Next" info.
//  Arguments   :   none.
//  Return		:   none.
//  Side Effect :   none.
//  Notes       :   
//***************************************************************************
void _OSDND_ShowNext(void)
{
    switch (_wOSDInfo)
    {
    case OSD_NEXT_PREV_CHAPTER:
         _OSDND_OutputTextEx(aNDNextChapter[_bOSDLang]);
        break;
    case OSD_NEXT_PREV_PAGE:
		_OSDND_OutputTextEx(aNDNextPage[_bOSDLang]);
        break;
    case OSD_NEXT_PREV_ALBUM:
		_OSDND_OutputTextEx(aNDNextAlbum[_bOSDLang]);
        break;
    case OSD_NEXT_PREV_TRACK:
    default:
#ifdef SHOW_6_DISPLAY_MODE
        if(__wDiscType & BOOK_M1)//XULI1015
        {
            _OSDND_OutputTextEx(aNDNextFile[_bOSDLang]);
        }
        else
        {
            _OSDND_OutputTextEx(aNDNextTrack[_bOSDLang]);
        }
#else		
        _OSDND_OutputTextEx(aNDNextTrack[_bOSDLang]);
#endif        
        break;
    }
}

//***************************************************************************
//  Function    :   _OSDND_ShowPrevious
//  Abstract    :   This function will show "Previous" info.
//  Arguments   :   none.
//  Return		:   none.
//  Side Effect :   none.
//  Notes       :   
//***************************************************************************
void _OSDND_ShowPrevious(void)
{
    switch (_wOSDInfo)
    {
    case OSD_NEXT_PREV_CHAPTER:
         _OSDND_OutputTextEx(aNDPrevChapter[_bOSDLang]);
        break;
    case OSD_NEXT_PREV_PAGE:
         _OSDND_OutputTextEx(aNDPrevPage[_bOSDLang]);
        break;
    case OSD_NEXT_PREV_ALBUM:
         _OSDND_OutputTextEx(aNDPrevAlbum[_bOSDLang]);
        break;
    case OSD_NEXT_PREV_TRACK:
    default:
#ifndef SHOW_6_DISPLAY_MODE		
        _OSDND_OutputTextEx(aNDPrevTrack[_bOSDLang]);
#else
        if(__wDiscType & BOOK_M1) //XULI1015
        {
            _OSDND_OutputTextEx(aNDPrevFile[_bOSDLang]);
        }
        else
        {
            _OSDND_OutputTextEx(aNDPrevTrack[_bOSDLang]);
        }
#endif        
        break;
    }
}

//***************************************************************************
//  Function    :   _OSDND_ShowRepeatState
//  Abstract    :   This function will show the state of "repeat".
//  Arguments   :   none.
//  Return		:   none.
//  Side Effect :   none.
//  Notes       :   
//***************************************************************************
void _OSDND_ShowRepeatState(void)
{
    switch (_wOSDInfo)
    {
    case REPEAT_NONE:
         _OSDND_OutputTextEx(aNDRepeatNone[_bOSDLang]);
        break;
    case REPEAT_TRACK:
         _OSDND_OutputTextEx(aNDRepeatTrack[_bOSDLang]);
        break;
    case REPEAT_DISC:
         _OSDND_OutputTextEx(aNDRepeatDisc[_bOSDLang]);
        break;
        /* --CoCo2.31, no one set this setting.s
    case REPEAT_ALLDISCS:
         _OSDND_OutputTextEx(aNDRepeatAll[_bOSDLang]);
        break;
        */
    case REPEAT_TITLE:
         _OSDND_OutputTextEx(aNDRepeatTitle[_bOSDLang]);
        break;
    case REPEAT_CHAPTER:
         _OSDND_OutputTextEx(aNDRepeatChapter[_bOSDLang]);
        break;
    case REPEAT_FOLDER:
         _OSDND_OutputTextEx(aNDRepeatFolder[_bOSDLang]);
        break;
    default:
        break;
    }
}

//***************************************************************************
//  Function    :   _OSDND_ShowRepeatABState
//  Abstract    :   This function will show the state of "Repeat A-B".
//  Arguments   :   none.
//  Return		:   none.
//  Side Effect :   none.
//  Notes       :   
//***************************************************************************
void _OSDND_ShowRepeatABState(void)
{
    switch (_wOSDInfo)
    {
    case REPEAT_A:
        _OSDND_OutputTextEx(aNDRepeatA[_bOSDLang]);
        break;    
    case REPEAT_AB:
        _OSDND_OutputTextEx(aNDRepeatAB[_bOSDLang]);
        break;
    default:
        _OSDND_OutputTextEx(aNDRepeatNone[_bOSDLang]);
        break;
    }
}

//***************************************************************************
//  Function    :   _OSDND_ShowPBC
//  Abstract    :   This function will show the state of PBC according to gcShowStatus.bPBCMode
//              :   and __wDiscType.
//  Arguments   :   none.
//  Return		:   none.
//  Side Effect :   none.
//  Notes       :   
//***************************************************************************
void _OSDND_ShowPBC(void)
{
    if (__wDiscType & BOOK_DVD)
    {
        if (gcShowStatus.bPBCMode)
        {
             _OSDND_OutputTextEx(aNDNavigateOn[_bOSDLang]);
        }
        else
        {
             _OSDND_OutputTextEx(aNDNavigateOff[_bOSDLang]);
        }
    }
    else
    {
        if (gcShowStatus.bPBCMode)
        {
             _OSDND_OutputTextEx(aNDPBCOn[_bOSDLang]);
        }
        else
        {
             _OSDND_OutputTextEx(aNDPBCOff[_bOSDLang]);
        }
    }
}

//***************************************************************************
//  Function    :   _OSDND_ShowTVMode
//  Abstract    :   This function will show the TV mode according to gcShowStatus.bTVMODE.
//  Arguments   :   none.
//  Return		:   none.
//  Side Effect :   none.
//  Notes       :   
//***************************************************************************
void _OSDND_ShowTVMode(void)
{
    switch (gcShowStatus.bTVMODE)
    {
    case SETUP_SCREEN_TV_SYSTEM_NTSC:
         _OSDND_OutputTextEx(aNDNTSC);
        break;
    case SETUP_SCREEN_TV_SYSTEM_AUTO:
         _OSDND_OutputTextEx(aNDAuto);
        break;
    case SETUP_SCREEN_TV_SYSTEM_PAL:
         _OSDND_OutputTextEx(aNDPAL);
        break;
    case SETUP_SCREEN_TV_SYSTEM_PAL_M:
         _OSDND_OutputTextEx(aNDPALM);
        break;
    case SETUP_SCREEN_TV_SYSTEM_PAL_N:
         _OSDND_OutputTextEx(aNDPALN);
        break;
    }
}

//***************************************************************************
//  Function    :   _OSDND_ShowZoomState
//  Abstract    :   This function will show the state of the zoom.
//  Arguments   :   none.
//  Return		:   none.
//  Side Effect :   none.
//  Notes       :   
//***************************************************************************
void _OSDND_ShowZoomState(void)
{
    switch (_wOSDInfo)
    {
    //case VIEW_NORMAL:
    case VIEW_ZOOMX1:
         _OSDND_OutputTextEx(aNDZoom1[_bOSDLang]);
        break;
    case VIEW_ZOOMX2:
         _OSDND_OutputTextEx(aNDZoom2[_bOSDLang]);
        break;
    case VIEW_ZOOMX4:
         _OSDND_OutputTextEx(aNDZoom4[_bOSDLang]);
        break;
        //For JPEG
    case VIEW_ZOOM25:
         _OSDND_OutputTextEx(aNDZoom25);
        break;
    case VIEW_ZOOM50:
         _OSDND_OutputTextEx(aNDZoom50);
        break;
    case VIEW_ZOOM100:
         _OSDND_OutputTextEx(aNDZoom100);
        break;
    case VIEW_ZOOM150:
         _OSDND_OutputTextEx(aNDZoom150);
        break;
    case VIEW_ZOOM200:
         _OSDND_OutputTextEx(aNDZoom200);
        break;
    case VIEW_ZOOM_LEFT:
         _OSDND_OutputTextEx(aNDMoveLeft[_bOSDLang]);
        break;
    case VIEW_ZOOM_RIGHT:
         _OSDND_OutputTextEx(aNDMoveRight[_bOSDLang]);
        break;
    case VIEW_ZOOM_UP:
         _OSDND_OutputTextEx(aNDMoveUp[_bOSDLang]);
        break;
    case VIEW_ZOOM_DOWN:
         _OSDND_OutputTextEx(aNDMoveDown[_bOSDLang]);
        break;
    default:
        break;
    }
}

//***************************************************************************
//  Function    :   _OSDND_ShowVideooutput
//  Abstract    :   This function will show video output according to SETUP's value.
//  Arguments   :   none.
//  Return		:   none.
//  Side Effect :   none.
//  Notes       :   
//***************************************************************************
void _OSDND_ShowVideoOutput(void)
{
    switch (__SetupInfo.bVideoOutput)
    {
    case SETUP_SCREEN_VIDEO_OUTPUT_NORMAL:
        _OSDND_OutputTextEx(aNDNormal[_bOSDLang]);
        break;
    case SETUP_SCREEN_VIDEO_OUTPUT_RGB:
        _OSDND_OutputTextEx(aNDRGB);
        break;
    case SETUP_SCREEN_VIDEO_OUTPUT_YUV:
        _OSDND_OutputTextEx(aNDYUV);
        break;
    case SETUP_SCREEN_VIDEO_OUTPUT_YUV_PSCAN:
        _OSDND_OutputTextEx(aNDYUVPSCAN);
        break;
    case SETUP_SCREEN_VIDEO_OUTPUT_RGB_PSCAN:
        _OSDND_OutputTextEx(aNDRGBPSCAN);
        break;
    case SETUP_SCREEN_VIDEO_OUTPUT_VGA:
        _OSDND_OutputTextEx(aNDVGA);
        break;
    default:
        break;
    }    
}

//***************************************************************************
//  Function    :   _OSDND_ShowWaitingState
//  Abstract    :   This function will show waiting
//  Arguments   :   none.
//  Return		:   The end of the position to show "Loading".
//  Side Effect :   none.
//  Notes       :   
//***************************************************************************
BYTE _OSDND_ShowWaitingState(void)
{
#ifdef  SHOW_LOADING_STATUS
    _bWaitingCnt++;
    if (_bWaitingCnt > 3)
        _bWaitingCnt = 1;
#else   
    _bWaitingCnt = 3;
#endif

    for (__bTemp = 0; __bTemp < (OSDND_MAX_DOT_NUM_FOR_LOADING*2); __bTemp+=2)
    {
        __wGDIString[__bTemp+1] = CHAR_SPACE8; //aSpace[OSDND_FONT_INDEX];
        __wGDIString[__bTemp+2] = aDot[OSDND_FONT_INDEX];
    }

    __wGDIString[0] = OSDND_MAX_DOT_NUM_FOR_LOADING << 1;

    _bOSDVPTemp = _bWaitingCnt;

    while (_bOSDVPTemp < OSDND_MAX_DOT_NUM_FOR_LOADING)
    {
        __wGDIString[__bTemp--] = CHAR_SPACE8;
        __wGDIString[__bTemp--] = CHAR_SPACE8;
        _bOSDVPTemp++;
    }

    _bOSDVPTemp = (BYTE)GDI_GetStringWidth();

    return _bOSDVPTemp;
}

//***************************************************************************
//  Function    :   _OSDND_ShowVocal
//  Abstract    :   
//  Arguments   :   none.
//  Return		:   none.
//  Side Effect :   none.
//  Notes       :   
//***************************************************************************
void _OSDND_ShowVocal(void)
{  
    switch (_wOSDInfo)
    {
    case VOCAL_ON:
        _OSDND_OutputTextEx(aNDVocalOn[_bOSDLang]);
        break;
    case VOCAL_LL:
        _OSDND_OutputTextEx(aNDVocalLL[_bOSDLang]);
        break;
    case VOCAL_RR:
        _OSDND_OutputTextEx(aNDVocalRR[_bOSDLang]);
        break;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -