📄 osdmm.c
字号:
GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_INFO_REGION_FRAME, OSDMM_PALETTE_COLOR_INFO_REGION_FRAME, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_BUTTON_FRAME, OSDMM_PALETTE_COLOR_BUTTON_FRAME, FALSE); //GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_DLG_OUTER_FRAME, OSDMM_PALETTE_COLOR_DLG_OUTER_FRAME, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_BUTTON_DISABLE_BACKGROUND, OSDMM_PALETTE_COLOR_BUTTON_DISABLE_BACKGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_DISABLE_BUTTON_STRING, OSDMM_PALETTE_COLOR_DISABLE_BUTTON_STRING, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_AC3_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_AC3_ICON_TEXT_FOREGROUND, FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_MPG_ICON_TEXT_FOREGROUND, OSDMM_PALETTE_COLOR_MPG_ICON_TEXT_FOREGROUND, FALSE); //Change skin GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_GENERAL_BACKGROUND, _dwOSDMMGeneralBackgroundColor[_bOSDMMTemp], FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_TITLE_STRING, _dwOSDMMTitleStringColor[_bOSDMMTemp], FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_BACKGROUND_FRAME, _dwOSDMMBackgroundFrameColor[_bOSDMMTemp], FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_TIME_STRING, _dwOSDMMTimeStringColor[_bOSDMMTemp], FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_HELP_REGION_BACKGROUND, _dwOSDMMHelpRegionBackgroundColor[_bOSDMMTemp], FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_BUTTON_ENABLE_BACKGROUND, _dwOSDMMHButtonEnableColor[_bOSDMMTemp], FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_ENABLE_BUTTON_STRING, _dwOSDMMHButtonEnableStringColor[_bOSDMMTemp], FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_DLG_TITLE_BAR, _dwOSDMMDlgTitleBarColor[_bOSDMMTemp], FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_DLG_OUTER_FRAME, _dwOSDMMDlgOuterFrameColor[_bOSDMMTemp], FALSE); GDI_ChangePALEntry(OSDMM_PALETTE_ENTRY_DLG_BACKGROUND, _dwOSDMMDlgBackgroundColor[_bOSDMMTemp], FALSE); GDI_SetMixRatio(OSDMM_MIX_RATIO_BACKGROUND); //The mix ration just effects the background //CoCo0.95 GDI_WaitPaletteComplete(); GDI_ActivateRegion(0); //open GDI}//*********************************************************************************************************// Function : _OSDMM_Exit// Abstract : Call this function to exit the Media Manager UI.// Arguments : none.// Return : none.// Side Effect : none.// Notes : //*********************************************************************************************************void _OSDMM_Exit(void){ //Reset the button status. OSDMM_ResetControl(); //Clear the video background. //Clear all Media Manager OSD region. GDI_ClearRegion(0); //clear region 0
if (__bTVType == SETUP_SCREEN_TV_SYSTEM_PAL)
{
GDI_MoveRegion(0, REGION_X_PAL, REGION_Y_PAL);
}
//Tell OSD that Media Manager exits. OSD_ChangeUI(OSD_UI_MEDIA_MANAGER, OSD_EXIT_UI); OSD_RecoverNBForeverMsg();}//*********************************************************************************************************// Function : _OSDMM_Initial// Abstract : Call this function to initialize the UI.// Arguments : none.// Return : none.// Side Effect : none.// Notes : //*********************************************************************************************************void _OSDMM_Initial(BYTE bMode){ if (bMode == OSDMM_MODE_INITIAL_UI) {
#ifdef SUPPORT_COPY_FILE_IN_MM_UI
if (_bOSDMMUIMode == OSDMM_INITIAL_MODE_COPY)
{
HAL_ClearScreen(HAL_COLOR_BLACK, HAL_CLEAR_SCREEN_JPEG, HAL_DISP_CURRENTFRAME);
}
#endif //SUPPORT_COPY_FILE_IN_MM_UI
if (__bAttrPlay == ATTR_JPG) { // wyc1.20-909, when change to MM UI mode from JPG effect mode, need to clear buffer 0/1 to avoid show remain image on screen. // only clear current buffer will see remain image. if (__bHALJPEGEffect == HALJPEG_EFFECT_NONE) HAL_ClearScreen(HAL_COLOR_BLACK, HAL_CLEAR_SCREEN_JPEG, HAL_DISP_CURRENTFRAME); else { //HALJPEG_CompleteEffectImmediately(__HALJPEGSetting.bFrameBuffer);
//DISP_DelayVSYNC(1);
MM_CompleteJPGEffect(FALSE);
#ifndef IMAGE_FRAME_SETUP //CoCo2.38 __bMMEffectIdx = HALJPEG_EFFECT_NONE;
#endif //#ifndef IMAGE_FRAME_SETUP //CoCo2.38
HALJPEG_Reset();
HAL_ClearScreen(HAL_COLOR_BLACK, HAL_CLEAR_SCREEN_JPEG, HAL_DISP_FRAME0); HAL_ClearScreen(HAL_COLOR_BLACK, HAL_CLEAR_SCREEN_JPEG, HAL_DISP_FRAME1);
HAL_ClearScreen(HAL_COLOR_BLACK, HAL_CLEAR_SCREEN_MPEG, HAL_DISP_FRAME2); } } else { HAL_ClearScreen(HAL_COLOR_BLACK, HAL_CLEAR_SCREEN_MPEG, HAL_DISP_CURRENTFRAME); }
OS_DelayTime(COUNT_200_MSEC);
OSD_ChangeUI(OSD_UI_MEDIA_MANAGER, OSD_ENTER_UI); //Tell OSD that the Media Manage UI enters.
} __bLOGO=LOGO_NONE; _OSDMM_InitializeGDI(); //Draw the background of Media Manager _OSDMM_DrawBackground(); __bActiveDirChange = FALSE; _OSDMM_DrawBigFrame(); //draw vertical separate frame _OSDMM_DrawSeparateFrame(OSDMM_VERTICAL_SEPARATE_FRAME); //draw horizontal separate frame _OSDMM_DrawSeparateFrame(OSDMM_HORIZONTAL_SEPARATE_FRAME); /* switch (__bMMMenuID) { case MM_MENU_EDITPROG: _bOSDMMTitleType = OSDMM_TITLE_TYPE_PROGRAM; break; case MM_MENU_PROGLIST: _bOSDMMTitleType = OSDMM_TITLE_TYPE_PROGRAM_LIST; break; default: */ _bOSDMMTitleType = OSDMM_TITLE_TYPE_NONE; //reset the title type for re-drawing it. /* break; } */ _OSDMM_ClearRegion(OSDMM_PREVIEW_REGION); if (bMode == OSDMM_MODE_INITIAL_UI) { _bOSDMMHelpType = OSDMM_HELP_TYPE_NONE; _bOSDMMShowTime = FALSE; _bOSDMMPlayingTitle = FALSE; //OSD_ChangeUI(OSD_UI_MEDIA_MANAGER, OSD_ENTER_UI); //Tell OSD that the Media Manage UI enters. if (__MMSelectCursor.bPosition == POS_FILE_LIST) { __wOSDMMStartDrawItem = (__MMSelectCursor.wIndex / OSDMM_MAX_ITEM_IN_FILE_WINDOW)*OSDMM_MAX_ITEM_IN_FILE_WINDOW; } else __wOSDMMStartDrawItem = 0; _OSDMM_DrawLeftFileWindow(); _OSDMM_DrawRightFileWindow(); } else //Recover mode { if (_bOSDMMPlayingTitle && (!__btInputProgram)) { _OSDMM_UpdatePlayingTitle(); } _OSDMM_ResetAudioSpectrum(); if (__bMMMenuID == MM_MENU_PROGLIST) { _OSDMM_PL_DrawRightFileWindow(); } else { _OSDMM_DrawLeftFileWindow(); _OSDMM_DrawRightFileWindow(); if (__bMMPopMenuID == MM_POP_MENU_FILTER) { _OSDMM_ShowFileTypeDialogBox(); } else if (__bMMPopMenuID == MM_POP_MENU_SORT) { _OSDMM_ShowSortFileDialogBox(); } } } //Set the attributes for normal upper message and normal bottom message. __OSDNDUpMsgAttr.wX = OSDMM_BIG_FRAME_H+OSDMM_BIG_FRAME_WIDTH-OSDMM_BIG_FRAME_ND_DISTANCE; __OSDNDUpMsgAttr.wY = OSDMM_TITLE_START_V; __OSDNDUpMsgAttr.bBackground = OSDMM_PALETTE_ENTRY_GENERAL_BACKGROUND; __OSDNDUpMsgAttr.bTextColor = OSDMM_PALETTE_ENTRY_TITLE_STRING; __OSDNDUpMsgAttr.bShadow1 = PAL_ENTRY_COLOR_TRANSPARENT; __OSDNDUpMsgAttr.bShadow2 = PAL_ENTRY_COLOR_TRANSPARENT; __OSDNDUpMsgAttr.bColorKey = 0; __OSDNDBottomMsgAttr.wX = OSDMM_HELP_STRING_START_H; __OSDNDBottomMsgAttr.wY = OSDMM_HELP_STRING_START_V; __OSDNDBottomMsgAttr.bBackground = OSDMM_PALETTE_ENTRY_HELP_REGION_BACKGROUND; __OSDNDBottomMsgAttr.bTextColor = OSDMM_PALETTE_ENTRY_HELP_STRING; __OSDNDBottomMsgAttr.bShadow1 = PAL_ENTRY_COLOR_TRANSPARENT; __OSDNDBottomMsgAttr.bShadow2 = PAL_ENTRY_COLOR_TRANSPARENT; __OSDNDBottomMsgAttr.bColorKey = 0; //Don't draw the highlight because the cursor information is incorrect.
if (_bOSDMMUIMode != OSDMM_INITIAL_MODE_COPY)
{
_OSDMM_UpdateHighlight(OSDMM_UPDATE_DRAW);
}
//Draw all buttons _OSDMM_DrawAllButtons(); //Draw info. region. _OSDMM_DrawInfoRegion(); if ((__bAttrPlay==ATTR_JPG) && (__bMMrogressCnt != 0)) //CoCo1.11, to prevent the help exists with the progress bar. return; _OSDMM_UpdateHelp(_bOSDMMHelpType);
}//*********************************************************************************************************// Function : _OSDMM_SetFrameAttribute// Abstract : This function will set the attribute of the frame.// Arguments : none.// Return : none.// Side Effect : none.// Notes : //*********************************************************************************************************void _OSDMM_SetFrameAttribute(BYTE bStyle){ _OSDMMFrame.bColorBright = OSDMM_PALETTE_ENTRY_NORMAL_FRAME_BRIGHT; _OSDMMFrame.bColorDark = OSDMM_PALETTE_ENTRY_NORMAL_FRAME_DARK; if (bStyle == FRAME_DOUBLE) { _OSDMMFrame.bColorCenter = PAL_ENTRY_COLOR_TRANSPARENT; //"FRAME_DOUBLE" doesn't need to assign the center color? } else if (FRAME_DOUBLE_SOLID) { _OSDMMFrame.bColorCenter = OSDMM_PALETTE_ENTRY_SEPARATE_FRAME_CENTER; } _OSDMMFrame.bStyle = bStyle;}//*********************************************************************************************************// Function : _OSDMM_DrawBigFrame// Abstract : This function will draw the big frame for the file window.// Arguments : none.// Return : none.// Side Effect : none.// Notes : //*********************************************************************************************************void _OSDMM_DrawBigFrame(void){ _OSDMM_SetFrameAttribute(FRAME_DOUBLE); _OSDMMFrame.bThickness = OSDMM_BIG_FRAME_THICKNESS >> 1; _OSDMMFrame.rect.wLeft = OSDMM_BIG_FRAME_H; _OSDMMFrame.rect.wTop = OSDMM_BIG_FRAME_V; _OSDMMFrame.rect.wRight = OSDMM_BIG_FRAME_H + OSDMM_BIG_FRAME_WIDTH; _OSDMMFrame.rect.wBottom = OSDMM_BIG_FRAME_V + OSDMM_BIG_FRAME_HEIGHT; GDI_DrawFrame_909(0, &_OSDMMFrame); }//*********************************************************************************************************// Function : _OSDMM_DrawSeparateFrame// Abstract : This function will draw horizontal or vertical separate frame for the file window.// Arguments : bKind: OSDMM_VERTICAL_SEPARATE_FRAME: To draw the vertical separate frame.// : OSDMM_HORIZONTAL_SEPARATE_FRAME: To draw the horizontal separate frame.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -