📄 osdnd.c
字号:
return; case MSG_ECHO: _OSDND_ShowEcho(); return; case MSG_SURROUND: _OSDND_ShowSurround(); break; case MSG_3D: _OSDND_Show3D(); break; case MSG_ANGLE_CTL:
if (__SetupInfo.bAngleMarkDisplay == SETUP_CUSTOM_ANGLE_MARK_ON)
{ _OSDND_ShowAngle();
}
else
return; break;
case MSG_AST_CTL: _OSDND_ShowAST();
break; case MSG_SPST_CTL: if (__bSPSTNs) // exist SP { _OSDND_ShowSPST(); } else return; break; case MSG_PROGRESS: //CoCo1.10, support progress bar _OSDND_ShowProgressBar(); return; default: break; } //GDI_DrawString_909(0, &__OSDNDBottomMsgAttr, __pOSDUTLOutputString); _OSDND_OutputBottomString(); if (_bOSDNDMsg == MSG_MUTE) { //Set to default state to prevent the string attributes are modified by icon. __OSDNDBottomMsgAttr.bShadow1 = __OSDNDTempStringAttr.bShadow1; __OSDNDBottomMsgAttr.bShadow2 = __OSDNDTempStringAttr.bShadow2; __OSDNDBottomMsgAttr.bTextColor = __OSDNDTempStringAttr.bTextColor; }}//***************************************************************************// Function : OSDND_ClearRegion// Abstract : This function will clear the region.// Arguments : bRegion: The region you want to clear.// Return : none.// Side Effect : none.// Notes : //***************************************************************************void OSDND_ClearRegion(BYTE bRegion){#ifdef SUPPORT_STB if (__bChooseMedia == MEDIA_SELECT_STB) return;#endif // switch (bRegion) { case OSD_ND_UPPER_RIGHT_REGION: _OSDNDRect.rect.wLeft = OSDND_UPPER_BACKGROUND_START_H; //_OSDNDRect.rect.wTop = OSDND_UPPER_BACKGROUND_START_V; //CoCo1.10, support OSD dynamic region _OSDNDRect.rect.wTop = __OSDNDUpMsgAttr.wY; _OSDNDRect.rect.wRight = OSDND_UPPER_BACKGROUND_RIGHT; _OSDNDRect.rect.wBottom = OSDND_UPPER_BACKGROUND_BOTTOM; break; case OSD_ND_BOTTOM_REGION: _OSDNDRect.rect.wLeft = OSDND_BOTTOM_BACKGROUND_START_H; //_OSDNDRect.rect.wTop = OSDND_BOTTOM_BACKGROUND_START_V; //CoCo1.10, support OSD dynamic region _OSDNDRect.rect.wTop = __OSDNDBottomMsgAttr.wY; _OSDNDRect.rect.wRight = OSDND_BOTTOM_BACKGROUND_START_RIGHT; _OSDNDRect.rect.wBottom = _OSDNDRect.rect.wTop+ OSDND_BOTTOM_BACKGROUND_HEIGHT; //CoCo1.20, put the normal bottom meesage to be lower in PAL mode. break; default: return; } _OSDNDRect.bColor = PAL_ENTRY_COLOR_TRANSPARENT; GDI_FillRect_909(0, &_OSDNDRect);}//***************************************************************************// Function : _OSDND_ShowDiscType// Abstract : This function will show disc type according to __wDiscType.// Arguments : none.// Return : none.// Side Effect : none.// Notes : //***************************************************************************void _OSDND_ShowDiscType(void){ if (__wDiscType & BOOK_DVD) { __pOSDUTLOutputString = aNDDVD; } else if (__wDiscType & BOOK_VCD) // include VCD1.0/ VCD1.1/ VCD2.0/ SVCD/ CVD { // check VCD title version if (__wDiscType & BOOK_SVCD) __pOSDUTLOutputString = aNDSVCD; else if(__wDiscType & BOOK_CVD) __pOSDUTLOutputString = aNDCVD; else if(__wDiscType & VCD_2_0) { __pOSDUTLOutputString = aNDVCD20; } else if(__wDiscType & VCD_1_1) { __pOSDUTLOutputString = aNDVCD11; } else __pOSDUTLOutputString = aNDVCD10; } else if (__wDiscType & BOOK_CDDA) { //if (__bCDDA_DTS & CDDA_DISC_DTS) if (__bCDDA_DTS == CDDA_DTS) __pOSDUTLOutputString = aNDCDDTS; //else if (__bCDDA_DTS & CDDA_DISC_HDCD) else if (__bCDDA_DTS == CDDA_HDCD) __pOSDUTLOutputString = aNDHDCD; //else if (__bCDDA_DTS & CDDA_DISC_CDG) else if (__bCDDA_DTS == CDDA_CDG) __pOSDUTLOutputString = aNDCDG; else __pOSDUTLOutputString = aNDCDDA; } else if (__wDiscType & CDROM_PICTURECD) //Kodak Picture CD { __pOSDUTLOutputString = aNDPictureCD; } else if (__wDiscType & CDROM_M1) {
#ifdef SUPPORT_POWERON_MENU
if (__bMMExtFilterMode & EXT_BIT_MP3)
{
if (__bMMExtFilterMode & EXT_BIT_JPG)
{
__pOSDUTLOutputString = aPOWERONIconPhotoMusic;
}
else
{
__pOSDUTLOutputString = aPOWERONIconMusic;
}
}
else if (__bMMExtFilterMode & EXT_BIT_JPG)
{
__pOSDUTLOutputString = aPOWERONIconPhoto;
}
else
{
__pOSDUTLOutputString = aPOWERONIconMovie;
}
#else // wyc0.80, this variable need to use bit resolution here. Also remove AC3 & MPG ext type. switch (__bMMExtFilterMode) {
case EXT_BIT_MP2: __pOSDUTLOutputString = aNDMP2; break; case EXT_BIT_MP3: __pOSDUTLOutputString = aNDMP3; break; case EXT_BIT_JPG: __pOSDUTLOutputString = aNDJPEG; break; case EXT_BIT_DAT: __pOSDUTLOutputString = aNDDAT; break; case EXT_BIT_VOB: __pOSDUTLOutputString = aNDVOB; break; case EXT_BIT_WMA: __pOSDUTLOutputString = aNDWMA; break;
default: // wyc1.21-909, use new define. if (__bChooseMedia != MEDIA_SELECT_DVD) //0==>CDROM/DVDROM, 1==>USB { __pOSDUTLOutputString = aNDUSB; } else { if (__bDVDROM) __pOSDUTLOutputString = aNDDVDROM; else __pOSDUTLOutputString = aNDCDROM; } break; }
#endif //SUPPORT_POWERON_MENU }}//***************************************************************************// Function : _OSDND_OutputKeyString// Abstract : This function will output the string of the keys according to the message.// Arguments : bMessage: The message.// Return : none.// Side Effect : none.// Notes : //***************************************************************************void _OSDND_OutputKeyString(void){ switch (_bOSDNDMsg) { case MSG_OPEN: if (_wOSDNDInfo) { __pOSDUTLOutputString = aNDOpen; } else { __pOSDUTLOutputString = aNDClose; } break; case MSG_NEXT: _OSDND_ShowNext(); break; case MSG_PREV: _OSDND_ShowPrevious(); break; case MSG_RETURN: __pOSDUTLOutputString = aNDReturn; break; case MSG_PLAYING: __pOSDUTLOutputString = aNDPlay; break; case MSG_STOP:#ifdef DOUBLE_STOP if (__bCountStop==1) { __pOSDUTLOutputString = aNDPreStop; } else #endif // #ifdef DOUBLE_STOP { __pOSDUTLOutputString = aNDStop; } break; case MSG_PAUSE: __pOSDUTLOutputString = aNDPause; break; case MSG_FAST: __pOSDUTLOutputString = aNDFast; break; case MSG_STEP: __pOSDUTLOutputString = aNDStep; break; case MSG_FREEZE: __pOSDUTLOutputString = aNDFreeze; break; case MSG_REPEAT: _OSDND_ShowRepeatState(); break; case MSG_REPEATAB: _OSDND_ShowRepeatABState(); break; case MSG_RANDOM: if (_wOSDNDInfo) { __pOSDUTLOutputString = aNDRandomOn; } else { __pOSDUTLOutputString = aNDRandomOff; } break; case MSG_PBC:
#ifndef NO_DISC_MODE _OSDND_ShowPBC();
#endif //NO_DISC_MODE break; case MSG_TVMODE: _OSDND_ShowTVMode(); break; case MSG_RESUME: __pOSDUTLOutputString = aNDResume; break;
#ifndef NO_DISC_MODE //CoCo2.37 case MSG_MENU: if (__bDomain == VTSM_DOM) // Root Menu { __pOSDUTLOutputString = aNDRootMenu; } else if (__bDomain == VMGM_DOM) // Title Menu { __pOSDUTLOutputString = aNDTitleMenu; } break;
#endif //#ifndef NO_DISC_MODE //CoCo2.37
/*#ifndef SUPPORT_GRAPH_ZOOM case MSG_ZOOM: _OSDND_ShowZoomState(); break;#endif
*/
case MSG_ZOOM_TEXT:
_OSDND_ShowZoomState();
break; case MSG_VIDEO_OUTPUT: _OSDND_ShowVideoOutput(); break; case MSG_VOCAL: case MSG_AUTOVOCAL: _OSDND_ShowVocal(); break;
/* case MSG_VOICECANCEL: // voice cancel on if (_wOSDNDInfo) { __pOSDUTLOutputString = aNDVoiceCancelOn; } // voice cancel off else { __pOSDUTLOutputString = aNDVoiceCancelOff; } break;
*/ case MSG_KARAOKE: _OSDND_ShowKaraoke(); break; case MSG_INVALID: if (_wOSDNDInfo == OSD_ERR_DATA) { __pOSDUTLOutputString = aNDErrorData; } else if (_wOSDNDInfo == OSD_ERR_PARENTAL) { __pOSDUTLOutputString = aNDErrorParental; } else { __pOSDUTLOutputString = aNDInvalid; } break; //case MSG_TRACK: case MSG_NUMBER: OSDUTL_PrepareOutputString(); OSDUTL_OutputNumFromIndex(_wOSDNDInfo); break; case MSG_JPEG_EFFECT: _OSDND_ShowJPEGEffect(); break; case MSG_ROTATE: if (_wOSDNDInfo == HALJPEG_OPERATION_RC) //rotate right 90 degree { __pOSDUTLOutputString = aNDRotateRight; } else { __pOSDUTLOutputString = aNDRotateLeft; } break; case MSG_FLIP: if (_wOSDNDInfo == HALJPEG_OPERATION_FH) { __pOSDUTLOutputString = aNDFlipHorizontally; } else //vertial { __pOSDUTLOutputString = aNDFlipVertically; } break; case MSG_PSCAN: if (__SetupInfo.bProgressiveScan == SETUP_PROGRESSIVE_SCAN_ON) { __pOSDUTLOutputString = aNDpscan; } else { __pOSDUTLOutputString = aNDInterlace; } break; case MSG_SCANFORWARD: case MSG_SCANBACKWARD: case MSG_SLOW: if ((__wDiscType&CDROM_M1) && (__bAttrPlay == ATTR_JPG)) { _OSDND_ShowSlideTransitionTime(); } else { _OSDND_ShowPlayAction(); } break; case MSG_INTRO: __pOSDUTLOutputString = aNDIntro; break; case MSG_FULLSCREEN: if (_wOSDNDInfo) { __pOSDUTLOutputString = aNDFullScreenOn; } else { __pOSDUTLOutputString = 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 (_wOSDNDInfo) { case OSD_NEXT_PREV_CHAPTER: __pOSDUTLOutputString = aNDNextChapter; break; case OSD_NEXT_PREV_PAGE: __pOSDUTLOutputString = aNDNextPage; break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -