コード例 #1
0
ファイル: win_game_sudoku.c プロジェクト: alkap007/ali3606
static PRESULT sudoku_con_callback(POBJECT_HEAD obj, VEVENT event, UINT32 param1, UINT32 param2)
{
    PRESULT ret = PROC_PASS;
    POBJECT_HEAD submenu;
    switch (event)
    {
    case EVN_PRE_OPEN:
#ifdef NEW_GAME_FOCUS
        OSD_SetAttr((POBJECT_HEAD)&txt_newgame, C_ATTR_ACTIVE);
        OSD_ChangeFocus((POBJECT_HEAD)&game_sudoku_con, 1, \
                        C_UPDATE_FOCUS | C_DRAW_SIGN_EVN_FLG);
#else
        OSD_SetAttr((POBJECT_HEAD)&txt_newgame, C_ATTR_INACTIVE);
        OSD_ChangeFocus((POBJECT_HEAD)&game_sudoku_con, 6, \
                        C_UPDATE_FOCUS | C_DRAW_SIGN_EVN_FLG);
#endif
        game_pre_open();
        break;

    case EVN_POST_CLOSE:
        OSD_ClearScreen();
        win_open_submenu_title(submenu,sub_menu_desc->title_id, 0);  //guop
        break;

    case EVN_POST_DRAW:
        game_1st_draw();
        break;

    case EVN_MSG_GOT:
        game_event(param1, param2);
        break;
    }
    return ret;
}
コード例 #2
0
static PRESULT ad_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
    PRESULT ret = PROC_PASS;
    CONTAINER* root = (CONTAINER*) pObj;

    switch(event)
    {
    case EVN_PRE_OPEN:
#ifdef EXIT_KEY_EXIT_ALL_MENU
        exit_key_flag =  FALSE;
#endif
#ifdef PREVIEW_SUBMENU  //-a by wangyang 
        {

            POBJECT_HEAD focusObj=OSD_GetFocusObject(pObj);

            if(param2==MENU_OPEN_TYPE_OTHER)
            {
                ad_menu_sels[focusObj->bID-1]->style.bHLIdx=SEL_SH_IDX;
                ad_menu_txts[focusObj->bID-1]->style.bHLIdx=TXT_SH_IDX;
            }
            else
            {
                ad_menu_sels[focusObj->bID-1]->style.bHLIdx=SEL_HL_IDX;
                ad_menu_txts[focusObj->bID-1]->style.bHLIdx=TXT_HL_IDX;
            }

        }
#endif
        win_ad_load_setting();
        wincom_open_subtitle(pObj, /*RS_AUDIO_DESCRIPTION_SETTING*/RS_AUDIO_DESCRIPTION, 0);
        break;
    case EVN_POST_OPEN:
        wincom_open_commen_help(pObj);//-a by wangyang
        break;
    case EVN_PRE_CLOSE:
        sys_data_save(1);
        *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; /* Make OSD not flickering */
        break;
    case EVN_POST_CLOSE:
        wincom_close_subtitle();
        OSD_ClearScreen();
#ifdef EXIT_KEY_EXIT_ALL_MENU
        if( exit_key_flag == TRUE)
        {
            exit_key_flag =FALSE;
            mm_leave_all_menu();
        }
#endif
        //OSD_TrackObject( (POBJECT_HEAD) &g_win_mainmenu, C_UPDATE_ALL);
        break;
    case EVN_MSG_GOT:
        break;
    default:
        break;
    }

    return ret;
}
コード例 #3
0
ファイル: win_screen_saver.c プロジェクト: alkap007/ali3606
static PRESULT win_screen_saver_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	VACTION	unact;
	UINT16 vkey;
	
	switch(event)
	{
		case EVN_PRE_OPEN:
			{
				left_offset =  RAND(600);
				top_offset = RAND(300);
				pObj->frame.uLeft  = left_offset;
				pObj->frame.uTop = top_offset;			
				win_screen_prog_infor();
				f_screen_saver_timer = api_start_timer(SCREEN_SAVER_TIMER_NAME_ONE, SCREEN_SAVER_TIMER_INTERVAL_ONE, screen_saver_timer_func_one);
			}
			break;
		case EVN_POST_CLOSE:  
			{
				OSD_ClearScreen();
			}
			break;
		case EVN_UNKNOWN_ACTION:
			vkey = param1&0xFFFF;
			OSD_ClearScreen();
			ap_send_key(vkey, TRUE);
			ret = PROC_LEAVE;
			break;
			
		case EVN_MSG_GOT:
			if(param1 == CTRL_MSG_SUBTYPE_CMD_LEAVE_SAVER)
			{
				ret = PROC_LEAVE;
			}
			break; 
	default:
		break;		
	}

	return ret ;
}
コード例 #4
0
ファイル: win_ota_set.c プロジェクト: Janesak1977/ali3602
static PRESULT  otaset_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	UINT32 sat_cnt;
	POBJECT_HEAD submenu;

	switch(event)
	{
	case EVN_PRE_OPEN:

		ota_presat_id = 0xFFFF;
 		//wincom_open_title(pObj,RS_UPGRADE_MODE_SAT, 0);
 		wincom_open_subtitle(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+30,pObj->frame.uTop + LIST_ITEMCNT*(CON_H + CON_GAP) +20);
		win_otaset_turn_frntend();
		  wincom_open_commen_help(pObj);
		//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: 
	  		wincom_close_subtitle();
			OSD_ClearScreen();
				if((sys_data_get_sate_group_num(sys_data_get_cur_chan_mode())==0))
		OSD_DrawObject((POBJECT_HEAD)&g_win_mainmenu,C_UPDATE_ALL);

			win_open_submenu_title(submenu,sub_menu_desc->title_id, 0);  //guop
		break;
	case EVN_MSG_GOT:
		if(param1 == CTRL_MSG_SUBTYPE_STATUS_SIGNAL)
			win_signal_refresh();
			//win_signal_update();	
		break;
		
	}

	return ret;
	
}
コード例 #5
0
ファイル: win_tvsys.c プロジェクト: Janesak1977/ali3602
static PRESULT av_con_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	VACTION unact;
    	POBJECT_HEAD submenu;

	switch(event)
	{
	case EVN_PRE_OPEN:
		wincom_open_subtitle((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 NEW_DEMO_FRAME
		remove_menu_item((POBJECT_HEAD)&win_av_con, (OBJECT_HEAD *)&av_item_con5, CON_H + CON_GAP);
		remove_menu_item((POBJECT_HEAD)&win_av_con, (OBJECT_HEAD *)&av_item_con6, CON_H + CON_GAP);
		remove_menu_item((POBJECT_HEAD)&win_av_con, (OBJECT_HEAD *)&av_item_con7, CON_H + CON_GAP);
#endif
		break;
	case EVN_POST_OPEN:
		  wincom_open_commen_help(pObj);
		wincom_open_help(pObj,0,0);
		break;
	case EVN_PRE_CLOSE:
		sys_data_save(1);
		/* Make OSD not flickering */
		*((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG;	
		break;
	case EVN_POST_CLOSE:
		wincom_close_subtitle();
		OSD_ClearScreen();
		if((sys_data_get_sate_group_num(sys_data_get_cur_chan_mode())==0))
		OSD_DrawObject((POBJECT_HEAD)&g_win_mainmenu,C_UPDATE_ALL);

		win_open_submenu_title(submenu,sub_menu_desc->title_id, 0);  //guop
		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;	
}
コード例 #6
0
static PRESULT atnsetm_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	BOOL b;
	UINT8 back_saved;
       VACTION unact;
	POBJECT_HEAD submenu;

	switch(event)
	{
	case EVN_PRE_OPEN:
		win_atnsetm_load_tuner_configuration();
		win_atnsetm_load_motor_antenna_setting(FALSE);
		wincom_open_subtitle(pObj,RS_INSTALLATION_ANTENNA_SETUP,0);
		wincom_open_commen_help(pObj);
		 wincom_open_help(pObj,ant_setup_helpinfo , HELP_CNT);
		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;
	case EVN_POST_CLOSE:
		wincom_close_help();
		wincom_close_subtitle();
		OSD_ClearScreen();
		win_open_submenu_title(submenu,sub_menu_desc->title_id, 0);  //guop
		break;
	case EVN_UNKNOWN_ACTION:
		unact = (VACTION)(param1>>16);
		ret = win_an_set_unkown_act_proc(unact);

		break;
	}

	return ret;
}
コード例 #7
0
static PRESULT favgrplst_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	POBJECT_HEAD submenu;
	switch(event)
	{
	case EVN_PRE_OPEN:
		wincom_open_subtitle(pObj,RS_FAVORITE,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:
	  		wincom_close_subtitle();
			OSD_ClearScreen();
			win_open_submenu_title(submenu,sub_menu_desc->title_id, 0);  //guop
		break;
	}

	return ret;
}
コード例 #8
0
ファイル: win_misc_setting.c プロジェクト: alkap007/ali3606
static PRESULT miscset_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	CONTAINER* root = (CONTAINER*) pObj;
	
	switch(event)
	{
	case EVN_PRE_OPEN:
#ifdef PREVIEW_SUBMENU  //-a by wangyang 
{
				
			POBJECT_HEAD focusObj=OSD_GetFocusObject(pObj);
			
			if(param2==MENU_OPEN_TYPE_OTHER)
			{
				//misc_menu_sels[focusObj->bID-1]->style.bHLIdx=SEL_SH_IDX;
				//misc_menu_txts[focusObj->bID-1]->style.bHLIdx=TXT_SH_IDX;
				misc_menu_sels[4]->style.bHLIdx=SEL_SH_IDX;
				misc_menu_txts[4]->style.bHLIdx=TXT_SH_IDX;
				#ifdef ORDER_GZ1207009
				misc_menu_sels[6]->style.bHLIdx=SEL_SH_IDX;
				misc_menu_txts[6]->style.bHLIdx=TXT_SH_IDX;
				#endif
			}
			else
			{
				//misc_menu_sels[focusObj->bID-1]->style.bHLIdx=SEL_HL_IDX;
				//misc_menu_txts[focusObj->bID-1]->style.bHLIdx=TXT_HL_IDX;
				misc_menu_sels[4]->style.bHLIdx=SEL_HL_IDX;
				misc_menu_txts[4]->style.bHLIdx=TXT_HL_IDX;
				#ifdef ORDER_GZ1207009
				misc_menu_sels[6]->style.bHLIdx=SEL_HL_IDX;
				misc_menu_txts[6]->style.bHLIdx=TXT_HL_IDX;
				#endif
			}

}
#endif
#ifdef EXIT_KEY_EXIT_ALL_MENU
	         exit_key_flag =  FALSE;
#endif
		win_miscset_load_setting();
		wincom_open_subtitle(pObj,RS_AUTO_STANDBY,0);
		break;
	case EVN_POST_OPEN:
		wincom_open_commen_help(pObj);//-a by wangyang 
		break;
	case EVN_PRE_CLOSE:
		win_miscset_save_setting();
		/* Make OSD not flickering */
		*((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG;	
		break;
	case EVN_POST_CLOSE:
  		wincom_close_subtitle();
		//OSD_TrackObject( (POBJECT_HEAD) &g_win_mainmenu, C_UPDATE_ALL);
		OSD_ClearScreen();
#ifdef EXIT_KEY_EXIT_ALL_MENU
	        if( exit_key_flag == TRUE)
	        	{
 			 exit_key_flag =FALSE;
			mm_leave_all_menu();
		}
#endif
		break;
	case EVN_MSG_GOT:
 		#ifdef PREVIEW_SUBMENU  //-a by wangyang 
			if (param1 == CTRL_MSG_SUBTYPE_CMD_STO && param2 == USB_STATUS_OVER)
			{
			OSD_ObjOpen((POBJECT_HEAD)&g_win_submenu, MENU_OPEN_TYPE_OTHER );
			}
		#endif
		break;
		
	}

	return ret;
}
コード例 #9
0
ファイル: win_map_display.c プロジェクト: alkap007/ali3606
static VACTION map_display_keymap(POBJECT_HEAD pObj, UINT32 key)
{
	VACTION act = VACT_PASS;
	SYSTEM_DATA *p_sys_data = sys_data_get();
	UINT8 back_saved;

	switch(key)
	{
		case V_KEY_EXIT:
		case V_KEY_MENU:
			OSD_ClearScreen();
			act = VACT_CLOSE;
			break;
		case V_KEY_RED:
			if (bMapDownloading)
			{
				break;
			}
			if (zoom_level < 21)
			{
				zoom_level++;
			}
			libc_printf("zoom level = %d\n", zoom_level);
			if (search_string[0] == '\0')
			{
				s_mapdisp_dl_handle = map_download(p_sys_data->map_city_name[city_index], zoom_level);
			}
			else
			{
				s_mapdisp_dl_handle = map_download(search_string, zoom_level);
			}
			bMapDownloading = TRUE;
			win_compopup_init(WIN_POPUP_TYPE_SMSG);
			win_compopup_set_msg((UINT8*)"Connecting, please wait...",NULL,0);
			win_compopup_open_ext(&back_saved);
			 osal_task_sleep(1000);
	      		win_compopup_smsg_restoreback();
			break;
		case V_KEY_GREEN:
			if (bMapDownloading)
			{
				break;
			}
			if (zoom_level != 0)
			{
				zoom_level--;
			}
			libc_printf("zoom level = %d\n", zoom_level);
			if (search_string[0] == '\0')
			{
				s_mapdisp_dl_handle = map_download(p_sys_data->map_city_name[city_index], zoom_level);
			}
			else
			{
				s_mapdisp_dl_handle = map_download(search_string, zoom_level);
			}
			bMapDownloading = TRUE;
			win_compopup_init(WIN_POPUP_TYPE_SMSG);
			win_compopup_set_msg((UINT8*)"Connecting, please wait...",NULL,0);
			win_compopup_open_ext(&back_saved);
			 osal_task_sleep(1000);
	     		 win_compopup_smsg_restoreback();
			break;
		case V_KEY_ZOOM:
			win_mpzoom_open();
			break;
		default:
			act = VACT_PASS;
			break;
	}

	return act;
}
コード例 #10
0
ファイル: win_map_display.c プロジェクト: alkap007/ali3606
static PRESULT map_display_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	UINT8 back_saved;
	OSD_RECT rect = {PREVIEW_L, PREVIEW_T, PREVIEW_W, PREVIEW_H};
	struct  YCbCrColor bgcolor;

	switch(event)
	{
		case EVN_PRE_OPEN:
			OSD_ClearScreen();//-a by wangyang 2011-09-20
			win_media_player_init_ex(mp_apcallback, 1);
			bMapDownloading = FALSE;
			zoom_level = 12;
			//api_set_preview_vpo_color(TRUE);
			bgcolor.uY = 16;
			bgcolor.uCb = 128;
			bgcolor.uCr = 128;		
			api_set_vpo_bgcolor(&bgcolor);
			image_restore_vpo_rect();//TODO
#if 0			
			vpo_aspect_mode((struct vpo_device *)dev_get_by_id(HLD_DEV_TYPE_DIS,0), TV_4_3, NORMAL_SCALE);
#ifdef DUAL_VIDEO_OUTPUT
			vpo_aspect_mode((struct vpo_device *)dev_get_by_id(HLD_DEV_TYPE_DIS,1), TV_4_3, NORMAL_SCALE);
#endif
			osal_task_sleep(30);
			
			if(is_cur_decoder_avc())
			{
				h264_decoder_select(0, hde_get_mode() == VIEW_MODE_PREVIEW);
			}
#endif			
//			system_state = SYS_STATE_USB_MP;
	      	  	//osal_cache_flush_all();
	      	  	image_abort();
			//map_show(rect);
			break;
       		case EVN_POST_OPEN:
			//wincom_open_subtitle(pObj,RS_MAP,0);
			wincom_open_help_OK_list_small(pObj, map_display_helpinfo, 2);
			//wincom_open_help(pObj, map_display_helpinfo, 2);
			libc_printf("map_dl_param2 = %d\n", param2);
			map_show(rect, param2);
			break;
		case EVN_PRE_CLOSE://-a by wangyang 2011-09-20
			map_download_abort(s_mapdisp_dl_handle);
			s_mapdisp_dl_handle = 0;
			media_player_release_ex();
			imagedec_ioctl(1, IMAGEDEC_IO_CMD_CLEAN_FRM, TRUE);	//when quit win_slide, clean 2 frm buffer
	      	  	image_abort();
			break;
		case EVN_POST_CLOSE:
			wincom_close_subtitle();
			image_restore_vpo_rect();//-a by wangyang 2011-09-20
			break;
		case EVN_MSG_GOT:
			if (param1 == CTRL_MSG_SUBTYPE_STATUS_DOWNLOAD_FINISH)
			{
				bMapDownloading = FALSE;
				map_download_abort(s_mapdisp_dl_handle);
				s_mapdisp_dl_handle = 0;
				if ((int)param2 >= 0)
				{	
					win_compopup_smsg_restoreback();
					map_show(rect, param2);
				}
			}
			break;
		default:
			break;
	}

	return ret;
}
コード例 #11
0
ファイル: win_usb_backup.c プロジェクト: alkap007/ali3606
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);
	OSD_RECT rect;
	UINT32 posi;
	switch(event)
	{
		case EVN_PRE_OPEN:
#ifdef PREVIEW_SUBMENU  //-a by wangyang 
			if(param2==MENU_OPEN_TYPE_OTHER)
			{
				if(focus_flag==1)
				{
					POBJECT_HEAD focusObj=OSD_GetFocusObject(pObj);
					focusObj_id =focusObj->bID;
				       OSD_SetContainerFocus((CONTAINER*)pObj,0);
					 focus_flag  =0;
				}
			}
			else
			{
			        OSD_SetContainerFocus((CONTAINER*)pObj,focusObj_id);
				focus_flag  =1;

			}
#endif
#ifdef EXIT_KEY_EXIT_ALL_MENU
	         exit_key_flag =  FALSE;
#endif
	//		win_usb_backup_tmr_loop =0;
			wincom_open_subtitle(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;
		wincom_open_commen_help(pObj);//-a by wangyang 
			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_subtitle();
			wincom_close_help();
			win_progress_bar_draw_bmp_close();
			OSD_ClearScreen();
#ifdef EXIT_KEY_EXIT_ALL_MENU
	        if( exit_key_flag == TRUE)
	        	{
 			 exit_key_flag =FALSE;
			mm_leave_all_menu();
		}
#endif
			//epg_init(ap_send_epg_PF_update, ap_send_epg_sch_update, ap_send_epg_detail_update);
			//OSD_TrackObject( (POBJECT_HEAD) &g_win_mainmenu, C_UPDATE_ALL);
			break;
		case EVN_MSG_GOT:
			if(param1 ==  CTRL_MSG_SUBTYPE_CMD_EXIT)
			{
				ret = PROC_LEAVE;
			}
		#ifdef PREVIEW_SUBMENU  //-a by wangyang 
			if (param1 == CTRL_MSG_SUBTYPE_CMD_STO && param2 == USB_STATUS_OVER)
			{
				system_state = SYS_STATE_NORMAL;
				wincom_close_subtitle();
				OSD_ClearScreen();
				wincom_close_help();
				OSD_ClearObject( pObj, C_UPDATE_ALL);
				OSD_DrawFill(SUBMENU_W_L, SUBMENU_W_T, (SUBMENU_W_W), (SUBMENU_W_H), OSD_TRANSPARENT_COLOR, NULL);
				OSD_ObjOpen((POBJECT_HEAD)&win_rs232upg_con, MENU_OPEN_TYPE_OTHER );
				ret = PROC_LEAVE;
			}
		#endif
			if (param1 == CTRL_MSG_SUBTYPE_CMD_TIMEDISPLAYUPDATE )
			{
				/*if(start_backup==1)
				{
					win_usb_backup_tmr_loop++;
					posi = win_usb_backup_tmr_loop % PROGRESS_BAR_ICON_CNT;
					OSD_SetRect(&rect, BAR_TXT_L, BAR_TXT_T+BAR_TXT_H+4, 80, 80);
					win_progress_bar_draw_bmp(&rect,progress_bar_ids[posi]);
				}
				else
					win_progress_bar_draw_bmp_close();*/

			}

			break;		
		default:
			break;
	}
	return ret;
}
コード例 #12
0
ファイル: win_language.c プロジェクト: alkap007/ali3606
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:
#ifdef EXIT_KEY_EXIT_ALL_MENU
	         exit_key_flag =  FALSE;
#endif
		wincom_open_subtitle((POBJECT_HEAD)&win_lan_con,RS_SYSTEM_LANGUAGE, 0);
#ifdef SHOW_WELCOME_SCREEN
		if(show_win_as_welcome)
		//if(1)
		{
			OSD_SetAttr(&lan_item_con6, C_ATTR_ACTIVE);
			((POBJECT_HEAD)(&lan_item_con1))->bUpID = 6;
			((POBJECT_HEAD)(&lan_item_con5))->bDownID = 6;
            //win_lan_con.head.style.bShowIdx = WSTL_WIN_BODYLEFT_01_HD;
            //win_lan_con.head.style.bHLIdx = WSTL_WIN_BODYLEFT_01_HD;
           // win_lan_con.head.style.bSelIdx = WSTL_WIN_BODYLEFT_01_HD;
           // win_lan_con.head.style.bGrayIdx = WSTL_WIN_BODYLEFT_01_HD;
            OSD_SetRect(&(win_lan_con.head.frame), MAIN_W_L, W_T, MAIN_W_W, W_H);
		}
		else
		{
			OSD_SetAttr(&lan_item_con6, C_ATTR_HIDDEN);
			((POBJECT_HEAD)(&lan_item_con1))->bUpID = 5;
			((POBJECT_HEAD)(&lan_item_con5))->bDownID = 1;
            win_lan_con.head.style.bShowIdx = WIN_SH_IDX;
            win_lan_con.head.style.bHLIdx = WIN_HL_IDX;
            win_lan_con.head.style.bSelIdx = WIN_SL_IDX;
            win_lan_con.head.style.bGrayIdx = WIN_GRY_IDX;

            OSD_SetRect(&(win_lan_con.head.frame), W_L, W_T, W_W, W_H);
    		//remove_menu_item(&win_lan_con, (OBJECT_HEAD *)&lan_item_con6, CON_H + CON_GAP);
			
		}
         ((CONTAINER*)(&win_lan_con))->FocusObjectID = 1;
#endif

		p_sys_data=sys_data_get();
//libc_printf("\nmmmmm-lan_open--mmmmmmm==%d\n",p_sys_data->lang.OSD_lang);
		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 ORDER_GZ1207009
		win_lan_set_epg_lan_string(p_sys_data->lang.epg_lang);
#endif

#ifdef SUPPORT_POP_SUBT
		subt_popup = TRUE;
#else
		subt_popup = FALSE;
#endif

#ifdef PREVIEW_SUBMENU  //-a by wangyang 
{
				
			POBJECT_HEAD focusObj=OSD_GetFocusObject(pObj);
			
			if(param2==MENU_OPEN_TYPE_OTHER)
			{
				lan_item_set[focusObj->bID-1]->style.bHLIdx=TXTS_SH_IDX;
				lan_item_name[focusObj->bID-1]->style.bHLIdx=TXTN_SH_IDX;
			}
			else
			{
				lan_item_set[focusObj->bID-1]->style.bHLIdx=TXTS_HL_IDX;
				lan_item_name[focusObj->bID-1]->style.bHLIdx=TXTN_HL_IDX;
			}

}
#endif

	/*	if(subt_popup) //-d by wangyang  for add subtitle language
		{
			remove_menu_item(&win_lan_con, (POBJECT_HEAD)lan_items[3], (CON_H + CON_GAP));			
		}*/
		break;
	
	case EVN_POST_OPEN:
		wincom_open_commen_help(pObj);//-a by wangyang 
		break;
		
	case EVN_PRE_CLOSE:
#ifdef EPG_MULTI_LANG
#ifndef ORDER_GZ1207009
		/*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
#endif

#ifndef NEW_DEMO_FRAME
		UIChChgApplyAudLanguage();
#endif
//libc_printf("\nmmmmm---mmmmmmm==%d\n",p_sys_data->lang.OSD_lang);
		sys_data_save(1);
		/* Make OSD not flickering */
		*((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG;	
		
		break;

	case EVN_POST_CLOSE:
              TTXEng_set_g0_set();
  		wincom_close_subtitle();
			OSD_ClearScreen();
#ifdef EXIT_KEY_EXIT_ALL_MENU
	        if( exit_key_flag == TRUE)
	        	{
 			 exit_key_flag =FALSE;
			mm_leave_all_menu();
		}
#endif
		//OSD_TrackObject( (POBJECT_HEAD) &g_win_mainmenu, C_UPDATE_ALL);
		break;
	}
	return ret;
}
コード例 #13
0
ファイル: win_map_display.c プロジェクト: alkap007/ali3606
static PRESULT map_display_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	//UINT8	focusID = OSD_GetFocusID( pObj);
	UINT8 back_saved;
	OSD_RECT rect = {PREVIEW_L, PREVIEW_T, PREVIEW_W, PREVIEW_H};
	struct  YCbCrColor bgcolor;

	switch(event)
	{
		case EVN_PRE_OPEN:
			vdec_stop((struct vdec_device *)dev_get_by_type(NULL, HLD_DEV_TYPE_DECV), 0, 0);
			OSD_ClearScreen();//-a by wangyang 2011-09-20
			win_media_player_init_ex(mp_apcallback, 1);
			bMapDownloading = FALSE;
			zoom_level = 12;
			//api_set_preview_vpo_color(TRUE);
			bgcolor.uY = 16;
			bgcolor.uCb = 128;
			bgcolor.uCr = 128;		
			api_set_vpo_bgcolor(&bgcolor);
			image_restore_vpo_rect();//TODO
#if 0			
			vpo_aspect_mode((struct vpo_device *)dev_get_by_id(HLD_DEV_TYPE_DIS,0), TV_4_3, NORMAL_SCALE);
#ifdef DUAL_VIDEO_OUTPUT
			vpo_aspect_mode((struct vpo_device *)dev_get_by_id(HLD_DEV_TYPE_DIS,1), TV_4_3, NORMAL_SCALE);
#endif
			osal_task_sleep(30);
			
			if(is_cur_decoder_avc())
			{
				h264_decoder_select(0, hde_get_mode() == VIEW_MODE_PREVIEW);
			}
#endif			
//			system_state = SYS_STATE_USB_MP;
	      	  	//osal_cache_flush_all();
	      	  	image_abort();
			//map_show(rect);
			break;
       	case EVN_POST_OPEN:
			//wincom_open_subtitle(pObj,RS_MAP,0);
			wincom_open_help_trans(pObj, map_display_helpinfo, 2);
			map_show(rect, param2);
			break;
		case EVN_POST_CLOSE:
			map_download_abort(s_mapdisp_dl_handle);
			s_mapdisp_dl_handle = 0;
			media_player_release_ex();
#ifdef LOGO_IN_RAM
			api_show_Test_logo_2(internet_osd4,get_logo_h_file_size(6));
#else
			api_show_Test_logo( LOGO_ID_TYPE|0X0200|7);
#endif
			wincom_close_subtitle();
			break;
		case EVN_MSG_GOT:
			if (param1 == CTRL_MSG_SUBTYPE_STATUS_DOWNLOAD_FINISH)
			{
				bMapDownloading = FALSE;
				map_download_abort(s_mapdisp_dl_handle);
				s_mapdisp_dl_handle = 0;
				if ((int)param2 >= 0)
				{	
					win_compopup_smsg_restoreback();
					map_show(rect, param2);
				}
			}
			break;
		default:
			break;
	}

	return ret;
}
コード例 #14
0
ファイル: Win_rs232upg.c プロジェクト: alkap007/ali3606
static PRESULT rs232upg_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:
#ifdef PREVIEW_SUBMENU  //-a by wangyang 
			if(param2==MENU_OPEN_TYPE_OTHER)
			{
				if(focus_flag==1)
				{
					POBJECT_HEAD focusObj=OSD_GetFocusObject(pObj);
					focusObj_id =focusObj->bID;
				       OSD_SetContainerFocus((CONTAINER*)pObj,0);
					 focus_flag  =0;
				}
			}
			else
			{
			        OSD_SetContainerFocus((CONTAINER*)pObj,focusObj_id);
				focus_flag  =1;

			}
#endif
#ifdef EXIT_KEY_EXIT_ALL_MENU
	         exit_key_flag =  FALSE;
#endif
			wincom_open_subtitle((POBJECT_HEAD)&win_rs232upg_con,RS_UPGRADE_MODE_RS232, 0);
			win_rs232upg_load_chunk_info();
			OSD_SetProgressBarPos(&rs232upg_bar_progress,(INT16)0);
			OSD_SetTextFieldContent(&rs232upg_txt_progress, STRING_NUM_PERCENT, (UINT32)0);

			break;
			
		case EVN_POST_OPEN:
			win_rs232upg_msg_clear();
		wincom_open_commen_help(pObj);//-a by wangyang 
			break;
		
		case EVN_PRE_CLOSE:
			win_rs232upg_clear();
			/* Make OSD not flickering */
			*((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG;	
			
			break;

		case EVN_POST_CLOSE:
	  		wincom_close_subtitle();
			OSD_ClearScreen();
#ifdef EXIT_KEY_EXIT_ALL_MENU
	        if( exit_key_flag == TRUE)
	        	{
 			 exit_key_flag =FALSE;
			mm_leave_all_menu();
		}
#endif
			//OSD_TrackObject( (POBJECT_HEAD) &g_win_mainmenu, C_UPDATE_ALL);
			break;
		#ifdef PREVIEW_SUBMENU  //-a by wangyang 
  		case EVN_MSG_GOT:
			if (param1 == CTRL_MSG_SUBTYPE_CMD_STO && param2 == USB_STATUS_OVER)
			{
			OSD_ObjOpen((POBJECT_HEAD)&g_win_submenu, MENU_OPEN_TYPE_OTHER );
			}
			break;		
		#endif
	}
	return ret;
}
コード例 #15
0
static PRESULT localset_con_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
    PRESULT ret = PROC_PASS;
    VACTION unact;
    IP_LOC_CFG last_local_cfg;

    switch(event)
    {
    case EVN_PRE_OPEN:
#ifdef EXIT_KEY_EXIT_ALL_MENU
	         exit_key_flag =  FALSE;
#endif
#ifdef PREVIEW_SUBMENU  //-a by wangyang 
{
				
			if(param2==MENU_OPEN_TYPE_OTHER)
			{
				/*if(focus_flag==1)
				{
					POBJECT_HEAD focusObj=OSD_GetFocusObject(pObj);
					focusObj_id =focusObj->bID;
				       OSD_SetContainerFocus((CONTAINER*)pObj,0);
					 focus_flag  =0;
				}*/
				localset_item_txtname1.head.style.bHLIdx =TXT_SH_IDX;
				localset_item_dhcp.head.style.bHLIdx =SEL_SH_IDX;
				localset_item_txtname7.head.style.bHLIdx =TXT_SH_IDX;
			}
			else
			{
			      /*  OSD_SetContainerFocus((CONTAINER*)pObj,focusObj_id);
				focus_flag  =1;*/
				localset_item_txtname1.head.style.bHLIdx =TXT_HL_IDX;
				localset_item_dhcp.head.style.bHLIdx =SEL_HL_IDX;
				#ifdef OSD_15
				localset_item_txtname7.head.style.bHLIdx =WIN_SUBMENU_APPLE_TITLE;
				#elif defined(OSD_12)
				localset_item_txtname7.head.style.bHLIdx =WIN_SUBMENU_APPLE_TITLE;
				#else
				localset_item_txtname7.head.style.bHLIdx =TXT_HL_IDX;
				#endif
			}
}
#endif
        wincom_open_subtitle((POBJECT_HEAD)&g_win_localsetting,RS_NET_LOCAL_SETTING, 0);
		localset_init();
		if(flag==1&&net_local_cfg.dhcp_on)
		{
		
				localset_display();
		}
		
 		wincom_open_commen_help(pObj);//-a by wangyang 
       break;
	case EVN_POST_OPEN:
		TestNetStatus();
		break;
    case EVN_PRE_CLOSE:
		//localset_cfg_save();
        /* Make OSD not flickering */
        *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; 
        break;
    case EVN_POST_CLOSE: 
	
  		wincom_close_subtitle();
			OSD_ClearScreen();
#ifdef EXIT_KEY_EXIT_ALL_MENU
	        if( exit_key_flag == TRUE)
	        	{
 			 exit_key_flag =FALSE;
			mm_leave_all_menu();
		}
#endif
		//OSD_TrackObject( (POBJECT_HEAD) &g_win_mainmenu, C_UPDATE_ALL);
		break;
	case EVN_MSG_GOT:
		if (param1 == CTRL_MSG_SUBTYPE_STATUS_DHCP)
		{
		
			localset_display();  //guop add 20111226
		}
		TestNetStatus();
		break;
    default:
        break;
    }

    return ret; 
}
コード例 #16
0
ファイル: win_pvr_setting.c プロジェクト: alkap007/ali3606
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:
#ifdef EXIT_KEY_EXIT_ALL_MENU
	         exit_key_flag =  FALSE;
