📄 poweronmenu.h
字号:
//Calendar icon
#define POWERONMENU_ICON_CALENDAR_POS_X (POWERONMENU_ICON_SETUP_POS_X+POWERONMENU_ICON_WIDTH+POWERONMENU_ICON_H_DISTANCE)
#define POWERONMENU_ICON_CALENDAR_POS_Y POWERONMENU_ICON_SETUP_POS_Y
//Clock icon
#define POWERONMENU_ICON_CLOCK_POS_X (POWERONMENU_ICON_CALENDAR_POS_X+POWERONMENU_ICON_WIDTH+POWERONMENU_ICON_H_DISTANCE)
#define POWERONMENU_ICON_CLOCK_POS_Y POWERONMENU_ICON_SETUP_POS_Y
//Alarm icon
#define POWERONMENU_ICON_ALARM_POS_X (POWERONMENU_ICON_CLOCK_POS_X+POWERONMENU_ICON_WIDTH+POWERONMENU_ICON_H_DISTANCE)
#define POWERONMENU_ICON_ALARM_POS_Y POWERONMENU_ICON_SETUP_POS_Y
//Auto Power On/Off
#define POWERONMENU_ICON_AUTO_POWER_POS_X POWERONMENU_ICON_PHOTO_POS_X
#define POWERONMENU_ICON_AUTO_POWER_POS_Y (POWERONMENU_ICON_SETUP_POS_Y+POWERONMENU_ICON_HEIGHT+POWERONMENU_ICON_V_DISTANCE)
//Edit icon
#define POWERONMENU_ICON_EDIT_POS_X POWERONMENU_ICON_MUSIC_POS_X
#define POWERONMENU_ICON_EDIT_POS_Y POWERONMENU_ICON_AUTO_POWER_POS_Y
//Favorite icon
#define POWERONMENU_ICON_FAVORITE_POS_X POWERONMENU_ICON_PHOTO_MUSIC_POS_X
#define POWERONMENU_ICON_FAVORITE_POS_Y POWERONMENU_ICON_AUTO_POWER_POS_Y
//Radio Tuner icon
#define POWERONMENU_ICON_RADIO_POS_X POWERONMENU_ICON_MOVIE_POS_X
#define POWERONMENU_ICON_RADIO_POS_Y POWERONMENU_ICON_AUTO_POWER_POS_Y
*/
//Photo icon
#ifdef SUPPORT_PHOTO_ICON
#define POWERONMENU_ICON_PHOTO_POS_X (POWERONMENU_ICON_H_START+((POWERONMENU_ICON_ID_PHOTO-1)%POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_H_DISTANCE+POWERONMENU_ICON_WIDTH))
#define POWERONMENU_ICON_PHOTO_POS_Y (POWERONMENU_ICON_V_START+((POWERONMENU_ICON_ID_PHOTO-1)/POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_V_DISTANCE+POWERONMENU_ICON_HEIGHT))
#endif //SUPPORT_PHOTO_ICON
#ifdef SUPPORT_MUSIC_ICON
#define POWERONMENU_ICON_MUSIC_POS_X (POWERONMENU_ICON_H_START+((POWERONMENU_ICON_ID_MUSIC-1)%POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_H_DISTANCE+POWERONMENU_ICON_WIDTH))
#define POWERONMENU_ICON_MUSIC_POS_Y (POWERONMENU_ICON_V_START+((POWERONMENU_ICON_ID_MUSIC-1)/POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_V_DISTANCE+POWERONMENU_ICON_HEIGHT))
#endif //SUPPORT_MUSIC_ICON
#ifdef SUPPORT_PHOTO_MUSIC_ICON
#define POWERONMENU_ICON_PHOTO_MUSIC_POS_X (POWERONMENU_ICON_H_START+((POWERONMENU_ICON_ID_PHOTO_PLUS_MUSIC-1)%POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_H_DISTANCE+POWERONMENU_ICON_WIDTH))
#define POWERONMENU_ICON_PHOTO_MUSIC_POS_Y (POWERONMENU_ICON_V_START+((POWERONMENU_ICON_ID_PHOTO_PLUS_MUSIC-1)/POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_V_DISTANCE+POWERONMENU_ICON_HEIGHT))
#endif //SUPPORT_PHOTO_MUSIC_ICON
#ifdef SUPPORT_MOVIE_ICON
#define POWERONMENU_ICON_MOVIE_POS_X (POWERONMENU_ICON_H_START+((POWERONMENU_ICON_ID_MOVIE-1)%POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_H_DISTANCE+POWERONMENU_ICON_WIDTH))
#define POWERONMENU_ICON_MOVIE_POS_Y (POWERONMENU_ICON_V_START+((POWERONMENU_ICON_ID_MOVIE-1)/POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_V_DISTANCE+POWERONMENU_ICON_HEIGHT))
#endif //SUPPORT_MOVIE_ICON
#ifdef SUPPORT_SETUP_ICON
#define POWERONMENU_ICON_SETUP_POS_X (POWERONMENU_ICON_H_START+((POWERONMENU_ICON_ID_SETUP-1)%POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_H_DISTANCE+POWERONMENU_ICON_WIDTH))
#define POWERONMENU_ICON_SETUP_POS_Y (POWERONMENU_ICON_V_START+((POWERONMENU_ICON_ID_SETUP-1)/POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_V_DISTANCE+POWERONMENU_ICON_HEIGHT))
#endif //SUPPORT_SETUP_ICON
#ifdef SUPPORT_CALENDAR_ICON
#define POWERONMENU_ICON_CALENDAR_POS_X (POWERONMENU_ICON_H_START+((POWERONMENU_ICON_ID_CALENDAR-1)%POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_H_DISTANCE+POWERONMENU_ICON_WIDTH))
#define POWERONMENU_ICON_CALENDAR_POS_Y (POWERONMENU_ICON_V_START+((POWERONMENU_ICON_ID_CALENDAR-1)/POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_V_DISTANCE+POWERONMENU_ICON_HEIGHT))
#endif //SUPPORT_CALENDAR_ICON
#ifdef SUPPORT_CLOCK_ICON
#define POWERONMENU_ICON_CLOCK_POS_X (POWERONMENU_ICON_H_START+((POWERONMENU_ICON_ID_CLOCK-1)%POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_H_DISTANCE+POWERONMENU_ICON_WIDTH))
#define POWERONMENU_ICON_CLOCK_POS_Y (POWERONMENU_ICON_V_START+((POWERONMENU_ICON_ID_CLOCK-1)/POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_V_DISTANCE+POWERONMENU_ICON_HEIGHT))
#endif //SUPPORT_CLOCK_ICON
#ifdef SUPPORT_ALARM_ICON
#define POWERONMENU_ICON_ALARM_POS_X (POWERONMENU_ICON_H_START+((POWERONMENU_ICON_ID_ALARM-1)%POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_H_DISTANCE+POWERONMENU_ICON_WIDTH))
#define POWERONMENU_ICON_ALARM_POS_Y (POWERONMENU_ICON_V_START+((POWERONMENU_ICON_ID_ALARM-1)/POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_V_DISTANCE+POWERONMENU_ICON_HEIGHT))
#endif //SUPPORT_ALARM_ICON
#ifdef SUPPORT_AUTO_POWER_ICON
#define POWERONMENU_ICON_AUTO_POWER_POS_X (POWERONMENU_ICON_H_START+((POWERONMENU_ICON_ID_AUTO_POWER-1)%POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_H_DISTANCE+POWERONMENU_ICON_WIDTH))
#define POWERONMENU_ICON_AUTO_POWER_POS_Y (POWERONMENU_ICON_V_START+((POWERONMENU_ICON_ID_AUTO_POWER-1)/POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_V_DISTANCE+POWERONMENU_ICON_HEIGHT))
#endif //SUPPORT_AUTO_POWER_ICON
#ifdef SUPPORT_EDIT_ICON
#define POWERONMENU_ICON_EDIT_POS_X (POWERONMENU_ICON_H_START+((POWERONMENU_ICON_ID_EDIT-1)%POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_H_DISTANCE+POWERONMENU_ICON_WIDTH))
#define POWERONMENU_ICON_EDIT_POS_Y (POWERONMENU_ICON_V_START+((POWERONMENU_ICON_ID_EDIT-1)/POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_V_DISTANCE+POWERONMENU_ICON_HEIGHT))
#endif //SUPPORT_EDIT_ICON
#ifdef SUPPORT_FAVORITE_ICON
#define POWERONMENU_ICON_FAVORITE_POS_X (POWERONMENU_ICON_H_START+((POWERONMENU_ICON_ID_FAVORITE-1)%POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_H_DISTANCE+POWERONMENU_ICON_WIDTH))
#define POWERONMENU_ICON_FAVORITE_POS_Y (POWERONMENU_ICON_V_START+((POWERONMENU_ICON_ID_FAVORITE-1)/POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_V_DISTANCE+POWERONMENU_ICON_HEIGHT))
#endif //SUPPORT_FAVORITE_ICON
#ifdef SUPPORT_STB_ICON
#define POWERONMENU_ICON_STB_POS_X (POWERONMENU_ICON_H_START+((POWERONMENU_ICON_ID_STB-1)%POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_H_DISTANCE+POWERONMENU_ICON_WIDTH))
#define POWERONMENU_ICON_STB_POS_Y (POWERONMENU_ICON_V_START+((POWERONMENU_ICON_ID_STB-1)/POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_V_DISTANCE+POWERONMENU_ICON_HEIGHT))
#endif //SUPPORT_STB_ICON
#ifdef SUPPORT_GAME_ICON
#define POWERONMENU_ICON_GAME_POS_X (POWERONMENU_ICON_H_START+((POWERONMENU_ICON_ID_GAME-1)%POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_H_DISTANCE+POWERONMENU_ICON_WIDTH))
#define POWERONMENU_ICON_GAME_POS_Y (POWERONMENU_ICON_V_START+((POWERONMENU_ICON_ID_GAME-1)/POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_V_DISTANCE+POWERONMENU_ICON_HEIGHT))
#endif //SUPPORT_GAME_ICON
#ifdef SUPPORT_RADIO_TUNER_ICON
#define POWERONMENU_ICON_RADIO_POS_X (POWERONMENU_ICON_H_START+((POWERONMENU_ICON_ID_RADIO_TUNER-1)%POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_H_DISTANCE+POWERONMENU_ICON_WIDTH))
#define POWERONMENU_ICON_RADIO_POS_Y (POWERONMENU_ICON_V_START+((POWERONMENU_ICON_ID_RADIO_TUNER-1)/POWERONMENU_ICON_NUM_IN_ROW)*(POWERONMENU_ICON_V_DISTANCE+POWERONMENU_ICON_HEIGHT))
#endif //SUPPORT_RADIO_TUNER_ICON
#endif //SUPPORT_STB
#endif //#ifdef NL_SOLUTION
/////////////////////////////////////////////////////////////////////////////////////////////////////
//define the Sub UI mode
typedef enum tagPOWERONMENU_SUB_UI_MODE_LIST
{
POWERONMENU_SUB_UI_MODE_NONE = 0,
POWERONMENU_SUB_UI_CALENDAR,
POWERONMENU_SUB_UI_CLOCK,
POWERONMENU_SUB_UI_ALARM,
POWERONMENU_SUB_UI_AUTO_POWER,
POWERONMENU_SUB_UI_EDIT,
POWERONMENU_SUB_UI_GAME,
} POWERONMENU_SUB_UI_MODE_LIST;
/////////////////////////////////////////////////////////////////////////////////////////////////////
//define the background palette index of each icon
/*
#define POWERONMENU_ICON_PALETTE_ENTRY_PHOTO_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+29)
#define POWERONMENU_ICON_PALETTE_ENTRY_MUSIC_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+140)
#define POWERONMENU_ICON_PALETTE_ENTRY_PHOTO_MUSIC_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+136)
#define POWERONMENU_ICON_PALETTE_ENTRY_MOVIE_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+132)
#define POWERONMENU_ICON_PALETTE_ENTRY_SETUP_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+11)
#define POWERONMENU_ICON_PALETTE_ENTRY_CALENDAR_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+102)
#define POWERONMENU_ICON_PALETTE_ENTRY_CLOCK_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+144)
#define POWERONMENU_ICON_PALETTE_ENTRY_ALARM_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+185)
#define POWERONMENU_ICON_PALETTE_ENTRY_AUTO_POWER_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+130)
#define POWERONMENU_ICON_PALETTE_ENTRY_STB_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+100)
#define POWERONMENU_ICON_PALETTE_ENTRY_PHOTO_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+49)
#define POWERONMENU_ICON_PALETTE_ENTRY_MUSIC_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+20)
#define POWERONMENU_ICON_PALETTE_ENTRY_PHOTO_MUSIC_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+13)
#define POWERONMENU_ICON_PALETTE_ENTRY_MOVIE_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+99)
#define POWERONMENU_ICON_PALETTE_ENTRY_SETUP_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+117)
#define POWERONMENU_ICON_PALETTE_ENTRY_CALENDAR_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+9)
#define POWERONMENU_ICON_PALETTE_ENTRY_CLOCK_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+153)
#define POWERONMENU_ICON_PALETTE_ENTRY_ALARM_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+141)
#define POWERONMENU_ICON_PALETTE_ENTRY_AUTO_POWER_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+47)
#define POWERONMENU_ICON_PALETTE_ENTRY_STB_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+66)
*/
#define POWERONMENU_ICON_PALETTE_ENTRY_PHOTO_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+170)
#define POWERONMENU_ICON_PALETTE_ENTRY_MUSIC_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+172)
#define POWERONMENU_ICON_PALETTE_ENTRY_PHOTO_MUSIC_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+174)
#define POWERONMENU_ICON_PALETTE_ENTRY_MOVIE_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+176)
#define POWERONMENU_ICON_PALETTE_ENTRY_SETUP_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+178)
#define POWERONMENU_ICON_PALETTE_ENTRY_CALENDAR_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+180)
#define POWERONMENU_ICON_PALETTE_ENTRY_CLOCK_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+182)
#define POWERONMENU_ICON_PALETTE_ENTRY_ALARM_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+184)
#define POWERONMENU_ICON_PALETTE_ENTRY_AUTO_POWER_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+186)
#define POWERONMENU_ICON_PALETTE_ENTRY_STB_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+188)
#define POWERONMENU_ICON_PALETTE_ENTRY_EDIT_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+192)
#define POWERONMENU_ICON_PALETTE_ENTRY_FAVORITE_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+194)
#define POWERONMENU_ICON_PALETTE_ENTRY_GAME_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+190)
#define POWERONMENU_ICON_PALETTE_ENTRY_RADIO_TUNER_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+196)
#define POWERONMENU_ICON_PALETTE_ENTRY_PHOTO_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+171)
#define POWERONMENU_ICON_PALETTE_ENTRY_MUSIC_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+173)
#define POWERONMENU_ICON_PALETTE_ENTRY_PHOTO_MUSIC_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+175)
#define POWERONMENU_ICON_PALETTE_ENTRY_MOVIE_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+177)
#define POWERONMENU_ICON_PALETTE_ENTRY_SETUP_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+179)
#define POWERONMENU_ICON_PALETTE_ENTRY_CALENDAR_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+181)
#define POWERONMENU_ICON_PALETTE_ENTRY_CLOCK_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+183)
#define POWERONMENU_ICON_PALETTE_ENTRY_ALARM_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+185)
#define POWERONMENU_ICON_PALETTE_ENTRY_AUTO_POWER_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+187)
#define POWERONMENU_ICON_PALETTE_ENTRY_STB_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+189)
#define POWERONMENU_ICON_PALETTE_ENTRY_EDIT_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+193)
#define POWERONMENU_ICON_PALETTE_ENTRY_FAVORITE_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+195)
#define POWERONMENU_ICON_PALETTE_ENTRY_GAME_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+191)
#define POWERONMENU_ICON_PALETTE_ENTRY_RADIO_TUNER_H_ICON (POWERONMENU_BITMAP_PALETTE_INDEX_START+197)
/////////////////////////////////////////////////////////////////////////////////////////////////////
//define the palette index
#define POWERONMENU_PALETTE_ENTRY_ICON_NORMAL_TEXT POWERONMENU_PALETTE_INDEX_START
#define POWERONMENU_PALETTE_ENTRY_ICON_HIGHLIGHT_TEXT (POWERONMENU_PALETTE_INDEX_START+1)
//define the palette color
#define POWERONMENU_PALETTE_COLOR_ICON_NORMAL_TEXT 0xFFFFFF
#define POWERONMENU_PALETTE_COLOR_ICON_HIGHLIGHT_TEXT 0x000000
//define the color for icon's state.
#define POWERONMENU_PALETTE_COLOR_ICON_HIGHLIGHT_BACKGROUND 0xFFD900
#define POWERONMENU_PALETTE_COLOR_ICON_PRESSED_BACKGROUND 0xA8A8A8
/////////////////////////////////////////////////////////////////////////////////////////////////////
//Export functions
void POWERONMENU_Initial(void);
BYTE POWERONMENU_ProcessKey(void);
void POWERONMENU_ConfigOSDRegion(void);
BYTE POWERONMENU_Recover(BYTE bRecoverRegion);
void POWERONMENU_Exit(BYTE bExitMode);
void POWERONMENU_BackToMainMenu(void);
void POWERONMENU_CheckStatus(void);
void POWERONMENU_InternalExit(void);
void POWERONMENU_ClearScreen(void);
BYTE POWERONMENU_CheckModeKey(void);
void POWERONMENU_Trigger(BYTE bType, WORD wTime);
//Internal functions
void _POWERONMENU_InitializeGDI(void);
void _POWERONMENU_ShowIcon(void);
void _POWERONMENU_UpdateCursor(BYTE bCursorIndex, BYTE bClear);
void _POWERONMENU_GotoUpIcon(void);
void _POWERONMENU_GotoDownIcon(void);
void _POWERONMENU_MoveCursor(BYTE bNewCursorIndex);
void _POWERONMENU_GotoRightIcon(void);
void _POWERONMENU_GotoLeftIcon(void);
void _POWERONMENU_DrawAllUI(void);
void _POWERONMENU_DrawIconText(BYTE bIconIndex, BYTE bHighlight);
BYTE _POWERONMENU_ProcessIcon(void);
void _POWERONMENU_EnterPhotoMode(void);
void _POWERONMENU_EnterMusicMode(void);
void _POWERONMENU_EnterPhotoMusicMode(void);
void _POWERONMENU_EnterMovieMode(void);
void _POWERONMENU_EnterFavoriteMode(void);
/////////////////////////////////////////////////////////////////////////////////////////////////////
// The power on menu structure
typedef struct tagPOWER_ON_MENU_ICON
{
BYTE bIconID;
BYTE bNormalBGPaletteIndex;
BYTE bHighlightBGPaletteIndex;
WORD wStartX;
WORD wStartY;
} POWER_ON_MENU_ICON, *PPOWER_ON_MENU_ICON;
/////////////////////////////////////////////////////////////////////////////////////////////////////
#endif //__POWERONMENU_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -