📄 poweronmenu.c
字号:
#include "winav.h"
#include "utl.h"
#include "gdi.h"
#include "osddsply.h"
#include "osdnd.h"
#include "input.h"
#include "cc.h"
#include "osd.h"
#include "disp.h"
#include "osdss.h"
#include "hal.h"
#include "initial.h"
#include "infofilter.h"
#include "mmanager.h"
#include "poweronmenu.h"
#include "storage.h"
#include "dvdsetup.h"
#include "mainmenu.h"
#include "notransl.h"
#include "OSDString\\strextrn.h"
#include "fontindex.h"
#ifdef SUPPORT_RADIO_TUNER
#include "radio.h"
#endif //SUPPORT_RADIO_TUNER
#include "clock.h"
#include "calenui.h"
#include "alarm.h"
#include "autopower.h"
#include "media.h"
#include "srcfilter.h"
#include "jpegdec.h"
#include "edit.h"
#ifdef SUPPORT_PHOTO_ICON
const BYTE _aPOWERPNMENU_Photo[]=
{
#include "bmp/Menu_Photo.txt"
};
const BYTE _aPOWERPNMENU_Photo_H[]=
{
#include "bmp/Menu_Photo_H.txt"
};
#endif //SUPPORT_PHOTO_ICON
#ifdef SUPPORT_MUSIC_ICON
const BYTE _aPOWERPNMENU_Music[]=
{
#include "bmp/Menu_Music.txt"
};
const BYTE _aPOWERPNMENU_Music_H[]=
{
#include "bmp/Menu_Music_H.txt"
};
#endif //SUPPORT_MUSIC_ICON
#ifdef SUPPORT_PHOTO_MUSIC_ICON
const BYTE _aPOWERPNMENU_Photo_Audio[]=
{
#include "bmp/Menu_Photo_Audio.txt"
};
const BYTE _aPOWERPNMENU_Photo_Audio_H[]=
{
#include "bmp/Menu_Photo_Audio_H.txt"
};
#endif //SUPPORT_PHOTO_MUSIC_ICON
#ifdef SUPPORT_MOVIE_ICON
const BYTE _aPOWERPNMENU_Movie[]=
{
#include "bmp/Menu_Movie.txt"
};
const BYTE _aPOWERPNMENU_Movie_H[]=
{
#include "bmp/Menu_Movie_H.txt"
};
#endif //SUPPORT_MOVIE_ICON
#ifdef SUPPORT_SETUP_ICON
const BYTE _aPOWERPNMENU_Setup[]=
{
#include "bmp/Menu_Setup.txt"
};
const BYTE _aPOWERPNMENU_Setup_H[]=
{
#include "bmp/Menu_Setup_H.txt"
};
#endif //SUPPORT_SETUP_ICON
#ifdef SUPPORT_CALENDAR_ICON
const BYTE _aPOWERPNMENU_Calender[]=
{
#include "bmp/Menu_Calender.txt"
};
const BYTE _aPOWERPNMENU_Calender_H[]=
{
#include "bmp/Menu_Calender_H.txt"
};
#endif //SUPPORT_CALENDAR_ICON
#ifdef SUPPORT_CLOCK_ICON
const BYTE _aPOWERPNMENU_Clock[]=
{
#include "bmp/Menu_Clock.txt"
};
const BYTE _aPOWERPNMENU_Clock_H[]=
{
#include "bmp/Menu_Clock_H.txt"
};
#endif //SUPPORT_CLOCK_ICON
#ifdef SUPPORT_ALARM_ICON
const BYTE _aPOWERPNMENU_Alarm[]=
{
#include "bmp/Menu_Alarm.txt"
};
const BYTE _aPOWERPNMENU_Alarm_H[]=
{
#include "bmp/Menu_Alarm_H.txt"
};
#endif //SUPPORT_ALARM_ICON
#ifdef SUPPORT_AUTO_POWER_ICON
const BYTE _aPOWERPNMENU_AutoPower[]=
{
#include "bmp/Menu_AutoPower.txt"
};
const BYTE _aPOWERPNMENU_AutoPower_H[]=
{
#include "bmp/Menu_AutoPower_H.txt"
};
#endif //SUPPORT_AUTO_POWER_ICON
#ifdef SUPPORT_EDIT_ICON
const BYTE _aPOWERPNMENU_Edit[]=
{
#include "bmp/Menu_Edit.txt"
};
const BYTE _aPOWERPNMENU_Edit_H[]=
{
#include "bmp/Menu_Edit_H.txt"
};
#endif //SUPPORT_EDIT_ICON
#ifdef SUPPORT_FAVORITE_ICON
const BYTE _aPOWERPNMENU_Favorite[]=
{
#include "bmp/Menu_Favor.txt"
};
const BYTE _aPOWERPNMENU_Favorite_H[]=
{
#include "bmp/Menu_Favor_H.txt"
};
#endif //SUPPORT_FAVORITE_ICON
#ifdef SUPPORT_RADIO_TUNER_ICON
const BYTE _aPOWERPNMENU_Radio[]=
{
#include "bmp/Menu_Radio.txt"
};
const BYTE _aPOWERPNMENU_Radio_H[]=
{
#include "bmp/Menu_Radio_H.txt"
};
#endif //SUPPORT_RADIO_TUNER_ICON
#ifdef SUPPORT_STB_ICON
const BYTE _aPOWERPNMENU_STB[]=
{
#include "bmp/Menu_STB.txt"
};
const BYTE _aPOWERPNMENU_STB_H[]=
{
#include "bmp/Menu_STB_H.txt"
};
#endif //SUPPORT_STB_ICON
#ifdef SUPPORT_GAME_ICON
const BYTE _aPOWERPNMENU_Game[]=
{
#include "bmp/Menu_Game.txt"
};
const BYTE _aPOWERPNMENU_Game_H[]=
{
#include "bmp/Menu_Game_H.txt"
};
#endif //SUPPORT_GAME_ICON
const BYTE *_aPOWERONMENUBMPArray[POWERONMENU_TOTAL_ICON*2] = {
#ifdef SUPPORT_PHOTO_ICON
_aPOWERPNMENU_Photo, // 0
#endif //SUPPORT_PHOTO_ICON
#ifdef SUPPORT_MUSIC_ICON
_aPOWERPNMENU_Music, // 1
#endif //SUPPORT_MUSIC_ICON
#ifdef SUPPORT_PHOTO_MUSIC_ICON
_aPOWERPNMENU_Photo_Audio, // 2
#endif //SUPPORT_PHOTO_MUSIC_ICON
#ifdef SUPPORT_MOVIE_ICON
_aPOWERPNMENU_Movie, // 3
#endif //SUPPORT_MOVIE_ICON
#ifdef SUPPORT_SETUP_ICON
_aPOWERPNMENU_Setup, // 4
#endif //SUPPORT_SETUP_ICON
#ifdef SUPPORT_CALENDAR_ICON
_aPOWERPNMENU_Calender, // 5
#endif //SUPPORT_CALENDAR_ICON
#ifdef SUPPORT_CLOCK_ICON
_aPOWERPNMENU_Clock, // 6
#endif //SUPPORT_CLOCK_ICON
#ifdef SUPPORT_ALARM_ICON
_aPOWERPNMENU_Alarm, // 7
#endif //SUPPORT_ALARM_ICON
#ifdef SUPPORT_AUTO_POWER_ICON
_aPOWERPNMENU_AutoPower, // 8
#endif //SUPPORT_AUTO_POWER_ICON
#ifdef SUPPORT_STB_ICON
_aPOWERPNMENU_STB, // 9
#endif //SUPPORT_STB_ICON
#ifdef SUPPORT_EDIT_ICON
_aPOWERPNMENU_Edit, // 10
#endif //SUPPORT_EDIT_ICON
#ifdef SUPPORT_FAVORITE_ICON
_aPOWERPNMENU_Favorite, // 11
#endif //SUPPORT_FAVORITE_ICON
#ifdef SUPPORT_GAME_ICON
_aPOWERPNMENU_Game, //12
#endif //SUPPORT_GAME_ICON
#ifdef SUPPORT_RADIO_TUNER_ICON
_aPOWERPNMENU_Radio, //13
#endif //SUPPORT_RADIO_TUNER_ICON
#ifdef SUPPORT_PHOTO_ICON
_aPOWERPNMENU_Photo_H, // 0
#endif //SUPPORT_PHOTO_ICON
#ifdef SUPPORT_MUSIC_ICON
_aPOWERPNMENU_Music_H, // 1
#endif //SUPPORT_MUSIC_ICON
#ifdef SUPPORT_PHOTO_MUSIC_ICON
_aPOWERPNMENU_Photo_Audio_H, // 2
#endif //SUPPORT_PHOTO_MUSIC_ICON
#ifdef SUPPORT_MOVIE_ICON
_aPOWERPNMENU_Movie_H, // 3
#endif //SUPPORT_MOVIE_ICON
#ifdef SUPPORT_SETUP_ICON
_aPOWERPNMENU_Setup_H, // 4
#endif //SUPPORT_SETUP_ICON
#ifdef SUPPORT_CALENDAR_ICON
_aPOWERPNMENU_Calender_H, // 5
#endif //SUPPORT_CALENDAR_ICON
#ifdef SUPPORT_CLOCK_ICON
_aPOWERPNMENU_Clock_H, // 6
#endif //SUPPORT_CLOCK_ICON
#ifdef SUPPORT_ALARM_ICON
_aPOWERPNMENU_Alarm_H, // 7
#endif //SUPPORT_ALARM_ICON
#ifdef SUPPORT_AUTO_POWER_ICON
_aPOWERPNMENU_AutoPower_H, // 8
#endif //SUPPORT_AUTO_POWER_ICON
#ifdef SUPPORT_STB_ICON
_aPOWERPNMENU_STB_H, // 9
#endif //SUPPORT_STB_ICON
#ifdef SUPPORT_EDIT_ICON
_aPOWERPNMENU_Edit_H, // 10
#endif //SUPPORT_EDIT_ICON
#ifdef SUPPORT_FAVORITE_ICON
_aPOWERPNMENU_Favorite_H, // 11
#endif //SUPPORT_FAVORITE_ICON
#ifdef SUPPORT_GAME_ICON
_aPOWERPNMENU_Game_H, // 12
#endif //SUPPORT_GAME_ICON
#ifdef SUPPORT_RADIO_TUNER_ICON
_aPOWERPNMENU_Radio_H, //13
#endif //SUPPORT_RADIO_TUNER_ICON
};
const DWORD _aPOWERONMENU_Palette[]= // Palette 2 data, for button bitmap
{
#include "bmp/palPowerOnMenu.txt" // bit 8/24 indicate Mix_Enable
};
const POWER_ON_MENU_ICON PowerOnMenuIcon[POWERONMENU_TOTAL_ICON] = {
#ifdef SUPPORT_PHOTO_ICON
{POWERONMENU_ICON_ID_PHOTO, POWERONMENU_ICON_PALETTE_ENTRY_PHOTO_ICON, POWERONMENU_ICON_PALETTE_ENTRY_PHOTO_H_ICON, POWERONMENU_ICON_PHOTO_POS_X, POWERONMENU_ICON_PHOTO_POS_Y},
#endif //SUPPORT_PHOTO_ICON
#ifdef SUPPORT_MUSIC_ICON
{POWERONMENU_ICON_ID_MUSIC, POWERONMENU_ICON_PALETTE_ENTRY_MUSIC_ICON, POWERONMENU_ICON_PALETTE_ENTRY_MUSIC_H_ICON, POWERONMENU_ICON_MUSIC_POS_X, POWERONMENU_ICON_MUSIC_POS_Y},
#endif //SUPPORT_MUSIC_ICON
#ifdef SUPPORT_PHOTO_MUSIC_ICON
{POWERONMENU_ICON_ID_PHOTO_PLUS_MUSIC, POWERONMENU_ICON_PALETTE_ENTRY_PHOTO_MUSIC_ICON, POWERONMENU_ICON_PALETTE_ENTRY_PHOTO_MUSIC_H_ICON, POWERONMENU_ICON_PHOTO_MUSIC_POS_X, POWERONMENU_ICON_PHOTO_MUSIC_POS_Y},
#endif //SUPPORT_PHOTO_MUSIC_ICON
#ifdef SUPPORT_MOVIE_ICON
{POWERONMENU_ICON_ID_MOVIE, POWERONMENU_ICON_PALETTE_ENTRY_MOVIE_ICON, POWERONMENU_ICON_PALETTE_ENTRY_MOVIE_H_ICON, POWERONMENU_ICON_MOVIE_POS_X, POWERONMENU_ICON_MOVIE_POS_Y},
#endif //SUPPORT_MOVIE_ICON
#ifdef SUPPORT_SETUP_ICON
{POWERONMENU_ICON_ID_SETUP, POWERONMENU_ICON_PALETTE_ENTRY_SETUP_ICON, POWERONMENU_ICON_PALETTE_ENTRY_SETUP_H_ICON, POWERONMENU_ICON_SETUP_POS_X, POWERONMENU_ICON_SETUP_POS_Y},
#endif //SUPPORT_SETUP_ICON
#ifdef SUPPORT_CALENDAR_ICON
{POWERONMENU_ICON_ID_CALENDAR, POWERONMENU_ICON_PALETTE_ENTRY_CALENDAR_ICON, POWERONMENU_ICON_PALETTE_ENTRY_CALENDAR_H_ICON, POWERONMENU_ICON_CALENDAR_POS_X, POWERONMENU_ICON_CALENDAR_POS_Y},
#endif //SUPPORT_CALENDAR_ICON
#ifdef SUPPORT_CLOCK_ICON
{POWERONMENU_ICON_ID_CLOCK, POWERONMENU_ICON_PALETTE_ENTRY_CLOCK_ICON, POWERONMENU_ICON_PALETTE_ENTRY_CLOCK_H_ICON, POWERONMENU_ICON_CLOCK_POS_X, POWERONMENU_ICON_CLOCK_POS_Y},
#endif //SUPPORT_CLOCK_ICON
#ifdef SUPPORT_ALARM_ICON
{POWERONMENU_ICON_ID_ALARM, POWERONMENU_ICON_PALETTE_ENTRY_ALARM_ICON, POWERONMENU_ICON_PALETTE_ENTRY_ALARM_H_ICON, POWERONMENU_ICON_ALARM_POS_X, POWERONMENU_ICON_ALARM_POS_Y},
#endif //SUPPORT_ALARM_ICON
#ifdef SUPPORT_AUTO_POWER_ICON
{POWERONMENU_ICON_ID_AUTO_POWER, POWERONMENU_ICON_PALETTE_ENTRY_AUTO_POWER_ICON, POWERONMENU_ICON_PALETTE_ENTRY_AUTO_POWER_H_ICON, POWERONMENU_ICON_AUTO_POWER_POS_X, POWERONMENU_ICON_AUTO_POWER_POS_Y},
#endif //SUPPORT_AUTO_POWER_ICON
#ifdef SUPPORT_STB_ICON
{POWERONMENU_ICON_ID_STB, POWERONMENU_ICON_PALETTE_ENTRY_STB_ICON, POWERONMENU_ICON_PALETTE_ENTRY_STB_H_ICON, POWERONMENU_ICON_STB_POS_X, POWERONMENU_ICON_STB_POS_Y},
#endif //SUPPORT_STB_ICON
#ifdef SUPPORT_EDIT_ICON
{POWERONMENU_ICON_ID_EDIT, POWERONMENU_ICON_PALETTE_ENTRY_EDIT_ICON, POWERONMENU_ICON_PALETTE_ENTRY_EDIT_H_ICON, POWERONMENU_ICON_EDIT_POS_X, POWERONMENU_ICON_EDIT_POS_Y},
#endif //SUPPORT_EDIT_ICON
#ifdef SUPPORT_FAVORITE_ICON
{POWERONMENU_ICON_ID_FAVORITE, POWERONMENU_ICON_PALETTE_ENTRY_FAVORITE_ICON, POWERONMENU_ICON_PALETTE_ENTRY_FAVORITE_H_ICON, POWERONMENU_ICON_FAVORITE_POS_X, POWERONMENU_ICON_FAVORITE_POS_Y},
#endif //SUPPORT_FAVORITE_ICON
#ifdef SUPPORT_GAME_ICON
{POWERONMENU_ICON_ID_GAME, POWERONMENU_ICON_PALETTE_ENTRY_GAME_ICON, POWERONMENU_ICON_PALETTE_ENTRY_GAME_H_ICON, POWERONMENU_ICON_GAME_POS_X, POWERONMENU_ICON_GAME_POS_Y},
#endif //SUPPORT_GAME_ICON
#ifdef SUPPORT_RADIO_TUNER_ICON
{POWERONMENU_ICON_ID_RADIO_TUNER, POWERONMENU_ICON_PALETTE_ENTRY_RADIO_TUNER_ICON, POWERONMENU_ICON_PALETTE_ENTRY_RADIO_TUNER_H_ICON, POWERONMENU_ICON_RADIO_POS_X, POWERONMENU_ICON_RADIO_POS_Y},
#endif //SUPPORT_RADIO_TUNER_ICON
};
BYTE _bPOWERONMENUCursorIndex;
BYTE __bPOWERONMENUInitial = FALSE;
BYTE _bPOWERONMENUSubUIMode;
BYTE _bPOWERONMENUShowPlayableFile = FALSE; //CoCo1.11
extern void MEDIA_USB(void);
extern BYTE __bMMExtFilterMode;
extern BYTE __bMMAutoPlay;
extern IMAGE_FRAME_SETUPINFO __ImageFrameSetupInfo;
extern BYTE __bLOGO;
extern void MEDIA_ClearUSBSwitchState(void);
//***************************************************************************
// Function : _POWERONMENU_InitializeGDI
// Abstract : Initialize the palette for the power on menu.
// Arguments : none.
// Return : none.
// Side Effect : none.
// Notes :
//***************************************************************************
void _POWERONMENU_InitializeGDI(void)
{
//Initialize the text palettes
GDI_ChangePALEntry(POWERONMENU_PALETTE_ENTRY_ICON_NORMAL_TEXT, POWERONMENU_PALETTE_COLOR_ICON_NORMAL_TEXT, FALSE);
GDI_ChangePALEntry(POWERONMENU_PALETTE_ENTRY_ICON_HIGHLIGHT_TEXT, POWERONMENU_PALETTE_COLOR_ICON_HIGHLIGHT_TEXT, FALSE);
GDI_WaitPaletteComplete();
}
void POWERONMENU_Initial(void)
{
//DWORD dwSaveInt;
if (__bPOWERONMENUInitial)
return;
/* CoCo, set "__bLOGO = 0" will enable display after displaying LOGO.
//Enable the display always.
HAL_DISABLE_INTERRUPTS( dwSaveInt );
__dwVideo_en |= DISP_VIDEO_READY;
HAL_RESTORE_INTERRUPTS( dwSaveInt );
DISP_DisplayCtrl(DISP_MAINVIDEO, TRUE);
*/
#ifdef SUPPORT_JPEG_AUDIO_PLAYING
if (__bMMJPEGAudioMode)
{
MM_ExitJPEGAudioMode();
}
#endif //SUPPORT_JPEG_AUDIO_PLAYING
// wyc2.38-950, stop and reset variables when back to menu.
CC_KeyCommand(KEY_STOP);
//MEDIA_Removed(SOURCE_DISC);
// wyc1.05-909, reset state to open/close and show LOGO when media removed.
CC_ResetState( KEY_OPEN_CLOSE );
OSD_ChangeUI(OSD_UI_POWERON_MENU, OSD_ENTER_UI);
#ifdef PRESTOP_BEFORE_SETUP_AND_PROGRAM
CC_ForceStop(CC_FORCE_STOP_FROM_POWERON_MENU);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -