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

📄 osdbmark.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 3 页
字号:
            _PRGM_StrAttr.wX += 30; //            _ShowOneEntryNumber(__bTitle);            _ShowOneEntryNumber(__bBookMark_Title[__wBookMark[0]]);            GDI_DrawString_909(0, &_PRGM_StrAttr, _wOSDBOOKMARKString);            _PRGM_StrAttr.wX = MAIN_FRAME_X1+30; _PRGM_StrAttr.wY += 30;             GDI_DrawString_909(0, &_PRGM_StrAttr, aChapter);            _PRGM_StrAttr.wX += 105;             GDI_DrawString_909(0, &_PRGM_StrAttr, aColon);            _PRGM_StrAttr.wX += 30; //            _ShowOneEntryNumber(__wChapter);            _ShowOneEntryNumber(_wBookMark_Chapter[__wBookMark[0]]);            GDI_DrawString_909(0, &_PRGM_StrAttr, _wOSDBOOKMARKString);        }        _PRGM_StrAttr.wX = MAIN_FRAME_X1+30;         if (__wDiscType & BOOK_DVD)        {        _PRGM_StrAttr.wY += 30;         }        else        {        _PRGM_StrAttr.wY = MAIN_FRAME_Y0;         }        GDI_DrawString_909(0, &_PRGM_StrAttr, aTime);        _PRGM_StrAttr.wX += 105;         GDI_DrawString_909(0, &_PRGM_StrAttr, aColon);        _wOSDBOOKMARKString[1] = aNDNumbers[HIBYTE(__wBookMark[__wBookMark[0]]) /60];        _wOSDBOOKMARKString[3] = aNDNumbers[(HIBYTE(__wBookMark[__wBookMark[0]]) %60) /10];        _wOSDBOOKMARKString[4] = aNDNumbers[HIBYTE(__wBookMark[__wBookMark[0]]) %10];         _wOSDBOOKMARKString[6] = aNDNumbers[LOBYTE(__wBookMark[__wBookMark[0]]) /10];        _wOSDBOOKMARKString[7] = aNDNumbers[LOBYTE(__wBookMark[__wBookMark[0]]) %10];        _wOSDBOOKMARKString[0] = 7; //7 digit        _wOSDBOOKMARKString[2] = CHAR_COLON;                _wOSDBOOKMARKString[5] = CHAR_COLON;              _PRGM_StrAttr.wX += 30;         GDI_DrawString_909(0, &_PRGM_StrAttr, _wOSDBOOKMARKString);    }}//  *********************************************************************************//  Function    :   _SetClearHighlight//  Description :   Set/Clear Highlight & Show the current entry//  Arguments   :   bFlag: SET_HIGHLIGHT/CLEAR_HIGHLIGHT//  Return      :   None//  Side Effect ://  *********************************************************************************static void _SetClearHighlight(BYTE bFlag){       _PRGM_StrAttr.bTextColor = OSDPRGM_ENTRY_COLOR_TEXT2;    if (bFlag) //SET_HIGHLIGHT    {        _bOSDBOOKMARKTemp = OSDPRGM_ENTRY_COLOR_HILIGHT;              _PRGM_StrAttr.bBackground = _bOSDBOOKMARKTemp;    }    else //CLEAR_HIGHLIGHT    {       _bOSDBOOKMARKTemp = OSDPRGM_ENTRY_FRAME_CENTER;       _PRGM_StrAttr.bBackground = _bOSDBOOKMARKTemp;    }              _PRGM_RectAttr.bColor = _bOSDBOOKMARKTemp;    _InitRect(&(_PRGM_RectAttr.rect), MAIN_FRAME_X0+FRAME_THICKNESS,        MAIN_FRAME_Y0+FRAME_THICKNESS+ENTRY_HEIGHT*(_bMainHighlightPos-1),        MAIN_FRAME_X1-FRAME_THICKNESS,        MAIN_FRAME_Y0+FRAME_THICKNESS+ENTRY_HEIGHT*(_bMainHighlightPos-1)+ENTRY_HEIGHT);    GDI_FillRect_909(0, &_PRGM_RectAttr);    _ShowOneEntry(_bMainStart+_bMainHighlightPos-1);  } //end of _SetClearHighlight()   //***************************************************************************//  Function    :   _OSDBOOKMARK_ShowUI//  Abstract    :   Draw the Program UI.//  Arguments   :   //  Return      :   none.//  Side Effect :   none.//  Notes       :   //***************************************************************************void _OSDBOOKMARK_ShowUI(){#ifdef MINI_OSD_REGION //CoCo2.30, borrow frame buffer to show OSD.    GDI_ClearRegion(0); // clera the mini OSD region    __dwRegionHeight = GDI_REGION_HEIGHT; // 460    // Need to set to the correct DRAM address    __dwRegionTAddr = W99AV_ADDR_MPEG_FRAME_FOR_OS_T; //Use frame buffer.     __dwRegionBAddr = W99AV_ADDR_MPEG_FRAME_FOR_OS_B; //Use frame buffer.    GDI_InitialRegion (0); // initialize region to set it to 8-bit mode#endif            GDI_SetMixRatio(GDI_GENERAL_MIX_RATIO);                   GDI_ActivateRegion(0);		    //Initialization of Variables #ifdef SUPPORT_CLEARALL_IN_PROGRAM    _bMainStart = 0; #else    _bMainStart = 1; #endif            		#ifdef SUPPORT_CLEARALL_IN_PROGRAM                _bMainHighlightPos = 2; //highlight 1. __-__  #else    _bMainHighlightPos = 1; //highlight 1. __-__ #endif    __wBookMark[0] = _bMainStart;		    _OSDBOOKMARK_InitPalette();    _OSDBOOKMARK_DrawFrames();    _PRGM_StrAttr.bBackground = OSDPRGM_ENTRY_COLOR_TOP_BANNER;    _PRGM_StrAttr.bTextColor = OSDPRGM_ENTRY_COLOR_TOP_BANNER_TEXT;    _PRGM_StrAttr.bColorKey = 0;    _PRGM_StrAttr.wX = BMARK_FRAME_X0+25; _PRGM_StrAttr.wY = BMARK_FRAME_Y0+7;     GDI_DrawString_909(0, &_PRGM_StrAttr, aBookmark);		    _PRGM_StrAttr.bBackground = OSDPRGM_ENTRY_COLOR_BOTTOM_BANNER;    _PRGM_StrAttr.bTextColor = OSDPRGM_ENTRY_COLOR_BOTTOM_BANNER_TEXT;    _PRGM_StrAttr.bColorKey = 0;    _PRGM_StrAttr.wX = BMARK_FRAME_X0+60; _PRGM_StrAttr.wY = BMARK_FRAME_Y1-30;     GDI_DrawString_909(0, &_PRGM_StrAttr, aColon);    _PRGM_StrAttr.wX = BMARK_FRAME_X0+75; _PRGM_StrAttr.wY = BMARK_FRAME_Y1-30;     GDI_DrawString_909(0, &_PRGM_StrAttr, aBookmark);    _PRGM_StrAttr.wX = BMARK_FRAME_X0+290; _PRGM_StrAttr.wY = BMARK_FRAME_Y1-30;     GDI_DrawString_909(0, &_PRGM_StrAttr, aColon);    _PRGM_StrAttr.wX = BMARK_FRAME_X0+305; _PRGM_StrAttr.wY = BMARK_FRAME_Y1-30;     GDI_DrawString_909(0, &_PRGM_StrAttr, aClear);    // Set text color to RED    _PRGM_StrAttr.bBackground = OSDPRGM_ENTRY_COLOR_BOTTOM_BANNER;    _PRGM_StrAttr.bTextColor = OSDPRGM_ENTRY_COLOR_BOTTOM_BANNER_TEXT;    _PRGM_StrAttr.bColorKey = 0;    _PRGM_StrAttr.wX = BMARK_FRAME_X0+25; _PRGM_StrAttr.wY = BMARK_FRAME_Y1-30;     GDI_DrawString_909(0, &_PRGM_StrAttr, aPlayIcon);    _PRGM_StrAttr.wX = BMARK_FRAME_X0+250; _PRGM_StrAttr.wY = BMARK_FRAME_Y1-30;     GDI_DrawString_909(0, &_PRGM_StrAttr, aClearIcon);    _PRGM_RectAttr.bColor = OSDPRGM_ENTRY_MAIN_COLOR_BG;    _InitRect(&(_PRGM_RectAttr.rect),              BMARK_FRAME_X0, BMARK_FRAME_Y0 + 40,              BMARK_FRAME_X1, BMARK_FRAME_Y1 - 37);    GDI_FillRect_909(0, &_PRGM_RectAttr);    _PRGM_FrameAttr.bStyle = FRAME_POP_SOLID;     _PRGM_FrameAttr.bThickness = FRAME_THICKNESS;     _PRGM_FrameAttr.bColorBright = OSDPRGM_ENTRY_FRAME_BRIGHT;     _PRGM_FrameAttr.bColorDark   = OSDPRGM_ENTRY_FRAME_DARK;     _PRGM_FrameAttr.bColorCenter = OSDPRGM_ENTRY_FRAME_CENTER;     _InitRect(&(_PRGM_FrameAttr.rect),              BMARK_FRAME_X0, BMARK_FRAME_Y0 + 37,              BMARK_FRAME_X1, BMARK_FRAME_Y0 + 40);    GDI_DrawFrame_909(0, &_PRGM_FrameAttr);    _InitRect(&(_PRGM_FrameAttr.rect),              BMARK_FRAME_X0, BMARK_FRAME_Y1 - 40,               BMARK_FRAME_X1, BMARK_FRAME_Y1 - 37);    GDI_DrawFrame_909(0, &_PRGM_FrameAttr);    _PRGM_StrAttr.bBackground = OSDPRGM_ENTRY_MAIN_COLOR_BG;    _PRGM_StrAttr.bTextColor = OSDPRGM_ENTRY_COLOR_TEXT1;    _PRGM_StrAttr.bColorKey = 0;    //other texts always use BLACK color     _PRGM_StrAttr.bTextColor = OSDPRGM_ENTRY_COLOR_TEXT2;    _PRGM_StrAttr.bBackground= OSDPRGM_ENTRY_COLOR_TEXT_BG; 		    //main frame                             _ShowMainList();    _SetClearHighlight(SET_HIGHLIGHT);                _ShowTitleChapterTime();		}//***************************************************************************//  Function    :   _OSDBOOKMARK_ClearUI//  Abstract    :   Clear the Program UI.//  Arguments   :   //  Return      :   none.//  Side Effect :   none.//  Notes       :   //***************************************************************************void _OSDBOOKMARK_ClearUI(void){    //clear Search IR region    _PRGM_RectAttr.bColor = PAL_ENTRY_COLOR_TRANSPARENT;    _InitRect(&(_PRGM_RectAttr.rect), 0, OSDND_UPPER_BACKGROUND_BOTTOM + 1,              GDI_REGION_WIDTH, OSDND_BOTTOM_BACKGROUND_START_V - 1);    GDI_FillRect_909(0, &_PRGM_RectAttr);}//***************************************************************************//  Function    :   _OSDBOOKMARK_DrawFrames //  Abstract    :   Draw the frames.//  Arguments   ://  Return      :   none.//  Side Effect :   none.//  Notes       ://***************************************************************************void _OSDBOOKMARK_DrawFrames(void){    // Clear region    _PRGM_RectAttr.bColor = PAL_ENTRY_COLOR_TRANSPARENT;    _InitRect(&(_PRGM_RectAttr.rect),              0, OSDND_UPPER_BACKGROUND_BOTTOM + 1,              GDI_REGION_WIDTH, OSDND_BOTTOM_BACKGROUND_START_V - 1);    GDI_FillRect_909(0, &_PRGM_RectAttr);    if (SETUP_CUSTOM_UI_STYLE_1 == __SetupInfo.bUIStyle)    {        _PRGM_RectAttr.bColor = OSDPRGM_ENTRY_COLOR_TOP_BANNER;        _InitRect(&(_PRGM_RectAttr.rect),                  BMARK_FRAME_X0, BMARK_FRAME_Y0,                  BMARK_FRAME_X1, BMARK_FRAME_Y1);        GDI_FillRoundRect(0, 17, &_PRGM_RectAttr);    }    else if (SETUP_CUSTOM_UI_STYLE_2 == __SetupInfo.bUIStyle)    {        _PRGM_RectAttr.bColor = OSDPRGM_ENTRY_COLOR_TOP_BANNER;        _InitRect(&(_PRGM_RectAttr.rect),                  BMARK_FRAME_X0, BMARK_FRAME_Y0,                  BMARK_FRAME_X1 - 50, CENTER_FRAME_Y1-1);        GDI_FillRoundRectTop(0, 21, &_PRGM_RectAttr);        _InitRect(&(_PRGM_RectAttr.rect),                  BMARK_FRAME_X1 - 100, BMARK_FRAME_Y0,                  BMARK_FRAME_X1, MAIN_FRAME_Y1-1);        GDI_FillRect_909(0, &_PRGM_RectAttr);        _PRGM_RectAttr.bColor = OSDPRGM_ENTRY_COLOR_BOTTOM_BANNER;        _InitRect(&(_PRGM_RectAttr.rect),                  BMARK_FRAME_X0, CENTER_FRAME_Y1,                  BMARK_FRAME_X1 - 50, BMARK_FRAME_Y1);        GDI_FillRect_909(0, &_PRGM_RectAttr);        _InitRect(&(_PRGM_RectAttr.rect),                  BMARK_FRAME_X1 - 100, CENTER_FRAME_Y1,                  BMARK_FRAME_X1, BMARK_FRAME_Y1);        GDI_FillRoundRectBottom(0, 21, &_PRGM_RectAttr);    }    else if (SETUP_CUSTOM_UI_STYLE_3 == __SetupInfo.bUIStyle)    {        _PRGM_RectAttr.bColor = OSDPRGM_ENTRY_COLOR_TOP_BANNER;        _InitRect(&(_PRGM_RectAttr.rect),                  BMARK_FRAME_X0, BMARK_FRAME_Y0,                  BMARK_FRAME_X1, CENTER_FRAME_Y1-1);        GDI_FillRoundRectTop(0, 21, &_PRGM_RectAttr);        _PRGM_RectAttr.bColor = OSDPRGM_ENTRY_COLOR_BOTTOM_BANNER;        _InitRect(&(_PRGM_RectAttr.rect),                  BMARK_FRAME_X0, CENTER_FRAME_Y1,                  BMARK_FRAME_X1, BMARK_FRAME_Y1);        GDI_FillRect_909(0, &_PRGM_RectAttr);    }    else if (SETUP_CUSTOM_UI_STYLE_4 == __SetupInfo.bUIStyle)    {        _PRGM_RectAttr.bColor = OSDPRGM_ENTRY_COLOR_TOP_BANNER;        _InitRect(&(_PRGM_RectAttr.rect),                  BMARK_FRAME_X0, BMARK_FRAME_Y0,                  BMARK_FRAME_X1, CENTER_FRAME_Y1-1);        GDI_FillRoundRectTop(0, 21, &_PRGM_RectAttr);        _PRGM_RectAttr.bColor = OSDPRGM_ENTRY_COLOR_BOTTOM_BANNER;        _InitRect(&(_PRGM_RectAttr.rect),                  BMARK_FRAME_X0, CENTER_FRAME_Y1,                  BMARK_FRAME_X1, BMARK_FRAME_Y1);        GDI_FillRoundRectBottom(0, 21, &_PRGM_RectAttr);    }}//***************************************************************************//  Function    :   _OSDBOOKMARK_InitPalette //  Abstract    :   Initialize the palettes.//  Arguments   ://  Return      :   none.//  Side Effect :   none.//  Notes       ://***************************************************************************void _OSDBOOKMARK_InitPalette(void){    if (SETUP_CUSTOM_UI_STYLE_1 == __SetupInfo.bUIStyle)    {        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_TOP_BANNER,            OSDPRGM_VALUE_COLOR_TOP_BANNER1, TRUE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_TOP_BANNER_TEXT,            OSDPRGM_VALUE_COLOR_TOP_BANNER_TEXT1, TRUE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_BOTTOM_BANNER,            OSDPRGM_VALUE_COLOR_BOTTOM_BANNER1, TRUE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_BOTTOM_BANNER_TEXT,            OSDPRGM_VALUE_COLOR_BOTTOM_BANNER_TEXT1, TRUE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_MAIN_COLOR_BG,            OSDPRGM_VALUE_MAIN_COLOR_BG1, TRUE);    }    else if (SETUP_CUSTOM_UI_STYLE_2 == __SetupInfo.bUIStyle)    {        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_TOP_BANNER,            OSDPRGM_VALUE_COLOR_TOP_BANNER2, FALSE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_TOP_BANNER_TEXT,            OSDPRGM_VALUE_COLOR_TOP_BANNER_TEXT2, FALSE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_BOTTOM_BANNER,            OSDPRGM_VALUE_COLOR_BOTTOM_BANNER2, FALSE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_BOTTOM_BANNER_TEXT,            OSDPRGM_VALUE_COLOR_BOTTOM_BANNER_TEXT2, FALSE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_MAIN_COLOR_BG,            OSDPRGM_VALUE_MAIN_COLOR_BG2, TRUE);    }    else if (SETUP_CUSTOM_UI_STYLE_3 == __SetupInfo.bUIStyle)    {        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_TOP_BANNER,            OSDPRGM_VALUE_COLOR_TOP_BANNER3, FALSE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_TOP_BANNER_TEXT,            OSDPRGM_VALUE_COLOR_TOP_BANNER_TEXT3, FALSE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_BOTTOM_BANNER,            OSDPRGM_VALUE_COLOR_BOTTOM_BANNER3, FALSE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_BOTTOM_BANNER_TEXT,            OSDPRGM_VALUE_COLOR_BOTTOM_BANNER_TEXT3, FALSE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_MAIN_COLOR_BG,            OSDPRGM_VALUE_MAIN_COLOR_BG3, TRUE);    }    else if (SETUP_CUSTOM_UI_STYLE_4 == __SetupInfo.bUIStyle)    {        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_TOP_BANNER,            OSDPRGM_VALUE_COLOR_TOP_BANNER4, FALSE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_TOP_BANNER_TEXT,            OSDPRGM_VALUE_COLOR_TOP_BANNER_TEXT4, FALSE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_BOTTOM_BANNER,            OSDPRGM_VALUE_COLOR_BOTTOM_BANNER4, FALSE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_BOTTOM_BANNER_TEXT,            OSDPRGM_VALUE_COLOR_BOTTOM_BANNER_TEXT4, FALSE);        GDI_ChangePALEntry(OSDPRGM_ENTRY_MAIN_COLOR_BG,            OSDPRGM_VALUE_MAIN_COLOR_BG4, TRUE);    }    GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_TEXT1, OSDPRGM_VALUE_COLOR_WHITE, FALSE);    GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_TEXT2, OSDPRGM_VALUE_COLOR_BLACK, FALSE);    GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_TEXT_BG, OSDPRGM_VALUE_FRAME_CENTER, FALSE);    GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_WHITE, OSDPRGM_VALUE_COLOR_WHITE, FALSE);    GDI_ChangePALEntry(OSDPRGM_ENTRY_COLOR_HILIGHT, OSDPRGM_VALUE_COLOR_HILIGHT, FALSE);    GDI_ChangePALEntry(OSDPRGM_ENTRY_FRAME_BRIGHT, OSDPRGM_VALUE_FRAME_BRIGHT, FALSE);    GDI_ChangePALEntry(OSDPRGM_ENTRY_FRAME_DARK, OSDPRGM_VALUE_FRAME_DARK, FALSE);    GDI_ChangePALEntry(OSDPRGM_ENTRY_FRAME_CENTER, OSDPRGM_VALUE_FRAME_CENTER, FALSE);    GDI_ChangePALEntry(OSDPRGM_ENTRY_TEXT_DISABLED, OSDPRGM_VALUE_TEXT_DISABLED, FALSE);    GDI_WaitPaletteComplete();}//  *****************************************************************//  Function    :   _OSDBOOKMARK_ProceedToNextMainEntry//  Description :   Proceed to next main entry //  Argument    :   None//  Return      :   None//  Side Effect :   //  *****************************************************************//Kevin1.23DMTech, createvoid _OSDBOOKMARK_ProceedToNextMainEntry(void){    _SetClearHighlight(CLEAR_HIGHLIGHT);    if ((_bMainHighlightPos<MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME) &&         (_bMainStart+_bMainHighlightPos-1<MAX_PROG_ITEM) )     {          //change _bMainHighlightPos only        _bMainHighlightPos++;      }    else    {           if ((_bMainStart+MAX_ENTRY_NUM_SHOWN_IN_MAIN_FRAME-1)<MAX_PROG_ITEM)        {               _bMainStart++;        }       #ifdef SUPPORT_CIRCULAR_WRAP //Kevin1.05, add        else        {#ifdef SUPPORT_CLEARALL_IN_PROGRAM            _bMainStart = 0;             _bMainHighlightPos = 2; //highlight 1. __-__  #else            _bMainStart = 1;             _bMainHighlightPos = 1; //highlight 1. __-__ #endif          }#endif //#ifdef SUPPORT_CIRCULAR_WRAP //Kevin2.31-2         		_ShowMainList();     }    _SetClearHighlight(SET_HIGHLIGHT);} //end of _OSDBOOKMARK_ProceedToNextMainEntry()#endif //#ifndef NO_DISC_MODE //CoCo2.37p#endif //#ifdef SUPPORT_BOOKMARK

⌨️ 快捷键说明

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