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

📄 osdprgm.c

📁 车载电子影音系统dvd播放系统原程序代码
💻 C
📖 第 1 页 / 共 5 页
字号:
					//_bTitleHighlightPos remains the same					_ShowTitleList();				}				else if (_bTitleStart+_bTitleHighlightPos-1+MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME<=_bTotalTitle) //scroll down not a whole page				{   					//__bTemp=_bTitleStart+_bTitleHighlightPos-1+MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME; //--CoCo1.21					_bTitleStart=_bTotalTitle-MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME+1;					//_bTitleHighlightPos = __bTemp-_bTitleStart+1;   //--CoCo1.21//					_bTitleHighlightPos = _bTitleStart+_bTitleHighlightPos-1+MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME-_bTitleStart+1; 					_bTitleHighlightPos = _bTitleStart+_bTitleHighlightPos-1+MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME-_bTitleStart; 					_ShowTitleList();				} 				else if (_bTitleStart+MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME-1<_bTotalTitle) //scroll down not a whole page				{					_bTitleStart=_bTotalTitle-MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME+1;					_bTitleHighlightPos =_bTotalTitle-_bTitleStart+1;   //last one					_ShowTitleList();				} #ifdef SUPPORT_CIRCULAR_WRAP 				//else if (_bTitleStart>=MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME)				else if (_bTitleStart!=1) //avoid unnecessary redraw				{					/*--CoCo1.21					_bTitleStart=1;					_bTitleHighlightPos=1;					_ShowTitleList();					*/					_OSDPRGM_UpdateTitleList(); //CoCo1.21, use this function to replace the above code				}#endif           				if (__wDiscType & BOOK_DVD) //no Chapter Frame for VCD           				{            					//uncomment when DVD/VCD is in the loader					DVD_ParseInfo ( DVD_TOTAL_CHAPTERS, &__dwTemp, (WORD)(_bTitleStart+_bTitleHighlightPos-1) );             					_wTotalChapter = (WORD)__dwTemp;           					//_wTotalChapter=(_bTitleStart+_bTitleHighlightPos-1); //comment when DVD/VCD is in the loader										/*--CoCo1.21					_wChapterStart = 1;					_wChapterHighlightPos = 1;					_ShowChapterList();					*/					_OSDPRGM_UpdateChapterList(); //CoCo1.21, Use this function to replace the above code					_bCurrentFrame = TITLE_FRAME; /////highlight remains in the Title Frame				}   #ifdef SUPPORT_SIMPLE_FM_PROGRAM //Kevin1.10				else if (__wDiscType & CDROM_M1) 				{            					_wTotalChapter=__pwFMFilesOfDir[_bTitleStart+_bTitleHighlightPos-1-1]; //dir 0~ 					/*--CoCo1.21					_wChapterStart = 1;					_wChapterHighlightPos = 1;					_ShowChapterList();					*/					_OSDPRGM_UpdateChapterList(); //CoCo1.21, Use this function to replace the above code					_bCurrentFrame = TITLE_FRAME; /////highlight remains in the Title Frame            				} #endif            							}                     			else //CHAPTER_FRAME			{   				//if (_wChapterStart+_wChapterHighlightPos-1+2*MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME-_wChapterHighlightPos<=_wTotalChapter) //scroll down a whole page				if (_wChapterStart-1+2*MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME<=_wTotalChapter) //scroll down a whole page				{ 					_wChapterStart+=MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME; 					//_wChapterHighlightPos remains the same					_ShowChapterList();				}				else if (_wChapterStart+_wChapterHighlightPos-1+MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME<=_wTotalChapter) //scroll down not a whole page				{   					//__wTemp=_wChapterStart+_wChapterHighlightPos-1+MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME; //--CoCo1.21					_wChapterStart=_wTotalChapter-MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME+1;					//_wChapterHighlightPos = __wTemp-_wChapterStart+1;    //--CoCo1.21//					_wChapterHighlightPos = _wChapterStart+_wChapterHighlightPos-1+MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME-_wChapterStart+1;					_wChapterHighlightPos = _wChapterStart+_wChapterHighlightPos-1+MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME-_wChapterStart;					_ShowChapterList();				} 				else if (_wChapterStart+MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME-1<_wTotalChapter) //scroll down not a whole page				{					_wChapterStart=_wTotalChapter-MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME+1;					_wChapterHighlightPos =_wTotalChapter-_wChapterStart+1;   //last one					_ShowChapterList();				} #ifdef SUPPORT_CIRCULAR_WRAP 				//else if (_wChapterStart>=MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME)				else if (_wChapterStart!=1) //avoid unnecessary redraw				{					/*--CoCo1.21					_wChapterStart=1;					_wChapterHighlightPos=1;					_ShowChapterList();					*/					_OSDPRGM_UpdateChapterList(); //CoCo1.21, Use this function to replace the above code				}#endif           			}						_SetClearHighlight(SET_HIGHLIGHT);						__bKey=KEY_NO_KEY;			break;									//Kevin1.05-3, page up    case KEY_PREV:#ifdef SUPPORT_PRGM_NUM_INPUT //Kevin1.06        _OSDPRGM_ProcessNumInput(PRGM_NUMBERINPUT_CHECK, NULL);#endif        _SetClearHighlight(CLEAR_HIGHLIGHT);		        if (_bCurrentFrame==MAIN_FRAME)        {               if (_bMainStart>MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME) //scroll up a whole page            {                 _bMainStart-=MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME;                 //_bMainHighlightPos remains the same                _ShowMainList();            }            else if (_bMainStart+_bMainHighlightPos-1>MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME) //scroll down not a whole page            {                //__bTemp=_bMainStart+_bMainHighlightPos-1-MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME; //--CoCo1.21#ifdef SUPPORT_CLEARALL_IN_PROGRAM                _bMainStart=0;#else                _bMainStart=1;#endif				//_bMainHighlightPos = __bTemp; //--CoCo1.21                _bMainHighlightPos = _bMainStart+_bMainHighlightPos-1-MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME;                   _ShowMainList();            }            else if (_bMainStart!=1) //scroll down not a whole page            {#ifdef SUPPORT_CLEARALL_IN_PROGRAM                _bMainStart=0;                _bMainHighlightPos=2;   //first one#else                _bMainStart=1;                _bMainHighlightPos=1;   //first one#endif                _ShowMainList();            } #ifdef SUPPORT_CIRCULAR_WRAP             else if (MAX_PROG_ITEM>MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME)            {                _bMainStart=MAX_PROG_ITEM-MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME+1;                _bMainHighlightPos=MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME;                _ShowMainList();            }#endif           			        }                    else if (_bCurrentFrame==TITLE_FRAME)        {               if (_bTitleStart>MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME) //scroll up a whole page            {                 _bTitleStart-=MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME;                 //_bTitleHighlightPos remains the same                _ShowTitleList();            }            else if (_bTitleStart+_bTitleHighlightPos-1>MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME) //scroll down not a whole page            {                //__bTemp=_bTitleStart+_bTitleHighlightPos-1-MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME; //--CoCo1.21                _bTitleStart=1;                //_bTitleHighlightPos = __bTemp; //--CoCo1.21//		_bTitleHighlightPos = _bTitleStart+_bTitleHighlightPos-1-MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME; //CoCo1.21		_bTitleHighlightPos = _bTitleStart+_bTitleHighlightPos-1-MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME + 1; //CoCo1.21                _ShowTitleList();            }            else if (_bTitleStart!=1) //scroll down not a whole page            {				/*--CoCo1.21                _bTitleStart=1;                _bTitleHighlightPos=1;   //first one                _ShowTitleList();				*/				_OSDPRGM_UpdateTitleList(); //CoCo1.21, use this function to replace the above code            } #ifdef SUPPORT_CIRCULAR_WRAP             else if (_bTotalTitle>MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME)            {                _bTitleStart=_bTotalTitle-MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME+1;                _bTitleHighlightPos=MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME;                _ShowTitleList();            }#endif                       if (__wDiscType & BOOK_DVD) //no Chapter Frame for VCD                       {            				//uncomment when DVD/VCD is in the loader                DVD_ParseInfo ( DVD_TOTAL_CHAPTERS, &__dwTemp, (WORD)(_bTitleStart+_bTitleHighlightPos-1) );                             _wTotalChapter = (WORD)__dwTemp;                           //_wTotalChapter=(_bTitleStart+_bTitleHighlightPos-1); //comment when DVD/VCD is in the loader								/*--CoCo1.21                _wChapterStart = 1;                _wChapterHighlightPos = 1;                _ShowChapterList();				*/				_OSDPRGM_UpdateChapterList(); //CoCo1.21, Use this function to replace the above code                _bCurrentFrame = TITLE_FRAME; /////highlight remains in the Title Frame            }     #ifdef SUPPORT_SIMPLE_FM_PROGRAM //Kevin1.10            else if (__wDiscType & CDROM_M1)             {                            _wTotalChapter=__pwFMFilesOfDir[_bTitleStart+_bTitleHighlightPos-1-1]; //dir 0~ 				/*--CoCo1.21                _wChapterStart = 1;                _wChapterHighlightPos = 1;                _ShowChapterList();				*/				_OSDPRGM_UpdateChapterList(); //CoCo1.21, Use this function to replace the above code                _bCurrentFrame = TITLE_FRAME; /////highlight remains in the Title Frame                        } #endif                                }                             else //CHAPTER_FRAME        {   			if (_wChapterStart>MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME) //scroll up a whole page            {                 _wChapterStart-=MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME;                 //_wChapterHighlightPos remains the same                _ShowChapterList();            }            else if (_wChapterStart+_wChapterHighlightPos-1>MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME) //scroll down not a whole page            {                //__wTemp=_wChapterStart+_wChapterHighlightPos-1-MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME; //--CoCo1.21                _wChapterStart=1;                //_wChapterHighlightPos = __wTemp;  //--CoCo1.21 //		_wChapterHighlightPos = _wChapterStart+_wChapterHighlightPos-1-MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME;		_wChapterHighlightPos = _wChapterStart+_wChapterHighlightPos-1-MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME + 1;                _ShowChapterList();            }            else if (_wChapterStart!=1) //scroll down not a whole page            {				/*--CoCo1.21                _wChapterStart=1;                _wChapterHighlightPos=1;   //first one                _ShowChapterList();				*/				_OSDPRGM_UpdateChapterList(); //CoCo1.21, Use this function to replace the above code            } #ifdef SUPPORT_CIRCULAR_WRAP             else if (_wTotalChapter>MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME)            {                _wChapterStart=_wTotalChapter-MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME+1;                _wChapterHighlightPos=MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME;                _ShowChapterList();            }#endif                   }		        _SetClearHighlight(SET_HIGHLIGHT);                __bKey=KEY_NO_KEY;        break;				    case KEY_LEFT:        if (_bCurrentFrame!=MAIN_FRAME)        {             _SetClearHighlight(CLEAR_HIGHLIGHT);            _bCurrentFrame--;               _SetClearHighlight(SET_HIGHLIGHT);  #ifdef SUPPORT_PRGM_NUM_INPUT                         _bPrgmDigitPos = PROGRAM_NUM_CURSOR_TITLE;#endif        }                    if (_bCurrentFrame == MAIN_FRAME )        {            //clear chapter frame, up arrow rect, and down arrow rect            GDI_FILL_RECT(CHAPTER_FRAME_X0, CHAPTER_FRAME_Y0-1-ARROW_HEIGHT, CHAPTER_FRAME_X1, CHAPTER_FRAME_Y1+1+ARROW_HEIGHT,				GDI_ENTRY_4B_COLOR_GENERAL_BG_BLUE 				);              }		#ifdef SUPPORT_PRGM_NUM_INPUT         if (_bCurrentFrame == MAIN_FRAME && _bPrgmDigitPos&PROGRAM_NUM_CURSOR_CHAPTER)        {            __wNumberQueue = 0;    //clear			            if (__wDiscType & BOOK_DVD) //no Chapter Frame for VCD             {                				__bProgramCurrentIndex = _bMainStart+_bMainHighlightPos-1;								GDI_SetTextColor(TEXT_FG_COLOR, GDI_ENTRY_4B_COLOR_BLACK);				__wGDIString[0] = 2; //2 digits                     				//CoCo1.21, Initialize __wGDIString array here.				_OSDPRGM_InitialOutputString(CHAR_UNDERLIN);   				/* --CoCo1.21				__wTemp = __ProgIdxList[__bProgramCurrentIndex-1].wSubIndex;				if (__wProgramChapter)                            				{					__wGDIString[1] = aDigit[__wProgramChapter/10];					__wGDIString[2] = aDigit[__wProgramChapter%10];       				}				else if (__wTemp)				{					__wProgramChapter = __wTemp; 					__wGDIString[1] = aDigit[__wProgramChapter/10];					__wGDIString[2] = aDigit[__wProgramChapter%10];       				}				else				{					__wGDIString[1] = CHAR_UNDERLIN;					__wGDIString[2] = CHAR_UNDERLIN;       				}				*/				//CoCo1.21, replace the above code				_OSDPRGM_UpdateProgramChapter(2);				GDI_SetTextColor(TEXT_BG_COLOR, GDI_ENTRY_4B_COLOR_CENTER);				GDI_DRAW_STRING (MAIN_FRAME_X0+FRAME_THICKNESS+145, MAIN_FRAME_Y0+FRAME_THICKNESS+ENTRY_HEIGHT*(_bMainHighlightPos-1)); 												_bPrgmDigitPos=PROGRAM_NUM_CURSOR_TITLE;				_bOSDPRGMTemp = __ProgIdxList[__bProgramCurrentIndex-1].bMainIndex;				/* --CoCo1.21				if (__bProgramTitle)                            				{					__wGDIString[1] = aDigit[__bProgramTitle/10];					__wGDIString[2] = aDigit[__bProgramTitle%10];       				}				else if (_bOSDPRGMTemp)				{

⌨️ 快捷键说明

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