#endif
			wincom_open_subtitle((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(&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(&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(&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(&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);
	#ifdef SUPPORT_CAS9
			remove_menu_item((POBJECT_HEAD)&g_win_pvr_setting, (OBJECT_HEAD *)&pvr_setting_item_con5, CON_H + CON_GAP);
			remove_menu_item((POBJECT_HEAD)&g_win_pvr_setting, (OBJECT_HEAD *)&pvr_setting_item_con8, CON_H + CON_GAP);
	#endif
#else
			remove_menu_item((POBJECT_HEAD)&g_win_pvr_setting, (OBJECT_HEAD *)&pvr_setting_item_con8, CON_H + CON_GAP);
#endif
#ifdef PREVIEW_SUBMENU  //-a by wangyang 
{
				
			POBJECT_HEAD focusObj=OSD_GetFocusObject(pObj);
			
			if(param2==MENU_OPEN_TYPE_OTHER)
			{
				pvr_setting_item_set[focusObj->bID-1]->style.bHLIdx=TXTS_SH_IDX;
				pvr_setting_item_name[focusObj->bID-1]->style.bHLIdx=TXTN_SH_IDX;
			}
			else
			{
				pvr_setting_item_set[focusObj->bID-1]->style.bHLIdx=TXTS_HL_IDX;
				pvr_setting_item_name[focusObj->bID-1]->style.bHLIdx=TXTN_HL_IDX;
			}

}
#endif

			break;
		case EVN_POST_OPEN:
		wincom_open_commen_help(pObj);//-a by wangyang 
			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:
	  		wincom_close_subtitle();
			OSD_ClearScreen();
#ifdef EXIT_KEY_EXIT_ALL_MENU
	        if( exit_key_flag == TRUE)
	        	{
 			 exit_key_flag =FALSE;
			mm_leave_all_menu();
		}
#endif
			//OSD_TrackObject( (POBJECT_HEAD) &g_win_mainmenu, C_UPDATE_ALL);
			break;
		#ifdef PREVIEW_SUBMENU  //-a by wangyang 
  		case EVN_MSG_GOT:
			if (param1 == CTRL_MSG_SUBTYPE_CMD_STO && param2 == USB_STATUS_OVER)
			{
				//system_state = SYS_STATE_NORMAL;
				wincom_close_subtitle();
				OSD_ClearScreen();
				//wincom_close_help();
				OSD_ClearObject( pObj, C_UPDATE_ALL);
				OSD_DrawFill(SUBMENU_W_L, SUBMENU_W_T, (SUBMENU_W_W), (SUBMENU_W_H), OSD_TRANSPARENT_COLOR, NULL);
				OSD_ObjOpen((POBJECT_HEAD)&win_info_con, MENU_OPEN_TYPE_OTHER );
				ret = PROC_LEAVE;
			}
			break;		
		#endif
      case EVN_UNKNOWN_ACTION:
            if (api_pvr_is_record_active())
                break;
            
            win_popup_choice_t choice;
            UINT8 back_saved;

#ifndef CI_PLUS_PVR_SUPPORT
			if (sys_data_get_tms() == 0)
			{
				win_popup_choice_t choice;
				UINT8 back_saved;			
				win_compopup_init(WIN_POPUP_TYPE_OKNO);
				win_compopup_set_msg("Are you sure to enter record TP mode?", NULL, 0);
				if (pvr_r_get_record_all())
					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)
				{
					pvr_r_set_record_all(TRUE);
				}	
				else if (choice == WIN_POP_CHOICE_NO)
				{
					pvr_r_set_record_all(FALSE);
				}
			
			}
			else
#endif
			{
	            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;
}
コード例 #17
0
ファイル: win_tp_list.c プロジェクト: alkap007/ali3606
static PRESULT tplst_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2)
{
	PRESULT ret = PROC_PASS;
	UINT8 back_saved;
	S_NODE s_node;
    	POBJECT_HEAD submenu;

	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_close_help();
		wincom_open_subtitle(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+30,pObj->frame.uTop + LIST_ITEMCNT*(ITEM_H + ITEM_GAP) + LST_SAT_H +25);
          wincom_open_commen_help(pObj);
		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
  		wincom_close_subtitle();
		OSD_ClearScreen();
		win_open_submenu_title(submenu,sub_menu_desc->title_id, 0);  //guop
      
		break;
	case EVN_MSG_GOT:
		win_tplist_message_proc(param1,param2);
		break;
	default:
		break;
	}


	return ret;
}