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

📄 osdprgm.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 5 页
字号:
                    _OSDPRGM_UpdateChapterList();                     _bCurrentFrame = TITLE_FRAME;                }                else                {                    _PRGM_RectAttr.bColor = OSDPRGM_ENTRY_MAIN_COLOR_BG;                    _OSDPRGM_FillRect(CHAPTER_FRAME_X0, CHAPTER_FRAME_Y0-1-ARROW_HEIGHT, CHAPTER_FRAME_X1, CHAPTER_FRAME_Y1+1+ARROW_HEIGHT); //CoCo1.20, reduce code size.                }            }                    }                             else if (_bCurrentFrame==CHAPTER_FRAME) //CHAPTER_FRAME        {            _SetClearHighlight(CLEAR_HIGHLIGHT);            if (_wChapterHighlightPos>1)                _wChapterHighlightPos--;               else            {                   if (_wChapterStart>1)                {                     _wChapterStart--;                    _ShowChapterList();                 }                    else                {                    _bCurrentFrame = CHAPTER_INPUT;                }            }        }               _SetClearHighlight(SET_HIGHLIGHT);                bKeyStatus =KEY_NO_KEY;        break;				    case KEY_DOWN:#ifdef SUPPORT_PRGM_NUM_INPUT //Kevin1.06        _OSDPRGM_ProcessNumInput(PRGM_NUMBERINPUT_CHECK, NULL_0);#endif        _SetClearHighlight(CLEAR_HIGHLIGHT);		        if (_bCurrentFrame==MAIN_FRAME)        {            _OSDPRGM_ProcessNumInput(PRGM_NUMBERINPUT_CLEAR, NULL_0);            _OSDPRGM_ProceedToNextMainEntry();        }                    else if (_bCurrentFrame==TITLE_INPUT)        {               _OSDPRGM_ProcessNumInput(PRGM_NUMBERINPUT_CLEAR, NULL_0);            _ShowInput(TITLE_INPUT, OSDPRGM_ENTRY_MAIN_COLOR_BG);            if (!(_bMainStart+_bMainHighlightPos-1))            {                //do nothing            }            else            {   #ifndef SUPPORT_PRGM_NUM_INPUT                 if (__wDiscType & BOOK_DVD) //no Chapter Frame for VCD                         {                    _SetClearHighlight(CLEAR_HIGHLIGHT);                    _bCurrentFrame = TITLE_FRAME;                    _SetClearHighlight(SET_HIGHLIGHT);        				                    if (_bCurrentFrame == TITLE_FRAME )                    {                        DVD_ParseInfo(DVD_TOTAL_CHAPTERS, &__dwTemp,                                      (WORD)(_bTitleStart+_bTitleHighlightPos-1) );                         _wTotalChapter = __dwTemp;                                   _ShowChapterList();                    }                }#else //#ifndef SUPPORT_PRGM_NUM_INPUT                __wNumberQueue = 0;    //clear			                _SetClearHighlight(CLEAR_HIGHLIGHT);                _bCurrentFrame = TITLE_FRAME;                _SetClearHighlight(SET_HIGHLIGHT);                 if (__wDiscType & BOOK_DVD) //no Chapter Frame for VCD                         {                        DVD_ParseInfo ( DVD_TOTAL_CHAPTERS, &__dwTemp, (WORD)(_bTitleStart+_bTitleHighlightPos-1) );                                     _wTotalChapter = (WORD)__dwTemp;    						                        _ShowChapterList();                        _bCurrentFrame = TITLE_FRAME; /////highlight remains in Title Frame                             }#endif            }        }        else if (_bCurrentFrame==TITLE_FRAME)        {               if ( (_bTitleHighlightPos<MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME) && (_bTitleStart+_bTitleHighlightPos-1<_bTotalTitle) ) //change _bTitleHighlightPos only                _bTitleHighlightPos++;               else //change _bTitleStart            {                   if ((_bTitleStart+MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME-1)<_bTotalTitle)                {                       _bTitleStart++;                    _ShowTitleList();                                    }                     }            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;           		_OSDPRGM_UpdateChapterList();                 _bCurrentFrame = TITLE_FRAME; /////highlight remains in the Title Frame            }                       }                             else if (_bCurrentFrame==CHAPTER_INPUT)        {               _SetClearHighlight(CLEAR_HIGHLIGHT);            _bCurrentFrame = CHAPTER_FRAME;            _SetClearHighlight(SET_HIGHLIGHT);        }        else //CHAPTER_FRAME        {            if ( (_wChapterHighlightPos<MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME) && (_wChapterStart+_wChapterHighlightPos-1<_wTotalChapter) ) //change _wChapterHighlightPos only                _wChapterHighlightPos++;              else //change _wChapterStart            {                if ((_wChapterStart+MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME-1)<_wTotalChapter)                {                       _wChapterStart++;                    _ShowChapterList();                                 }                }        }       		        _SetClearHighlight(SET_HIGHLIGHT);                bKeyStatus = KEY_NO_KEY;        break;						//Kevin1.05-3, page down    case KEY_NEXT:#ifdef SUPPORT_PRGM_NUM_INPUT //Kevin1.06        _OSDPRGM_ProcessNumInput(PRGM_NUMBERINPUT_CHECK, NULL_0);        _OSDPRGM_ProcessNumInput(PRGM_NUMBERINPUT_CLEAR, NULL_0);#endif        _SetClearHighlight(CLEAR_HIGHLIGHT);		        if (_bCurrentFrame==MAIN_FRAME)        {               _OSDPRGM_ProcessNumInput(PRGM_NUMBERINPUT_CLEAR, NULL_0);            if (_bMainStart-1+2*MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME<=MAX_PROG_ITEM)            {                //scroll down 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<=MAX_PROG_ITEM)             {                   //scroll down not a whole page                _bMainStart=MAX_PROG_ITEM-MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME+1;                // _bMainHighlightPos remains the same  		//_bMainHighlightPos = _bMainStart+_bMainHighlightPos-1+MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME-_bMainStart+1;				                _ShowMainList();            }             else if (_bMainStart+MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME-1<MAX_PROG_ITEM)            {                //scroll down not a whole page                _bMainStart=MAX_PROG_ITEM-MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME+1;                // _bMainHighlightPos remains the same                 //_bMainHighlightPos =MAX_PROG_ITEM-_bMainStart+1;   //last one                _ShowMainList();            }         }                    else if (_bCurrentFrame==TITLE_FRAME)        {               if (_bTitleStart-1+2*MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME<=_bTotalTitle)            {                 //scroll down 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<=_bTotalTitle)            {                   //scroll down not a whole page                _bTitleStart=_bTotalTitle-MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME+1;                // Alan, don't change position                //_bTitleHighlightPos = _bTitleStart+_bTitleHighlightPos-1+MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME-_bTitleStart+1;                 _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();            }             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;                           _OSDPRGM_UpdateChapterList();                _bCurrentFrame = TITLE_FRAME; /////highlight remains in the Title Frame            }   	}                             else //CHAPTER_FRAME        {               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                _wChapterStart=_wTotalChapter-MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME+1;                //_wChapterHighlightPos remains the same                //_wChapterHighlightPos = _wChapterStart+_wChapterHighlightPos-1+MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME-_wChapterStart+1;                _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();             }         }        _SetClearHighlight(SET_HIGHLIGHT);			        bKeyStatus = 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_0);#endif        _SetClearHighlight(CLEAR_HIGHLIGHT);		        if (_bCurrentFrame==MAIN_FRAME)        {               _OSDPRGM_ProcessNumInput(PRGM_NUMBERINPUT_CLEAR, NULL_0);            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#ifdef SUPPORT_CLEARALL_IN_PROGRAM                _bMainStart=0;#else                _bMainStart=1;#endif                //_bMainHighlightPos remains the same//                _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();            } 			        }                    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            {                _bTitleStart=1;                // Remain the same position//		_bTitleHighlightPos = _bTitleStart+_bTitleHighlightPos-1-MAX_ENTRY_NUM_SHOWN_IN_TITLE_FRAME;                _ShowTitleList();            }            else if (_bTitleStart!=1) //scroll down not a whole page            {		_OSDPRGM_UpdateTitleList(); //CoCo1.21, use this function to replace the above code            }             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;           		_OSDPRGM_UpdateChapterList(); //CoCo1.21, Use this function to replace the above code                _bCurrentFrame = TITLE_FRAME; /////highlight remains in the Title Frame            }                         }                             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            {                _wChapterStart=1;                //_wChapterHighlightPos remains the same//		_wChapterHighlightPos = _wChapterStart+_wChapterHighlightPos-1-MAX_ENTRY_NUM_SHOWN_IN_CHAPTER_FRAME;                _ShowChapterList();            }            else if (_wChapterStart!=1) //scroll down not a whole page            {		_OSDPRGM_UpdateChapterList(); //CoCo1.21, Use this function to replace the above code            }         }		        _SetClearHighlight(SET_HIGHLIGHT);                bKeyStatus = KEY_NO_KEY;        break;				    case KEY_LEFT:        if (MAIN_FRAME == _bCurrentFrame)

⌨️ 快捷键说明

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