/******************************************************************************* ** common_guiobj_mainmenu.h : Description ...... ** ** Copyright(c) 2008 Sunmedia Technologies - All Rights Reserved ** Author : qin.he ** ** $Id: common_guiobj_mainmenu.h 1069 2010-11-16 10:32:32Z b.yang_c1 $ *******************************************************************************/ #ifndef _APP_GUIOBJ_MAINMENU_H_ #define _APP_GUIOBJ_MAINMENU_H_ #include "app_gui.h" #include "app_menumgr.h" #define MAINMENU_MAX_ITEM 8 #define MAINMENU_TOTALITEM_MAX 15 #define MAINMENU_MAX_ICON 5 //add for LCN item of mainmenu //#define SUPPORT_MENU_DISPLAY_LCN_ITEM typedef enum { MAINMENU_MENU = 0, MAINMENU_PICTURE_MENU, MAINMENU_SOUND_MENU, MAINMENU_FEATURE_MENU, MAINMENU_SETUP_MENU, MAINMENU_LANGUAGE_MENU, MAINMENU_EQ_MENU, MAINMENU_CLOCK_MENU, MAINMENU_PCSETUP_MENU, MAINMENU_UPGRADE_MENU, MAINMENU_SYSTEMINFO_MENU, MAINMENU_CHANNELTUNE_MENU_1, #ifdef CONFIG_VCHIP_SUPPORT MAINMENU_VCHIPSET_MENU, #endif MAINMENU_MAX_MENU }MainMenu_SubMenu_t; //mainmenu typedef enum { MAIN_SCREEN_ITEM = 0, MAIN_PICTURE_ITEM, MAIN_SOUND_ITEM, MAIN_FEATURE_ITEM, MAIN_SETUP_ITEM, MAIN_MAX_ITEM }MainMenuItem_t; typedef enum { FIRST_ENTER_MAINMENU = 0, NON_FIRST_ENTER_MAINMENU, PICTURE_MENU, SOUND_MENU, FEATURE_MENU, SETUP_MENU, SCREEN_MENU, GAME_MENU } MainMenu_Param_t; typedef enum { FIRST_PAGE = 0, SECOND_PAGE, MAX_PAGE }PicturePage_t; typedef struct { UINT32 dStrID; const UINT16 Type; bool HideFlag; } APP_Mainmenu_SubItemEx_t; typedef struct { UINT32 ItemListStr[MAINMENU_TOTALITEM_MAX + 1]; UINT16 ItemType[MAINMENU_TOTALITEM_MAX + 1]; UINT16 ItemStatus[MAIN_MAX_ITEM]; UINT16 ItemTotalNum; } APP_Mainmenu_SubItemParam_t; extern APP_Mainmenu_SubItemParam_t g_stMenuParam; extern APP_Mainmenu_SubItemParam_t g_stMainMenuParam; /*picture menu*/ typedef enum { #ifdef SUPPORT_ENVIRONMENT_SELECT ENVIRONMENT_SELECT_ITEM = 0, PICTURE_MODE_ITEM, #else PICTURE_MODE_ITEM = 0, #endif BRIGHTNESS_ITEM, CONTRAST_ITEM, SHARPNESS_ITEM, COLOUR_ITEM, TINT_ITEM, COLOR_TEMPERATURE_ITEM , NOISE_REDUCTION_ITEM, BACKLIGHT_ITEM, PICTURE_MAX_ITEM, }PictureItem_t; typedef enum { PICTURE_FROM_MAINMENU = 0, PICTURE_FROM_MAINMENU_EVENTUP, PICTURE_FROM_ADJUST, PICTURE_FROM_OPTIONMENU, } Picture_Param_t; /*sound menu*/ typedef enum { SOUN_MODE_ITEM = PICTURE_MAX_ITEM + 1, BASS_ITEM, TREBLE_ITEM, BALANCE_ITEM, SURROUND_ITEM, SPDIF_ITEM, AVL_ITEM, #ifdef SUPPROT_MAINMENU_AUDIO_DELAY AUDIO_DELAY_ITEM, #endif SOUND_MAX_ITEM }SoundItem_t; typedef enum { SOUND_FROM_MAINMENU = 0, SOUND_FROM_MAINMENU_EVENTUP, SOUND_FROM_ADJUST, SOUND_FROM_OPTIONMENU, SOUND_FROM_EQ, } Sound_Param_t; /*feature menu*/ typedef enum { OSDTIMER_ITEM = SOUND_MAX_ITEM + 1, #ifdef CONFIG_SUPPORT_SET_CLOCK_ONOFFTIME CLOCK_CURRENT_ITEM, OFF_TIME_ITEM, ON_TIME_ITEM, #endif SLEEPTIMER_ITEM, AUTOPOWEROFF_ITEM, FEATURE_MAX_ITEM }FeatureItem_t; typedef enum { FEATURE_FROM_MAINMENU =0, FEATURE_FROM_MAINMENU_EVENTUP, } Feature_Param_t; typedef enum _ClockItem_t { DATE_ITEM = 0, TIME_ITEM, TIME_ZONE_ITEM, #ifndef UNSHOW_DST_ITEM DST_ITEM, #endif #ifdef TEAC_ONOFF_TIMER_SUPPORT OFFTIME_ITEM, ONTIME_ITEM, #endif CLOCK_LIST_ID_MAX }ClockItem_t; typedef enum _OnOffTimeItem_t { ONOFFTIME_REPEAT_ITEM = 0, ONOFFTIME_HOUR_ITEM, ONOFFTIME_MINUTE_ITEM, ONOFFTIME_SOURCE_ITEM, ONOFFTIME_VOLUME_ITEM, ONOFFTIME_LIST_ID_MAX }OnOffTimeItem_t; #ifdef OSD_GAME_SUPPORT typedef enum { OSDGAME_ACTION_BOXMAN, OSDGAME_ACTION_TETRIS, OSDGAME_ACTION_HITRAT, OSDGAME_ACTION_GOBANG, OSDGAME_ACTION_SUDOKU, }OsdGame_Param_t; #endif /*setup menu*/ typedef enum { LANGUAGE_ITEM = FEATURE_MAX_ITEM + 1, #ifdef CONFIG_SUPPORT_TTX TT_LANGUAGE_ITEM, #endif ASPECT_RATIO, #ifdef CONFIG_ENABLE_MIR SCARTOUTPUT_ITEM, #endif HDMIMODE_ITEM, BLUESCREEN_ITEM, KEYLOCK_ITEM, #ifdef CONFIG_SUPPORT_ESTICKER_INFILE ESTICKER_ITEM, #endif HDMI_LINK_ITEM, #if defined(CONFIG_BT_RDA5856) ||defined(CONFIG_BT_POL6556) BTSETTING_ITEM, #endif #ifdef CONFIG_CC_SUPPORT CCMODE_ITEM, #endif #ifdef CONFIG_VCHIP_SUPPORT VCHIPSET_ITEM, #endif HOMEMODE_ITEM, BACKLIGHTBOOST_ITEM, #ifdef CONFIG_SUPPORT_CAPTURE_LOGO CAPTURE_LOGO_ITEM, #endif RESETTVSETTING_ITEM, SOFTWAREUPGRADE_ITEM, #ifdef CONFIG_SUPPORT_NET_OTA NETWORKOTA_ITEM, #endif #if (defined(DVD_SETUP_MENU_CELLO) && defined(CONFIG_SUPPORT_IR_TX)) DVD_SETUP_ITEM, #endif #ifdef CONFIG_SUPPORT_NET_SETTING NETWORK_SETUP_ITEM, #endif #ifdef CONFIG_MAINMENU_DISPLAY_MODE NES_DISPLAY_MODE, #endif #ifdef CONFIG_POWER_ON_TV_LOCK POWERON_TV_LOCK_ITEM, #endif #ifdef CONFIG_PROJECTOR_ASPECT PROJECTION_ZOOM_ITEM, #endif SETUP_MAX_ITEM }SetupItem_t; typedef enum { SETUP_FROM_MAINMENU = 0, SETUP_FROM_MAINMENU_EVENTUP, SETUP_FROM_LANGUAGEMENU = LANGUAGE_ITEM, #ifdef CONFIG_SUPPORT_TTX SETUP_FROM_TTLANGUAGE = TT_LANGUAGE_ITEM, #endif #ifdef CONFIG_MAINMENU_DISPLAY_MODE SETUP_FROM_NES_DP_MODE = NES_DISPLAY_MODE, #endif SETUP_FROM_ASPECTRATIO = ASPECT_RATIO, SETUP_FROM_HDMI_LINK = HDMI_LINK_ITEM, #if defined(CONFIG_BT_RDA5856) ||defined(CONFIG_BT_POL6556) SETUP_FROM_BTSETTING = BTSETTING_ITEM, #endif #ifdef CONFIG_VCHIP_SUPPORT SETUP_FROM_VCHIP_SETUP = VCHIPSET_ITEM, #endif SETUP_FROM_HOMEMODE = HOMEMODE_ITEM, #ifdef SUPPORT_CMX_MAINMENU_BACKLIGHT SETUP_FROM_BACKLIGHTBOOST = BACKLIGHTBOOST_ITEM, #endif #ifdef CONFIG_SUPPORT_CAPTURE_LOGO SETUP_FROM_CAPTURELOGO = CAPTURE_LOGO_ITEM, #endif SETUP_FROM_RESET_DEFAULT = RESETTVSETTING_ITEM, SETUP_FROM_SOFTWARE_UPGRADE = SOFTWAREUPGRADE_ITEM, #ifdef CONFIG_SUPPORT_NET_OTA SETUP_FROM_NETWORK_OTA_UPGRADE = NETWORKOTA_ITEM, #endif #ifdef CONFIG_SUPPORT_NET_SETTING SETUP_FROM_NETWORK = NETWORK_SETUP_ITEM, #endif #ifdef CONFIG_CC_SUPPORT SETUP_FROM_CCMODE = CCMODE_ITEM, #endif #ifdef CONFIG_POWER_ON_TV_LOCK SETUP_FROM_TV_LOCK = POWERON_TV_LOCK_ITEM, #endif SETUP_FROM_HDMIMODE= HDMIMODE_ITEM, #ifdef CONFIG_PROJECTOR_ASPECT SETUP_FROM_PROJECTION_ZOOM= PROJECTION_ZOOM_ITEM, #endif } Setup_Param_t; /*PC Setup*/ typedef enum { PC_AUTOADJUST_ITEM = 0, PC_HPOSITION_ITEM, PC_VPOSITION_ITEM, PC_CLOCK_ITEM, PC_PHASE_ITEM, PCSETUP_MAX_ITEM }PCSetupItem_t; typedef enum { PCSETUP_FROM_SETUP = 0, PCSETUP_FROM_SETUP_EVENTUP, PCSETUP_FROM_POP, PCSETUP_FROM_ADJUST, PCSETUP_FROM_MAINMENU, } PCSetup_Param_t; typedef enum { VCHIPSET_FROM_SETUP = 0, VCHIPSET_FROM_SETPWD, VCHIPSET_FROM_MPAA, VCHIPSET_FROM_TVPG, VCHIPSET_FROM_CANE, VCHIPSET_FROM_CANF, VCHIPSET_NON_FROM_SETUP, } vchipset_Param_t; typedef enum { HDMILINK_FROM_SETUP = 0, HDMILINK_FROM_OPTIONMENU, }HDMILink_Param_t; /*Auto Search*/ typedef enum { AUTOSEARCH_FROM_CHANNEL = 0, AUTOSEARCH_FROM_ALLTUNE, AUTOSEARCH_FROM_DTUNE, AUTOSEARCH_FROM_ATUNE, AUTOSEARCH_FROM_FM, } AutoSearch_Param_t; /*software upgrade*/ typedef enum { SOFTWARE_UPGRADE_FROM_MAIN = 5, SOFTWARE_UPGRADE_FROM_FM, #ifdef CONFIG_SUPPORT_NET_OTA SOFTWARE_UPGRADE_FROM_NET_OTA, SOFTWARE_UPGRADE_FROM_MAIN_OTA, #endif SOFTWARE_UPGRADE_FROM_AUTO_UPGRADE, SOFTWARE_UPGRADE_FROM_PASSWORD, } Software_Upgrade_Param_t; typedef enum { INSTALL_ENTER_NORMAL = 0, INSTALL_FROM_SAT_SYS, #if defined(CELLO_cello) && defined(SUPPORT_HOMEMODE) INSTALL_FROM_ONLYFORHOMEMODE, #endif INSTALL_FROM_MAX, }Install_Param_t; typedef enum { SAT_SYS_ENTER_NORMAL = 0, SAT_SYS_FROM_INSTALL, }Sat_Sys_Param_t; #ifdef CONFIG_SUPPORT_NET_SETTING typedef enum { NETWORK_FROM_SETUP = 0, }Network_Param_t; #endif typedef enum { Hint_bg = 0, Hint_Move, Hint_Return, Hint_Enter, Hint_Exit, Hint_09, Hint_ReturnScan, Hint_ReturnPin, Hint_Skip, }Hint_t; /*Handle*/ typedef struct{ HWND h_MainMenu_TitleBitmap[MAINMENU_MAX_ICON]; HWND h_MainMenu_Icon_Handle; HWND h_MainMenu_Title_Handle; HWND h_MenuLayer_Listview_Handle; HWND h_MainMenu_TextItem_Handle[MAINMENU_MAX_ITEM]; }MenuPage_Handle_t; /******************************************************************** Extern Global Functions ********************************************************************/ /***************************************************************************** ** FUNCTION : APP_GUIOBJ_MainMenu_GetIndexByType ** ** DESCRIPTION : ** Get Index By Type ** ** PARAMETERS : ** Type ** ** RETURN VALUES: ** u32Index *****************************************************************************/ UINT32 APP_GUIOBJ_MainMenu_GetIndexByType(UINT16 Type); void APP_GUIOBJ_MainMenu_SetFeature(UINT8 u8PageNum); /***************************************************************************** ** FUNCTION : APP_GUIOBJ_MainMenu_SetHandle ** ** DESCRIPTION : ** Get menu layer control handle ** ** PARAMETERS : ** None ** ** RETURN VALUES: ** None *****************************************************************************/ void APP_GUIOBJ_MainMenu_SetHandle(void); /***************************************************************************** ** FUNCTION : APP_GUIOBJ_MainMenu_GetHandle ** ** DESCRIPTION : ** Get menu layer control handle ** ** PARAMETERS : ** stMenuPage_Handle - menu layer controls handle ** ** RETURN VALUES: ** None *****************************************************************************/ INT32 APP_GUIOBJ_MainMenu_GetHandle(MenuPage_Handle_t *stMenuPage_Handle); /***************************************************************************** ** FUNCTION : APP_GUIOBJ_MainMenu_DisplayMenu ** ** DESCRIPTION : ** Display Main Menu and Sub Menu ** ** PARAMETERS : ** bReset_ListIndex: flag of reset listview index ** ** RETURN VALUES: ** None *****************************************************************************/ void APP_GUIOBJ_MainMenu_DisplayMenu(UINT8 bReset_ListIndex); /***************************************************************************** ** FUNCTION : APP_GUIOBJ_MainMenu_UpdataTitle ** ** DESCRIPTION : ** Update menu title ** ** PARAMETERS : ** title_string_id: Title string id ** ** RETURN VALUES: ** SP_SUCCESS *****************************************************************************/ void APP_GUIOBJ_MainMenu_UpdataTitle(String_id_t title_string_id); /***************************************************************************** ** FUNCTION : APP_GUIOBJ_MainMenu_SwitchItemEnorDisable ** ** DESCRIPTION : ** Update menulayer item ** ** PARAMETERS : ** ** RETURN VALUES: ** SP_SUCCESS *****************************************************************************/ void APP_GUIOBJ_MainMenu_SwitchItemEnorDisable(UINT8 u8PageNum, INT32 i32Index, UINT8 bEnbale); /***************************************************************************** ** FUNCTION : APP_GUIOBJ_MainMenu_SetRegionHandle ** ** DESCRIPTION : ** Set current region handle ** ** PARAMETERS : ** dRegionHandle: current region handle ** ** RETURN VALUES: ** None *****************************************************************************/ INT32 APP_GUIOBJ_MainMenu_SetRegionHandle(RegionHandle_t dRegionHandle); /***************************************************************************** ** FUNCTION : APP_GUIOBJ_MainMenu_GetRegionHandle ** ** DESCRIPTION : ** Get current region handle ** ** PARAMETERS : ** dRegionHandle: current region handle ** ** RETURN VALUES: ** None *****************************************************************************/ int APP_GUIOBJ_MainMenu_GetRegionHandle(RegionHandle_t *pRegionHandle); #ifdef TEAC_ONOFF_TIMER_SUPPORT /***************************************************************************** ** !!!!!!!!!!!!onoff time use only!!!!!!!!!!! ** FUNCTION : APP_GUIOBJ_MainMenu_OnoffTime_OpenChnList ** ** DESCRIPTION : ** Open popup Chnlist ** *****************************************************************************/ INT32 APP_GUIOBJ_MainMenu_OnoffTime_OpenChnList( UINT8 u8FocusItem, UINT32 u32FocusIndex, UINT32 u32CurrentValure, INT32 i32TotalCount, RegionHandle_t dRegionHandle, void *string,Alignment_e Textalignment); /***************************************************************************** ** !!!!!!!!!!!!onoff time use only!!!!!!!!!!! ** FUNCTION : APP_GUIOBJ_MainMenu_OnoffTime_UpdateChnList ** *****************************************************************************/ INT32 APP_GUIOBJ_MainMenu_OnoffTime_UpdateChnList( UINT32 u32UpdateType, RegionHandle_t dRegionHandle, Boolean UpdateAll, INT32 NewPageIndex); #endif /***************************************************************************** ** FUNCTION : APP_GUIOBJ_MainMenu_GetSharpnessState ** ** DESCRIPTION : ** Get current Sharpness state ** ** PARAMETERS : ** None ** ** RETURN VALUES: ** g_ePictureSharpnessState - current Sharpness state *****************************************************************************/ UINT32 APP_GUIOBJ_MainMenu_GetSharpnessState(void); /***************************************************************************** ** FUNCTION : APP_GUIOBJ_MainMenu_SetSharpnessState ** ** DESCRIPTION : ** Set current Sharpness state ** ** PARAMETERS : ** u32SharpnessState - current sharpness state ** ** RETURN VALUES: ** None *****************************************************************************/ void APP_GUIOBJ_MainMenu_SetSharpnessState(UINT32 u32SharpnessState); /***************************************************************************** ** FUNCTION : APP_GUIOBJ_MainMenu_GetTintState ** ** DESCRIPTION : ** Get current tint state ** ** PARAMETERS : ** None ** ** RETURN VALUES: ** g_ePictureTintState - current tint state *****************************************************************************/ UINT32 APP_GUIOBJ_MainMenu_GetTintState(void); /***************************************************************************** ** FUNCTION : APP_GUIOBJ_MainMenu_SetTintState ** ** DESCRIPTION : ** Set current tint state ** ** PARAMETERS : ** g_ePictureTintState - current tint state ** ** RETURN VALUES: ** None *****************************************************************************/ void APP_GUIOBJ_MainMenu_SetTintState(UINT32 u32TintState); /***************************************************************************** ** FUNCTION : APP_GUIOBJ_MainMenu_GetNRState ** ** DESCRIPTION : ** Get current NR state ** ** PARAMETERS : ** None ** ** RETURN VALUES: ** g_ePictureNRState - current NR state *****************************************************************************/ UINT32 APP_GUIOBJ_MainMenu_GetNRState(void); /***************************************************************************** ** FUNCTION : APP_GUIOBJ_MainMenu_SetNRState ** ** DESCRIPTION : ** Set current NR state ** ** PARAMETERS : ** g_ePictureNRState - current NR state ** ** RETURN VALUES: ** None *****************************************************************************/ void APP_GUIOBJ_MainMenu_SetNRState(UINT32 u32NRState); UINT8 APP_GUIOBJ_MainMenu_GetAspectRatioSignalState(void); void APP_GUIOBJ_MainMenu_SetGroupItemState(UINT8 SetIndexFlag); UINT32 APP_GUIOBJ_MainMenu_CheakItemLockState(INT32 i32Groupindex); void _APP_GUIOBJ_MainMenu_UpdataIcon(TV_bitmap_res_id_t icon_id); INT32 APP_GUIOBJ_MainMenu_GetCurPage(void); void APP_GUIOBJ_MainMenu_SetCurPage(INT32 value); void APP_GUIOBJ_MainMenu_RefreshMuteIcon(void); #endif /***************************************************************************** ** $Rev: 1069 $ ** *****************************************************************************/