static PRESULT checkdisk_con_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT8 unact; UINT32 i; BOOL subt_flag; CONTAINER* cont = (CONTAINER*)pObj; UINT8 id = OSD_GetObjID(pObj); static UINT8 preval; switch(event) { case EVN_PRE_OPEN: preval = sys_data_get_checkdisk(); wincom_open_title((POBJECT_HEAD)&g_win_checkdisk,RS_DVR_CHECKDISK, 0); win_checkdisk_set_string(preval); break; case EVN_POST_OPEN: break; case EVN_PRE_CLOSE: if(preval != sys_data_get_checkdisk()) { sys_data_save(1); } break; case EVN_POST_CLOSE: break; } return ret; }
static PRESULT atnsetm_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; BOOL b; UINT8 back_saved; switch(event) { case EVN_PRE_OPEN: win_atnsetm_load_tuner_configuration(); win_atnsetm_load_motor_antenna_setting(FALSE); wincom_open_title(pObj,RS_INSTALLATION_ANTENNA_SETUP,0); break; case EVN_PRE_CLOSE: b = win_atnsetm_check_save_motor_antenna_setting(); if(!b) { win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_msg(NULL, NULL, RS_MSG_OUT_RANGE); win_compopup_open_ext(&back_saved); ret = PROC_LOOP; break; } /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; } return ret; }
static PRESULT hddfmt_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT16 title_id; POBJECT_HEAD nextObj; switch(event) { case EVN_PRE_OPEN: if(hddfmt_window_active) { hddfmt_window_active= TRUE; title_id = RS_STORAGE_FORMAT; OSD_SetContainerNextObj(&g_win_hddformat, (POBJECT_HEAD)&hddfmt_item_con1); } else { title_id = RS_HDD_NFORMATION; hddfmt_window_active = FALSE; OSD_SetContainerNextObj(&g_win_hddformat, NULL); } hddfmt_vol_init(); hddfmt_set_vol_string(&hddfmt_item_txtset1); wincom_open_title(pObj,title_id,0); break; case EVN_POST_OPEN: break; case EVN_PRE_CLOSE: /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; case EVN_POST_CLOSE: break; case EVN_POST_DRAW: win_hddfmt_draw_disk_infor(); break; case EVN_MSG_GOT: if(param1 == CTRL_MSG_SUBTYPE_CMD_STO && param2 == USB_STATUS_OVER) { storage_dev_mount_hint(1); hddfmt_vol_init(); if(storage_get_volume_count() == 0) { ret = PROC_LEAVE; } else if(hddfmt_window_active) { hddfmt_set_vol_string(&hddfmt_item_txtset1); OSD_TrackObject((POBJECT_HEAD)&g_win_hddformat, C_UPDATE_ALL); win_hddfmt_draw_disk_infor(); } } break; } return ret; }
static PRESULT lan_con_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT32 i; UINT8 unact; BOOL subt_popup; CONTAINER* cont = (CONTAINER*)pObj; UINT8 id = OSD_GetObjID(pObj); SYSTEM_DATA* p_sys_data; UINT8 lang_code[8]; switch(event) { case EVN_PRE_OPEN: wincom_open_title((POBJECT_HEAD)&win_lan_con,RS_SYSTEM_LANGUAGE, 0); p_sys_data=sys_data_get(); win_lan_set_menu_lan_string(p_sys_data->lang.OSD_lang); win_lan_set_1st_audio_lan_string(p_sys_data->lang.Audio_lang_1); win_lan_set_2nd_audio_lan_string(p_sys_data->lang.Audio_lang_2); win_lan_set_subtitle_lan_string(p_sys_data->lang.sub_lang); win_lan_set_teletext_lan_string(p_sys_data->lang.ttx_lang); #ifdef SUPPORT_POP_SUBT subt_popup = TRUE; #else subt_popup = FALSE; #endif if(subt_popup) { remove_menu_item(&win_lan_con, (POBJECT_HEAD)lan_items[3], (CON_H + CON_GAP)); } break; case EVN_POST_OPEN: break; case EVN_PRE_CLOSE: #ifdef EPG_MULTI_LANG /*set epg language*/ p_sys_data = sys_data_get(); STRCPY(lang_code,stream_iso_639lang_abbr[p_sys_data->lang.OSD_lang]); epg_set_lang_code(lang_code); #endif #ifndef NEW_DEMO_FRAME UIChChgApplyAudLanguage(); #endif sys_data_save(1); /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; case EVN_POST_CLOSE: TTXEng_set_g0_set(); break; } return ret; }
void win_language_enter_key(POBJECT_HEAD pObj,UINT8 id) { SYSTEM_DATA* p_sys_data=sys_data_get(); OSD_RECT rect; COM_POP_LIST_PARAM_T param; rect.uLeft=CON_L+TXTS_L_OF; rect.uWidth=TXTS_W; rect.uHeight=340; param.selecttype = POP_LIST_SINGLESELECT; switch(id) { case MENU_LANGUAGE_MENU_LAN: rect.uTop=CON_T; param.cur=p_sys_data->lang.OSD_lang; p_sys_data->lang.OSD_lang = win_com_open_sub_list(POP_LIST_MENU_LANGUAGE_OSD,&rect,¶m); win_lan_set_menu_lan_string(p_sys_data->lang.OSD_lang); sys_data_select_language(p_sys_data->lang.OSD_lang); wincom_open_title((POBJECT_HEAD)&win_lan_con,RS_SYSTEM_LANGUAGE, 0); OSD_TrackObject((POBJECT_HEAD)&win_lan_con,C_DRAW_SIGN_EVN_FLG| C_UPDATE_ALL); break; case MENU_LANGUAGE_1ST_AUDIO_LAN: rect.uTop=CON_T + (CON_H + CON_GAP)*1; param.cur=p_sys_data->lang.Audio_lang_1; p_sys_data->lang.Audio_lang_1 = win_com_open_sub_list(POP_LIST_MENU_LANGUAGE_STREAM,&rect,¶m); win_lan_set_1st_audio_lan_string(p_sys_data->lang.Audio_lang_1); OSD_TrackObject(pObj,C_UPDATE_ALL); ap_language_setting(p_sys_data->lang.Audio_lang_1, p_sys_data->lang.Audio_lang_2); break; case MENU_LANGUAGE_2ND_AUDIO_LAN: rect.uTop=CON_T + (CON_H + CON_GAP)*2; param.cur=p_sys_data->lang.Audio_lang_2; p_sys_data->lang.Audio_lang_2 = win_com_open_sub_list(POP_LIST_MENU_LANGUAGE_STREAM,&rect,¶m); win_lan_set_2nd_audio_lan_string(p_sys_data->lang.Audio_lang_2); OSD_TrackObject(pObj,C_UPDATE_ALL); ap_language_setting(p_sys_data->lang.Audio_lang_1, p_sys_data->lang.Audio_lang_2); break; case MENU_LANGUAGE_SUB_LAN: rect.uTop=CON_T + (CON_H + CON_GAP)*3; param.cur=p_sys_data->lang.sub_lang; p_sys_data->lang.sub_lang = win_com_open_sub_list(POP_LIST_MENU_LANGUAGE_STREAM,&rect,¶m); win_lan_set_subtitle_lan_string(p_sys_data->lang.sub_lang); OSD_TrackObject(pObj,C_UPDATE_ALL); break; case MENU_LANGUAGE_TXT_LAN: rect.uTop=CON_T + (CON_H + CON_GAP)*3; rect.uHeight=300; param.cur=p_sys_data->lang.ttx_lang; p_sys_data->lang.ttx_lang = win_com_open_sub_list(POP_LIST_MENU_LANGUAGE_STREAM,&rect,¶m); win_lan_set_teletext_lan_string(p_sys_data->lang.ttx_lang); OSD_TrackObject(pObj,C_UPDATE_ALL); break; } }
static PRESULT otaset_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT32 sat_cnt; switch(event) { case EVN_PRE_OPEN: ota_presat_id = 0xFFFF; //wincom_open_title(pObj,RS_UPGRADE_MODE_SAT, 0); wincom_open_title(pObj,RS_TOOLS_SW_UPGRADE_BY_OTA, 0); #ifdef _BUILD_OTA_E_ ota_load_parameter(); #else win_otaset_load_default_setting(0); #endif win_otaset_load_FreqSymbPid_display(); break; case EVN_POST_DRAW: //win_signal_open(pObj); win_signal_open_ex(pObj,pObj->frame.uLeft,pObj->frame.uTop + LIST_ITEMCNT*(CON_H + CON_GAP) +20); win_otaset_turn_frntend(); api_stop_timer(&ota_turn_timer_id); ota_turn_timer_id = api_start_timer(OTA_TURN_TIMER_NAME, OTA_TURN_TIMER_TIME, win_ota_tpturn_handler); //win_signal_refresh(); //win_signal_update(); break; case EVN_PRE_CLOSE: /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; case EVN_POST_CLOSE: //dm_set_onoff(DM_NIMCHECK_ON); api_stop_timer(&ota_turn_timer_id); break; case EVN_MSG_GOT: if(param1 == CTRL_MSG_SUBTYPE_STATUS_SIGNAL) { win_signal_refresh(); //win_signal_update(); } else if(param1 == CTRL_MSG_SUBTYPE_CMD_TP_TURN) { win_otaset_turn_frntend(); } break; } return ret; }
static PRESULT av_con_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; VACTION unact; switch(event) { case EVN_PRE_OPEN: wincom_open_title((POBJECT_HEAD)&win_av_con,RS_SYSTEM_TV_SYSTEM, 0); win_av_load_setting(); win_av_set_vcrloop_action(FALSE); win_av_init_items(); #ifdef SCART_RGB_UNSUPPORT remove_menu_item(&win_av_con, (OBJECT_HEAD *)&av_item_con3, CON_H + CON_GAP); #endif #ifdef HDMI_CERTIFICATION_UI remove_menu_item(&win_av_con, (OBJECT_HEAD *)&av_item_con3, CON_H + CON_GAP); remove_menu_item(&win_av_con, (OBJECT_HEAD *)&av_item_con5, CON_H + CON_GAP); remove_menu_item(&win_av_con, (OBJECT_HEAD *)&av_item_con6, CON_H + CON_GAP); #else #ifdef NEW_DEMO_FRAME remove_menu_item(&win_av_con, (OBJECT_HEAD *)&av_item_con5, CON_H + CON_GAP); remove_menu_item(&win_av_con, (OBJECT_HEAD *)&av_item_con6, CON_H + CON_GAP); remove_menu_item(&win_av_con, (OBJECT_HEAD *)&av_item_con7, CON_H + CON_GAP); #endif #endif break; case EVN_PRE_CLOSE: sys_data_save(1); /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; case EVN_MSG_GOT: if(param1 == CTRL_MSG_SUBTYPE_CMD_TVSAT_SWITCH) { win_av_load_tv_mode_setting(TRUE); ret = PROC_LOOP; } break; default: break; } return ret; }
static PRESULT jumpstep_con_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT8 unact; UINT32 i; BOOL subt_flag; CONTAINER* cont = (CONTAINER*)pObj; UINT8 id = OSD_GetObjID(pObj); static UINT8 preval; switch(event) { case EVN_PRE_OPEN: preval = sys_data_get_jumpstep(); wincom_open_title((POBJECT_HEAD)&g_win_jumpstep,RS_DVR_JUMP, 0); win_jumpstep_set_string(preval); break; case EVN_POST_OPEN: break; case EVN_PRE_CLOSE: *((UINT32 *)param2) &= ~C_CLOSE_CLRBACK_FLG; if(preval != sys_data_get_jumpstep()) { sys_data_save(1); } break; case EVN_POST_CLOSE: break; case EVN_MSG_GOT: #ifdef DISK_MANAGER_SUPPORT if (param1 == CTRL_MSG_SUBTYPE_CMD_STO && param2 == USB_STATUS_OVER) { // if disk used by PVR detached, exit this menu extern pvr_play_rec_t pvr_info; if (!pvr_info.hdd_valid) { ret = PROC_LEAVE; } } #endif break; default: break; } return ret; }
static PRESULT sys_backup_con_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; CONTAINER* cont = (CONTAINER*)pObj; UINT8 id = OSD_GetObjID(pObj); switch(event) { case EVN_PRE_OPEN: //epg_release(); wincom_open_title(pObj, RS_SYSTEM_BACKUP, 0); wincom_open_help(NULL, NULL, HELP_TYPE_RS232); OSD_SetProgressBarPos(&sys_backup_bar_progress,(INT16)0); OSD_SetTextFieldContent(&sys_backup_txt_progress, STRING_NUM_PERCENT, (UINT32)0); ret = win_sys_backup_init(); break; case EVN_POST_OPEN: system_state = SYS_STATE_USB_UPG; win_sys_backup_msg_clear(); break; case EVN_PRE_CLOSE: /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; case EVN_POST_CLOSE: system_state = SYS_STATE_NORMAL; wincom_close_title(); wincom_close_help(); //epg_init(ap_send_epg_PF_update, ap_send_epg_sch_update, ap_send_epg_detail_update); break; case EVN_MSG_GOT: if(param1 == CTRL_MSG_SUBTYPE_CMD_EXIT) { ret = PROC_LEAVE; } break; default: break; } return ret; }
static PRESULT info_con_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; CONTAINER* cont = (CONTAINER*)pObj; UINT8 id = OSD_GetObjID(pObj); POBJECT_HEAD submenu; switch(event) { case EVN_PRE_OPEN: wincom_open_title((POBJECT_HEAD)&win_info_con,RS_TOOLS_INFORMATION, 0); break; case EVN_POST_OPEN: display_sys_infomation(0); break; case EVN_PRE_CLOSE: /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; case EVN_POST_CLOSE: break; case EVN_UNKNOWN_ACTION: param1 &= 0xff; if (factorytest_check_magic_key(param1)) { #ifdef FACTORY_TEST_MENU submenu = (POBJECT_HEAD)&g_win_factory_test; if(OSD_ObjOpen(submenu, MENU_OPEN_TYPE_OTHER) != PROC_LEAVE) menu_stack_push(submenu); #endif } else if (factorytest_check_magic_key_diag(param1)) { UINT16 channel = sys_data_get_cur_group_cur_mode_channel(); UINT16 group_idx = sys_data_get_cur_group_index(); sys_data_change_group(group_idx); api_stop_play(0); //to call si_monitor_off for fixing bug 13806 --Michael 2008/2/18 api_play_channel(channel, TRUE, FALSE, FALSE); ap_clear_all_menus(); extern CONTAINER win_diag; ap_send_msg(CTRL_MSG_SUBTYPE_CMD_ENTER_ROOT, (UINT32)&win_diag, TRUE); } else if(factorytest_check_hdmi_hdcp_key(param1)) { extern CONTAINER g_win_hdmi_factory_test; submenu = (POBJECT_HEAD)&g_win_hdmi_factory_test; if(OSD_ObjOpen(submenu,MENU_OPEN_TYPE_OTHER) != PROC_LEAVE) { menu_stack_push(submenu); } } else if(factorytest_check_epg_show_logo_key(param1)) { UINT8 back_saved; win_epg_set_show_state(); win_compopup_init(WIN_POPUP_TYPE_SMSG); if(win_epg_is_show_logo()) { win_compopup_set_msg("EPG Show Logo", NULL, 0); } else { win_compopup_set_msg("EPG Normal", NULL, 0); } win_compopup_open_ext(&back_saved); osal_task_sleep(2000); win_compopup_smsg_restoreback(); } break; } return ret; }
static PRESULT pvr_setting_con_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT8 unact; UINT32 i; BOOL subt_flag; CONTAINER* cont = (CONTAINER*)pObj; UINT8 id = OSD_GetObjID(pObj); static UINT8 preval; SYSTEM_DATA* p_sys_data; switch(event) { case EVN_PRE_OPEN: wincom_open_title((POBJECT_HEAD)&win_osdset_con, RS_PVR_SETTING, 0); p_sys_data=sys_data_get(); win_pvr_setting_timeshift_set_string(p_sys_data->timeshift); win_pvr_setting_jumpstep_set_string(p_sys_data->jumpstep); win_pvr_setting_scramble_record_mode_set_string(p_sys_data->scramble_record_mode); remove_menu_item((POBJECT_HEAD)&g_win_pvr_setting, (OBJECT_HEAD *)&pvr_setting_item_con3, CON_H + CON_GAP); win_pvr_setting_ts_file_size_set_string(p_sys_data->record_ts_file_size); remove_menu_item((POBJECT_HEAD)&g_win_pvr_setting, (OBJECT_HEAD *)&pvr_setting_item_con4, CON_H + CON_GAP); win_pvr_setting_tms2rec_set_string(p_sys_data->tms2rec); win_pvr_setting_ttx_subt_set_string(p_sys_data->record_ttx_subt); remove_menu_item((POBJECT_HEAD)&g_win_pvr_setting, (OBJECT_HEAD *)&pvr_setting_item_con6, CON_H + CON_GAP); win_pvr_setting_rec_num_set_string(p_sys_data->rec_num); remove_menu_item((POBJECT_HEAD)&g_win_pvr_setting, (OBJECT_HEAD *)&pvr_setting_item_con7, CON_H + CON_GAP); #ifdef NEW_DEMO_FRAME win_pvr_setting_record_ps_set_string(p_sys_data->rec_ps_enable); #else remove_menu_item((POBJECT_HEAD)&g_win_pvr_setting, (OBJECT_HEAD *)&pvr_setting_item_con8, CON_H + CON_GAP); #endif break; case EVN_POST_OPEN: break; case EVN_PRE_CLOSE: *((UINT32 *)param2) &= ~C_CLOSE_CLRBACK_FLG; p_sys_data=sys_data_get(); sys_data_save(1); #ifndef PVR3_SUPPORT pvr_r_set_ts_file_size(p_sys_data->record_ts_file_size + 1); #endif //api_pvr_jumpstep_trans(); break; case EVN_POST_CLOSE: break; case EVN_UNKNOWN_ACTION: if (api_pvr_is_record_active()) break; win_popup_choice_t choice; UINT8 back_saved; win_compopup_init(WIN_POPUP_TYPE_OKNO); win_compopup_set_msg("Record CA program in descrambled format?", NULL, 0); if (sys_data_get_scramble_record_mode()) win_compopup_set_default_choice(WIN_POP_CHOICE_YES); else win_compopup_set_default_choice(WIN_POP_CHOICE_NO); choice = win_compopup_open_ext(&back_saved); if (choice == WIN_POP_CHOICE_YES) { sys_data_set_scramble_record_mode(1); pvr_r_set_scramble_ext(0); } else if (choice == WIN_POP_CHOICE_NO) { sys_data_set_scramble_record_mode(0); pvr_r_set_scramble_ext(1); } break; } return ret; }
void win_language_right_key(POBJECT_HEAD pObj,UINT8 id) { SYSTEM_DATA* p_sys_data=sys_data_get(); switch(id) { case MENU_LANGUAGE_MENU_LAN: if(p_sys_data->lang.OSD_lang==(MENU_LANGUAGE_OSD_NUMBER-1)) { p_sys_data->lang.OSD_lang=0; } else { p_sys_data->lang.OSD_lang++; } win_lan_set_menu_lan_string(p_sys_data->lang.OSD_lang); sys_data_select_language(p_sys_data->lang.OSD_lang); wincom_open_title((POBJECT_HEAD)&win_lan_con,RS_SYSTEM_LANGUAGE, 0); OSD_TrackObject((POBJECT_HEAD)&win_lan_con,C_DRAW_SIGN_EVN_FLG| C_UPDATE_ALL); break; case MENU_LANGUAGE_1ST_AUDIO_LAN: if(p_sys_data->lang.Audio_lang_1==(MENU_LANGUAGE_STREAM_NUMBER-1)) { p_sys_data->lang.Audio_lang_1=0; } else { p_sys_data->lang.Audio_lang_1++; } win_lan_set_1st_audio_lan_string(p_sys_data->lang.Audio_lang_1); OSD_TrackObject(pObj,C_UPDATE_ALL); ap_language_setting(p_sys_data->lang.Audio_lang_1, p_sys_data->lang.Audio_lang_2); break; case MENU_LANGUAGE_2ND_AUDIO_LAN: if(p_sys_data->lang.Audio_lang_2==(MENU_LANGUAGE_STREAM_NUMBER-1)) { p_sys_data->lang.Audio_lang_2=0; } else { p_sys_data->lang.Audio_lang_2++; } win_lan_set_2nd_audio_lan_string(p_sys_data->lang.Audio_lang_2); OSD_TrackObject(pObj,C_UPDATE_ALL); ap_language_setting(p_sys_data->lang.Audio_lang_1, p_sys_data->lang.Audio_lang_2); break; case MENU_LANGUAGE_SUB_LAN: if(p_sys_data->lang.sub_lang==(MENU_LANGUAGE_STREAM_NUMBER-1)) { p_sys_data->lang.sub_lang=0; } else { p_sys_data->lang.sub_lang++; } win_lan_set_subtitle_lan_string(p_sys_data->lang.sub_lang); OSD_TrackObject(pObj,C_UPDATE_ALL); break; case MENU_LANGUAGE_TXT_LAN: if(p_sys_data->lang.ttx_lang==(MENU_LANGUAGE_STREAM_NUMBER-1)) { p_sys_data->lang.ttx_lang=0; } else { p_sys_data->lang.ttx_lang++; } win_lan_set_teletext_lan_string(p_sys_data->lang.ttx_lang); OSD_TrackObject(pObj,C_UPDATE_ALL); break; } }
static PRESULT tplst_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT8 back_saved; S_NODE s_node; switch(event) { case EVN_PRE_OPEN: if(sys_data_get_cur_satidx() == (UINT16)(~0)) cur_tp_sat_idx = win_load_default_satidx(); else cur_tp_sat_idx = sys_data_get_cur_satidx(); tp_list_pos = 0xffff; tp_list_top = 0; win_tplist_load_sat(FALSE); pre_tp_sat_idx= cur_tp_sat_idx; wincom_open_title(pObj,RS_TP_LIST,0); break; case EVN_POST_OPEN: //win_signal_open(pObj); //win_signal_open_tplist(pObj); win_signal_open_ex(pObj,pObj->frame.uLeft,pObj->frame.uTop + LIST_ITEMCNT*(ITEM_H + ITEM_GAP) + LST_SAT_H +50); wincom_open_help(pObj,tplist_helpinfo , HELP_CNT); win_tplist_tuner_frontend(); win_signal_refresh(); //win_signal_update(); get_tuner_sat(TUNER_EITHER, cur_tp_sat_idx, &s_node); if(!tpscan_return) wincom_dish_move_popup_open(0xFFFF,s_node.sat_id,cur_tuner_idx,&back_saved); break; case EVN_PRE_CLOSE: /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; case EVN_POST_CLOSE: if(win_tplist_check_change()) update_data(); api_stop_timer(&tpturn_timer_id); win_signal_close(); wincom_close_help(); sys_data_check_channel_groups(); sys_data_set_cur_satidx((UINT16)cur_tp_sat_idx); #ifdef MULTIFEED_SUPPORT multifeed_del_invalid_info(); #endif break; case EVN_MSG_GOT: win_tplist_message_proc(param1,param2); break; default: break; } return ret; }
static PRESULT motorset_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; S_NODE s_node; UINT8 back_saved; UINT16 title_strid; POBJECT_HEAD sat_item = (POBJECT_HEAD)&motorset_item1; POBJECT_HEAD tp_item = (POBJECT_HEAD)&motorset_item2; SYSTEM_DATA* sys_data; sys_data = sys_data_get(); get_tuner_sat(antset_cur_tuner,SAT_IDX,&s_node); switch(event) { case EVN_PRE_OPEN: tone_voice_init = 0; diskmotor_move_state = 0; diskmove_timer_id = OSAL_INVALID_ID; SAT_CNT = get_tuner_sat_cnt(antset_cur_tuner); SAT_IDX = 0; win_motorset_load_sat(SAT_IDX,FALSE); if(sys_data->tuner_lnb_type[antset_cur_tuner] != LNB_MOTOR) return PROC_LEAVE; if(sys_data->tuner_lnb_antenna[antset_cur_tuner].motor_type == LNB_MOTOR_DISEQC12) { title_strid = RS_MOTOR_SETTING; sat_item->bUpID = RECACULATE_ID; tp_item->bDownID = POS_ID; tp_item->pNext = (POBJECT_HEAD)&motorset_item3; } else { title_strid = RS_MOTOR_SETTING; sat_item->bUpID = POS_ID; tp_item->bDownID = SAT_ID; tp_item->pNext = NULL; } OSD_SetContainerFocus(&g_win_motorset, SAT_ID); wincom_open_title(pObj,title_strid,0); break; case EVN_POST_OPEN: win_motorset_set_frontend(); //win_signal_open(pObj); win_signal_open_ex(pObj,pObj->frame.uLeft + 4,pObj->frame.uTop+pObj->frame.uHeight - 140); win_signal_refresh(); //win_signal_update(); get_tuner_sat(antset_cur_tuner,SAT_IDX,&s_node); wincom_dish_move_popup_open(0xFFFF,s_node.sat_id,antset_cur_tuner,&back_saved); break; case EVN_PRE_CLOSE: /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; case EVN_POST_CLOSE: win_signal_close(); #ifdef ANTENNA_INSTALL_BEEP if(sys_data->install_beep) { #if(defined(DVBT_BEE_TONE) && ANTENNA_INSTALL_BEEP == 1) api_audio_stop_tonevoice(); #elif (defined(AUDIO_SPECIAL_EFFECT) && ANTENNA_INSTALL_BEEP == 2) api_audio_beep_stop(); #endif } #endif break; case EVN_POST_DRAW: if(tp_item->pNext != NULL) win_motorset_draw_info(diskmotor_move_state); break; case EVN_MSG_GOT: ret = win_motorset_message_proc(param1,param2); break; } return ret; }