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; }
static void win_antcnt_update_lnb12_action(INT32 update) { MULTISEL* msel; CONTAINER* item; UINT8 action; POBJECT_HEAD pObj; msel = antcnt_msels[0]; if(msel->nSel == ANTENNA_CONNECT_DUAL_DIFF) action = C_ATTR_ACTIVE; else action = C_ATTR_INACTIVE; item = antcnt_items[2]; if( !OSD_CheckAttr(item, action)) { OSD_SetAttr(item, action); pObj = OSD_GetContainerNextObj(item); while(pObj) { OSD_SetAttr(pObj, action); pObj = OSD_GetObjpNext(pObj); } if(update) OSD_DrawObject((POBJECT_HEAD )item,C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); } }
static PRESULT sudoku_con_callback(POBJECT_HEAD obj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; 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_DrawObject((POBJECT_HEAD)&g_win_mainmenu, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); break; case EVN_POST_DRAW: game_1st_draw(); break; case EVN_MSG_GOT: game_event(param1, param2); break; } return ret; }
static PRESULT rs232upg_item_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; VACTION unact; UINT8 bID; bID = OSD_GetObjID(pObj); switch(event) { case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); if(unact == VACT_ENTER && bID == START_ID) { system_state = SYS_STATE_UPGRAGE_HOST; OSD_SetAttr(&rs232upg_item_con1, C_ATTR_INACTIVE); OSD_SetAttr(&rs232upg_item_con2, C_ATTR_INACTIVE); OSD_DrawObject( (POBJECT_HEAD)&rs232upg_item_con1, C_UPDATE_ALL); OSD_DrawObject( (POBJECT_HEAD)&rs232upg_item_con2, C_UPDATE_ALL); ClearUpgFlag(); if(OSD_GetMultiselSel(&rs232upg_sel_upgrade_type) == 0) { p2p_enable_upgrade_bootloader(TRUE); if(InitBlockList() != SUCCESS) return PROC_LEAVE; SetUpgFlag(0, 0, 1); } else { p2p_enable_upgrade_bootloader(FALSE); if(InitBlockList() != SUCCESS) return PROC_LEAVE; //-a by wangyang del seecode upgrade if(OSD_GetMultiselSel(&rs232upg_sel_upgrade_type) == 1) SetUpgFlag(Index2Id(OSD_GetMultiselSel(&rs232upg_sel_upgrade_type)), 0xFFFFFFFF, 1); else SetUpgFlag(Index2Id(OSD_GetMultiselSel(&rs232upg_sel_upgrade_type)+1), 0xFFFFFFFF, 1); // SetUpgFlag(Index2Id(OSD_GetMultiselSel(&rs232upg_sel_upgrade_type)), 0xFFFFFFFF, 1); } //start transfer win_rs232upg_start(); OSD_SetAttr(&rs232upg_item_con1, C_ATTR_ACTIVE); OSD_SetAttr(&rs232upg_item_con2, C_ATTR_ACTIVE); OSD_DrawObject( (POBJECT_HEAD)&rs232upg_item_con1, C_UPDATE_ALL); OSD_TrackObject( (POBJECT_HEAD)&rs232upg_item_con2, C_UPDATE_ALL); system_state = SYS_STATE_NORMAL; } break; } return ret; }
static void playlist_display_items(UINT16 uTop) { UINT8 i; char str_buff[MAX_FILE_NAME_SIZE + 1]; RET_CODE ret; TEXT_FIELD *pTxt; BITMAP *pBmp; FileInfo playlist_node; BOOL move_flag; UINT16 file_idx, curitem, index; POBJLIST pOl; pOl = &ol_playlist; curitem = OSD_GetObjListNewPoint(pOl); for(i = 0; i < PL_ITEM_CNT;i++) { index = uTop + i; move_flag = FALSE; if((moving_flag==1) && (move_file_idx != INVALID_IDX) && (index == curitem)) { move_flag = TRUE; } file_idx = list_index_2_playlist_index(pOl, index); ret = get_file_from_play_list(cur_display_playlist,(file_idx +1),&playlist_node); if(ret == RET_SUCCESS) { pTxt = playlist_idxs[i]; sprintf(str_buff,"%d",(uTop + i + 1)); OSD_SetTextFieldContent(pTxt,STRING_ANSI,(UINT32)str_buff); pBmp = playlist_icons[i]; OSD_SetBitmapContent(pBmp, file_icon_ids[playlist_node.filetype]); pTxt = playlist_files[i]; //filter_unkownfont_name(playlist_node.name,str_buff); win_shorten_filename(playlist_node.name,str_buff); OSD_SetTextFieldContent(pTxt,STRING_UTF8,(UINT32)str_buff); pBmp = playlist_moveicons[i]; if(move_flag == TRUE) //OSD_SetBitmapContent(pBmp, IM_TV_DEL); OSD_SetAttr(pBmp, C_ATTR_ACTIVE); else OSD_SetAttr(pBmp, C_ATTR_HIDDEN); } else { pTxt = playlist_idxs[i]; OSD_SetTextFieldContent(pTxt,STRING_ANSI,(UINT32)""); pBmp = playlist_icons[i]; OSD_SetBitmapContent(pBmp, 0); pTxt = playlist_files[i]; OSD_SetTextFieldContent(pTxt,STRING_ANSI,(UINT32)""); pBmp = playlist_moveicons[i]; OSD_SetAttr(pBmp, C_ATTR_HIDDEN); } } }
static void win_atnsetm_load_tuner_configuration(void) { CONTAINER* tuner_item= &atnsetm_item1; CONTAINER* win =&g_win_antenna_set_motor; CONTAINER* lnb_item = &atnsetm_item2; MULTISEL* msel; POBJECT_HEAD pObj; UINT32 i,tuner_cnt; UINT8 action; static BOOL bFirstTime = 1; #ifdef SUPPORT_TWO_TUNER msel = anesetm_msels[TUNER_ID - 1]; tuner_cnt = get_tuner_cnt(); msel->nCount = tuner_cnt; if(antset_cur_tuner >= tuner_cnt) antset_cur_tuner = tuner_cnt - 1; msel->nSel = antset_cur_tuner; action = (tuner_cnt == 1)? C_ATTR_INACTIVE : C_ATTR_ACTIVE; OSD_SetAttr(tuner_item, action); pObj = OSD_GetContainerNextObj(tuner_item); while(pObj) { OSD_SetAttr(pObj , action); pObj = OSD_GetObjpNext(pObj); } if((C_ATTR_INACTIVE == action)&&(TUNER_ID == OSD_GetContainerFocus(win))) OSD_SetContainerFocus(win, LNB_ID); tuner_type_ids[0] = get_tuner_strid(0); tuner_type_ids[1] = get_tuner_strid(1); #else if(bFirstTime) { OSD_SetContainerNextObj(win,lnb_item); lnb_item->head.bUpID = tuner_item->head.bUpID; pObj = (POBJECT_HEAD)lnb_item; OSD_MoveObject(pObj,0, -(CON_H + CON_GAP), TRUE); while(pObj->pNext) { pObj = pObj->pNext; OSD_MoveObject(pObj,0, -(CON_H + CON_GAP), TRUE); } pObj->bDownID = lnb_item->head.bID; OSD_SetContainerFocus(win, LNB_ID); } bFirstTime = 0; #endif }
void set_container_active(CONTAINER *con, UINT8 action) { POBJECT_HEAD pObj; OSD_SetAttr(con, action); pObj = OSD_GetContainerNextObj(con); while (pObj) { OSD_SetAttr(pObj, action); pObj = OSD_GetObjpNext(pObj); } }
void submenu_set_item_attr(UINT32 itemidx, UINT8 bAttr) { CONTAINER* menu_item_obj; POBJECT_HEAD pObj; menu_item_obj = submenu_items[itemidx]; OSD_SetAttr(menu_item_obj, bAttr); pObj = menu_item_obj->pNextInCntn; while(pObj != NULL) { OSD_SetAttr(pObj, bAttr); pObj = pObj->pNext; } }
static PRESULT game_con_callback(POBJECT_HEAD obj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; static UINT8 m_focus_id; switch (event) { case EVN_PRE_OPEN: m_focus_id = OSD_GetFocusID((POBJECT_HEAD)&game_con); OSD_SetContainerFocus(&game_con, 32); OSD_SetAttr((POBJECT_HEAD)&txt_start, C_ATTR_ACTIVE); game_pre_open(); break; case EVN_POST_OPEN: OSD_ChangeFocus((POBJECT_HEAD)&game_con, m_focus_id, C_UPDATE_FOCUS | C_DRAW_SIGN_EVN_FLG); break; case EVN_POST_CLOSE: OSD_DrawObject((POBJECT_HEAD)&g_win_mainmenu, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); break; case EVN_POST_DRAW: game_1st_draw(); break; case EVN_MSG_GOT: game_event(param1, param2); break; } return ret; }
void win_set_youtube_help_attr() { OSD_SetAttr(pHelp1Txt_ids[0], C_ATTR_ACTIVE);//search OSD_SetAttr(pHelp1Txt_ids[1], C_ATTR_ACTIVE);//pre OSD_SetAttr(pHelp1Txt_ids[2], C_ATTR_ACTIVE);//next OSD_SetAttr(pHelp1Txt_ids[3], C_ATTR_ACTIVE); OSD_SetAttr(pHelp1Txt_ids[4], C_ATTR_ACTIVE); //OSD_SetAttr(pHelp2Txt_ids[0], C_ATTR_ACTIVE); //OSD_SetAttr(pHelp2Txt_ids[1], C_ATTR_ACTIVE);//exit//sort //OSD_SetAttr(pHelp2Txt_ids[2], C_ATTR_ACTIVE);//exit //OSD_SetAttr(pHelp2Txt_ids[3], C_ATTR_ACTIVE); //OSD_SetAttr(pHelp2Txt_ids[4], C_ATTR_ACTIVE); }
void win_par_switch_confirm(BOOL flag) { UINT8 action; if(flag) action = C_ATTR_ACTIVE; else action = C_ATTR_INACTIVE; if( !OSD_CheckAttr(&par_item_con4, action)) { OSD_SetAttr(&par_item_con4, action); OSD_SetAttr(&par_item_txtname4, action); OSD_SetAttr(&par_item_txtset4, action); OSD_DrawObject((POBJECT_HEAD )&par_item_con4,C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); } }
BOOL ota_load_parameter() { UINT32 addr; UINT32 len; unsigned char *p = NULL; UINT32 m_ota_load_offset; BOOL ret = FALSE; do { if(!find_ota_loader(&m_ota_load_offset)) break;; chunk_init(m_ota_load_offset+SYS_FLASH_BASE_ADDR, 0x100000); // get user_db address if(!get_chuck_add_len(0x15Fa0200, &addr, &len)) break; p = (UINT8 *)addr; MEMCPY(&m_ota_cfg, p, sizeof(m_ota_cfg)); ota_freq = m_ota_cfg.t_node.frq; ota_symb = m_ota_cfg.t_node.sym; ota_pid = m_ota_cfg.pid; ota_pol = m_ota_cfg.t_node.pol; ret = TRUE; }while(0); if(!ret) { S_NODE *p_s_node = &m_ota_cfg.s_node; p_s_node->lnb_low = 5150; p_s_node->lnb_high= 5150; p_s_node->DiSEqC_port = 4; ota_freq = 4150; ota_symb = 40000; ota_pid = 256; ota_pol = 0; } libc_printf("%s: p=0x%x, Freq=%d, ota_symb=%d, ota_pid=%d, ota_pol =%d\n", \ __FUNCTION__, p, ota_freq, ota_symb, ota_pid, ota_pol); OSD_ChangeFocus((POBJECT_HEAD)&win_otaupg_con, 7, 0); CONTAINER *con = &wota_con0; OSD_SetAttr(con, C_ATTR_INACTIVE); con = &wota_con1; OSD_SetAttr(con, C_ATTR_INACTIVE); PTEXT_FIELD pText = &wota_txt0; OSD_SetAttr(pText, C_ATTR_INACTIVE); pText = &wota_txt1; OSD_SetAttr(pText, C_ATTR_INACTIVE); PMULTISEL pmul = &wota_num0; OSD_SetAttr(pmul, C_ATTR_INACTIVE); pmul = &wota_num1; OSD_SetAttr(pmul, C_ATTR_INACTIVE); return ret; }
static void win_pvod_download() { UINT16 i; BOOL bFinished=FALSE; #if 0 OSD_SetAttr(&pvod_item_con1, C_ATTR_INACTIVE); OSD_DrawObject( (POBJECT_HEAD)&pvod_item_con1, C_UPDATE_ALL); OSD_SetAttr(&pvod_item_con2, C_ATTR_INACTIVE); OSD_DrawObject( (POBJECT_HEAD)&pvod_item_con1, C_UPDATE_ALL); OSD_SetAttr(&pvod_item_con3, C_ATTR_INACTIVE); OSD_DrawObject( (POBJECT_HEAD)&pvod_item_con1, C_UPDATE_ALL); OSD_SetAttr(&pvod_item_con4, C_ATTR_INACTIVE); OSD_DrawObject( (POBJECT_HEAD)&pvod_item_con1, C_UPDATE_ALL); OSD_SetProgressBarPos(&pvod_bar_progress,(INT16)0); OSD_SetTextFieldContent(&pvod_txt_progress, STRING_NUM_PERCENT, (UINT32)0); #endif //download data /* for(i=0;i<5;i++) { osal_delay(300); win_pvod_process_update(20*(i+1)); } */ //download finished // bFinished = TRUE; // SendMsgtoThread(0x01,0x00,0x00);/**Pvod_Programschedule_Query*/ //检查USB连接???? //启动pushvod SendMsgtoThread(Pvod_START_PAT,0,0); }
void win_av_set_vcrloop_action(BOOL update) { POBJECT_HEAD pObj; UINT8 action; SYSTEM_DATA* sys_data; /* Check VCR Loopthroup item exist or not*/ pObj = OSD_GetContainerNextObj(&win_av_con); while(pObj != NULL && pObj != (POBJECT_HEAD)av_items[VCR_ID - 1] ) pObj = OSD_GetObjpNext(pObj); if(pObj == NULL) return; sys_data = sys_data_get(); if(sys_data->avset.scart_out == SCART_RGB) action = C_ATTR_INACTIVE; else action = C_ATTR_ACTIVE; if( ! OSD_CheckAttr(av_items[VCR_ID - 1], action)) { if(action == C_ATTR_INACTIVE) OSD_SetMultiselSel(av_item_set[VCR_ID - 1], 1); else OSD_SetMultiselSel(av_item_set[VCR_ID - 1], sys_data->vcrloopmode); OSD_SetAttr(av_items[VCR_ID - 1], action); pObj = OSD_GetContainerNextObj(av_items[VCR_ID - 1]); while(pObj) { OSD_SetAttr(pObj , action); pObj = OSD_GetObjpNext(pObj); } if(update) OSD_DrawObject( (POBJECT_HEAD)av_items[VCR_ID - 1],C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); } }
static void win_atnsetm_load_local_action(BOOL update) { MULTISEL* msel; CONTAINER* long_item = &atnsetm_item4; CONTAINER* lat_item = &atnsetm_item5; CONTAINER* initpos_item = &atnsetm_item6; POBJECT_HEAD pObj; UINT8 action; msel = anesetm_msels[MOTOR_ID - 1]; action = (msel->nSel == 0)? C_ATTR_INACTIVE : C_ATTR_ACTIVE; if( !OSD_CheckAttr(long_item, action)) { OSD_SetAttr(long_item, action); pObj = OSD_GetContainerNextObj(long_item); while(pObj) { OSD_SetAttr(pObj , action); pObj = OSD_GetObjpNext(pObj); } if(update) OSD_DrawObject( (POBJECT_HEAD)long_item,C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); OSD_SetAttr(lat_item, action); pObj = OSD_GetContainerNextObj(lat_item); while(pObj) { OSD_SetAttr(pObj , action); pObj = OSD_GetObjpNext(pObj); } if(update) OSD_DrawObject( (POBJECT_HEAD)lat_item,C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); action = (action == C_ATTR_INACTIVE)? C_ATTR_ACTIVE : C_ATTR_INACTIVE; OSD_SetAttr(initpos_item, action); pObj = OSD_GetContainerNextObj(initpos_item); while(pObj) { OSD_SetAttr(pObj , action); pObj = OSD_GetObjpNext(pObj); } if(update) OSD_DrawObject( (POBJECT_HEAD)initpos_item,C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); } }
static PRESULT game_con_callback(POBJECT_HEAD obj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; switch (event) { case EVN_PRE_OPEN: #ifdef USE_LIB_GE OSD_SetVscrDst(GUI_MEMVSCR_SURF,0); PGUI_VSCR pVscr=OSD_GetTaskVscr(osal_task_get_current_id()); OSD_SetRect(&(pVscr->frm),0,0,0,0); #endif record_scene(); OSD_SetAttr((POBJECT_HEAD) &txt_start, C_ATTR_ACTIVE); OSD_SetContainerFocus(&game_con, 1); game_pre_open(); break; case EVN_POST_OPEN: #ifdef USE_LIB_GE OSD_SetVscrDst(GUI_GMA2_SURF,0); #endif break; case EVN_PRE_CLOSE: *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; break; case EVN_POST_CLOSE: restore_scene(); break; case EVN_POST_DRAW: game_1st_draw(); break; case EVN_MSG_GOT: ret = games_com_message_proc(param1, param2); game_event(param1, param2); break; } return ret; }
static PRESULT sudoku_newgame_callback(POBJECT_HEAD obj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT8 unact; switch (event) { case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); if (unact == VACT_ENTER) { OSD_SetAttr((POBJECT_HEAD)obj, C_ATTR_INACTIVE); OSD_ChangeFocus((POBJECT_HEAD)&game_sudoku_con, 6, \ C_UPDATE_FOCUS | C_DRAW_SIGN_EVN_FLG); game_start(); } break; } return ret; }
static PRESULT 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: if(from_auto_scan) { wincom_open_subtitle((POBJECT_HEAD)&win_country_net_con,RS_INSTALLATION_AUTO_SEARCH, 0); //remove_menu_item(&win_country_net_con,(POBJECT_HEAD)&item_country_con,CON_H + CON_GAP); OSD_SetAttr(&item_country_con, C_ATTR_HIDDEN); OSD_SetAttr(&item_button_prev_con, C_ATTR_HIDDEN); OSD_SetRect(&(item_button_next_con.head.frame),CON_L, CON_T + (CON_H + CON_GAP)*1,CON_W,CON_H); OSD_SetRect(&(item_button_next_label.head.frame),CON_L, CON_T + (CON_H + CON_GAP)*1,CON_W,CON_H); ((POBJECT_HEAD)(&item_button_next_con))->bLeftID = MAX_ID; ((POBJECT_HEAD)(&item_button_next_con))->bUpID = NETWORK_ID; ((POBJECT_HEAD)(&item_button_next_con))->bDownID = NETWORK_ID; ((PTEXT_FIELD)(&item_button_next_label))->bAlign = C_ALIGN_LEFT | C_ALIGN_VCENTER; ((POBJECT_HEAD)(&item_button_next_label))->style.bShowIdx = TXTN_SH_IDX;//TXT_SH_IDX; ((POBJECT_HEAD)(&item_button_next_label))->style.bHLIdx = TXTN_HL_IDX; ((POBJECT_HEAD)(&item_button_next_label))->style.bSelIdx = TXTN_SL_IDX; ((POBJECT_HEAD)(&item_button_next_label))->style.bGrayIdx = TXTN_GRY_IDX; OSD_SetRect(&(item_network_con.head.frame),CON_L, CON_T,CON_W,CON_H); OSD_SetRect(&(item_network_label.head.frame),CON_L, CON_T,TXTN_W,CON_H); OSD_SetRect(&(item_network_sel.head.frame),CON_L+TXTS_L_OF, CON_T,TXTS_W,CON_H); ((POBJECT_HEAD)(&item_network_con))->bUpID = BUTTON_NEXT_ID; ((POBJECT_HEAD)(&item_network_con))->bDownID = BUTTON_NEXT_ID; OSD_SetTextFieldContent(&item_button_next_label,STRING_ID,RS_COMMON_SEARCH); win_country_net_con.head.style.bShowIdx = WIN_SH_IDX; win_country_net_con.head.style.bHLIdx = WIN_HL_IDX; win_country_net_con.head.style.bSelIdx = WIN_SL_IDX; win_country_net_con.head.style.bGrayIdx = WIN_GRY_IDX; OSD_SetRect(&(win_country_net_con.head.frame), W_L,W_T,W_W,W_H); }else { wincom_open_subtitle((POBJECT_HEAD)&win_country_net_con,RS_SYSTEM_WELCOME, 0); OSD_SetAttr(&item_country_con, C_ATTR_ACTIVE); OSD_SetAttr(&item_button_prev_con, C_ATTR_ACTIVE); OSD_SetRect(&(item_button_next_con.head.frame),CON_W-80, CON_T + (CON_H + CON_GAP)*7, BTN_W, BTN_H); OSD_SetRect(&(item_button_next_label.head.frame),CON_W-80, CON_T + (CON_H + CON_GAP)*7, BTN_W, BTN_H); ((POBJECT_HEAD)(&item_button_next_con))->bLeftID = BUTTON_PREV_ID; ((POBJECT_HEAD)(&item_button_next_con))->bUpID = NETWORK_ID; ((POBJECT_HEAD)(&item_button_next_con))->bDownID = COUNTRY_ID; ((PTEXT_FIELD)(&item_button_next_label))->bAlign = C_ALIGN_CENTER | C_ALIGN_VCENTER; ((POBJECT_HEAD)(&item_button_next_label))->style.bShowIdx = BTN_SH_IDX; OSD_SetRect(&(item_network_con.head.frame),CON_L, CON_T + (CON_H + CON_GAP)*1,CON_W-30,CON_H); OSD_SetRect(&(item_network_label.head.frame),CON_L, CON_T + (CON_H + CON_GAP)*1,TXTN_W,CON_H); OSD_SetRect(&(item_network_sel.head.frame),CON_L+TXTS_L_OF, CON_T + (CON_H + CON_GAP)*1,TXTS_W,CON_H); ((POBJECT_HEAD)(&item_network_con))->bUpID = COUNTRY_ID; ((POBJECT_HEAD)(&item_network_con))->bDownID = BUTTON_NEXT_ID; // win_country_net_con.head.style.bShowIdx = WSTL_WIN_BODYLEFT_01_HD; // win_country_net_con.head.style.bHLIdx = WSTL_WIN_BODYLEFT_01_HD; // win_country_net_con.head.style.bSelIdx = WSTL_WIN_BODYLEFT_01_HD; // win_country_net_con.head.style.bGrayIdx = WSTL_WIN_BODYLEFT_01_HD; OSD_SetRect(&(win_country_net_con.head.frame), MAIN_W_L, W_T, MAIN_W_W, W_H); } load_settings(); break; case EVN_POST_OPEN: // win_help_guide_open_ex(pObj,com_guide,2); break; case EVN_PRE_CLOSE: sys_data_save(1); /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; from_auto_scan = FALSE; break; case EVN_POST_CLOSE: wincom_close_subtitle(); OSD_TrackObject( (POBJECT_HEAD) &g_win_mainmenu, C_UPDATE_ALL); break; case EVN_MSG_GOT: break; } return ret; }
void win_capin_switch_confirm(UINT8 stage, BOOL flag) { UINT8 action,opp_action; if(flag) { action = C_ATTR_ACTIVE; opp_action = C_ATTR_INACTIVE; } else { action = C_ATTR_INACTIVE; opp_action = C_ATTR_ACTIVE; } if(stage == 1) { if(flag) { if( !OSD_CheckAttr(&capin_item_con2, action)) { OSD_SetAttr(&capin_item_con1, opp_action); OSD_SetAttr(&capin_item_txtname1, opp_action); OSD_SetAttr(&capin_item_txtset1, opp_action); OSD_DrawObject((POBJECT_HEAD )&capin_item_con1,C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); OSD_SetAttr(&capin_item_con2, action); OSD_SetAttr(&capin_item_txtname2, action); OSD_SetAttr(&capin_item_txtset2, action); OSD_DrawObject((POBJECT_HEAD )&capin_item_con2,C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); } } else { if( !OSD_CheckAttr(&capin_item_con2, action)) { OSD_SetAttr(&capin_item_con1, opp_action); OSD_SetAttr(&capin_item_txtname1, opp_action); OSD_SetAttr(&capin_item_txtset1, opp_action); OSD_DrawObject((POBJECT_HEAD )&capin_item_con1,C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); OSD_SetAttr(&capin_item_con2, action); OSD_SetAttr(&capin_item_txtname2, action); OSD_SetAttr(&capin_item_txtset2, action); OSD_DrawObject((POBJECT_HEAD )&capin_item_con2,C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); OSD_SetAttr(&capin_item_con3, action); OSD_SetAttr(&capin_item_txtname3, action); OSD_SetAttr(&capin_item_txtset3, action); OSD_DrawObject((POBJECT_HEAD )&capin_item_con3,C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); } } } else if(stage == 2) { if( !OSD_CheckAttr(&capin_item_con3, action)) { OSD_SetAttr(&capin_item_con3, action); OSD_SetAttr(&capin_item_txtname3, action); OSD_SetAttr(&capin_item_txtset3, action); OSD_DrawObject((POBJECT_HEAD )&capin_item_con3,C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); OSD_SetAttr(&capin_item_con1, C_ATTR_INACTIVE); OSD_SetAttr(&capin_item_txtname1, C_ATTR_INACTIVE); OSD_SetAttr(&capin_item_txtset1, C_ATTR_INACTIVE); OSD_DrawObject((POBJECT_HEAD )&capin_item_con1,C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); } } else if(stage == 3) { OSD_SetAttr(&capin_item_con2, C_ATTR_ACTIVE); OSD_SetAttr(&capin_item_txtname2, C_ATTR_ACTIVE); OSD_SetAttr(&capin_item_txtset2, C_ATTR_ACTIVE); OSD_SetAttr(&capin_item_con3, C_ATTR_INACTIVE); OSD_SetAttr(&capin_item_txtname3, C_ATTR_INACTIVE); OSD_SetAttr(&capin_item_txtset3, C_ATTR_INACTIVE); } }
static PRESULT sudoku_key_proc(UINT32 vkey, UINT8 key_repeat_cnt, UINT8 key_status) { PRESULT ret = PROC_LOOP; UINT8 back_saved; UINT8 pos; UINT8 i; if (key_status == PAN_KEY_PRESSED) { switch (vkey) { case V_KEY_UP: case V_KEY_DOWN: case V_KEY_LEFT: case V_KEY_RIGHT: sudoku_draw_grid(cur_row, cur_col); if (vkey == V_KEY_UP) { cur_row = cur_row == 0 ? 8 : cur_row - 1; } else if (vkey == V_KEY_DOWN) { cur_row = cur_row == 8 ? 0 : cur_row + 1; } else if (vkey == V_KEY_LEFT) { cur_col = cur_col == 0 ? 8 : cur_col - 1; } else if (vkey == V_KEY_RIGHT) { cur_col = cur_col == 8 ? 0 : cur_col + 1; } sudoku_draw_cursor(cur_row, cur_col); break; case V_KEY_0: pos = cur_row*BOARD_COLS+cur_col; if(!IS_FIXED(pos)) { if(pboard[pos]!=' ') { pboard[pos]=' '; sudoku_draw_cursor(cur_row, cur_col); } } break; case V_KEY_1: case V_KEY_2: case V_KEY_3: case V_KEY_4: case V_KEY_5: case V_KEY_6: case V_KEY_7: case V_KEY_8: case V_KEY_9: pos = cur_row*BOARD_COLS+cur_col; if(!IS_FIXED(pos)) { pboard[pos]=(vkey-V_KEY_0)+0x30; sudoku_draw_cursor(cur_row, cur_col); } for (i=0;i<81 ;i++ ) if(pboard[i]==' ') break; if(i==81) { for (i=0;i<81 ;i++ ) if(pboard[i]!=(GET_DIGIT(solved_board[i])+0x30)) break; } if(i==81) { completed=1; win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_frame(GAME_MSG_LEFT, GAME_MSG_TOP, GAME_MSG_WIDTH,GAME_MSG_HEIGHT); win_compopup_set_msg(NULL, NULL, RS_GAME_YOU_WIN); if (win_compopup_open_ext(&back_saved) == WIN_POP_CHOICE_YES) { sudoku_draw_board(); //sudoku_draw_grid(cur_row, cur_col); 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); } } break; case V_KEY_MENU: case V_KEY_EXIT: win_compopup_init(WIN_POPUP_TYPE_OKNO); win_compopup_set_frame(GAME_MSG_LEFT, GAME_MSG_TOP, GAME_MSG_WIDTH,GAME_MSG_HEIGHT); win_compopup_set_msg(NULL, NULL, RS_GAME_MSG_DO_YOU_QUIT); if (win_compopup_open_ext(&back_saved) == WIN_POP_CHOICE_YES) { sudoku_draw_board(); //sudoku_draw_grid(cur_row, cur_col); 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 { sudoku_draw_board(); sudoku_draw_cursor(cur_row, cur_col); } break; default : ret = PROC_PASS; break; } } return ret; }
static void ci_info_display() { OBJLIST* ol; UINT16 cnt, page; UINT8 i; CONTAINER* item = NULL; TEXT_FIELD* txt = NULL; //1. CI Title OSD_SetTextFieldContent(&txt_ci_info_title, STRING_UNICODE, (UINT32)ci_info.menu.title_str); //2. sub title ci_info_subtitle_content[0].text.pString = ci_info.menu.subtitle_str; //3. bottom OSD_SetTextFieldContent(&txt_ci_info_bottom, STRING_UNICODE, (UINT32)ci_info.menu.bottom_str); //4. fill the list ol = &olst_ci_info; page = OSD_GetObjListPage(ol); cnt = ci_info.menu.entry_cnt; OSD_SetObjListCount(ol, cnt); if(cnt <= page) OSD_SetAttr(&sb_ci_info, C_ATTR_HIDDEN); else OSD_SetAttr(&sb_ci_info, C_ATTR_ACTIVE); OSD_SetObjListTop(ol, 0); OSD_SetObjListCurPoint(ol, 0); OSD_SetObjListNewPoint(ol, 0); for( i = 0; i < page; i++) { item = (PCONTAINER)ci_info_list_items[i]; txt = (PTEXT_FIELD)OSD_GetContainerNextObj(item); if(ci_info.menu.is_selectable) { if(api_is_sd_color_mode()) { // OSD_SetColor(item, CON_SH_IDX_SD, CON_HL_IDX_SD, CON_SL_IDX_SD, CON_GRY_IDX_SD); OSD_SetColor(item, CON_SH_IDX, CON_HL_IDX, CON_SL_IDX, CON_GRY_IDX); // OSD_SetColor(txt, TXT_SH_IDX_SD,TXT_HL_IDX_SD,TXT_SL_IDX_SD,TXT_GRY_IDX_SD); OSD_SetColor(txt, TXT_SH_IDX,TXT_HL_IDX,TXT_SL_IDX,TXT_GRY_IDX); } else { #if 0 OSD_SetColor(item, CON_SH_IDX, CON_HL_IDX, CON_SL_IDX, CON_GRY_IDX); OSD_SetColor(txt, TXT_SH_IDX,TXT_HL_IDX,TXT_SL_IDX,TXT_GRY_IDX); #endif } } else { if(api_is_sd_color_mode()) { OSD_SetColor(item, CON_SH_IDX_SD, CON_SH_IDX_SD, CON_SL_IDX_SD, CON_GRY_IDX_SD); OSD_SetColor(txt, TXT_SH_IDX_SD,TXT_SH_IDX_SD,TXT_SL_IDX_SD,TXT_GRY_IDX_SD); } else { #if 0 OSD_SetColor(item, CON_SH_IDX, CON_SH_IDX, CON_SL_IDX, CON_GRY_IDX); OSD_SetColor(txt, TXT_SH_IDX,TXT_SH_IDX,TXT_SL_IDX,TXT_GRY_IDX); #endif } } } OSD_TrackObject( (POBJECT_HEAD)&g_win_ci_info, C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL); }
void win_time_switch_GMT_Type(UINT8 enable) { UINT8 action; if(enable) { if( !OSD_CheckAttr(&time_item_con2, C_ATTR_ACTIVE)) { OSD_SetAttr(&time_item_con2, C_ATTR_ACTIVE); OSD_SetAttr(&time_item_txtname2, C_ATTR_ACTIVE); OSD_SetAttr(&time_item_txtset2, C_ATTR_ACTIVE); } if( !OSD_CheckAttr(&time_item_con3, C_ATTR_ACTIVE)) { OSD_SetAttr(&time_item_con3, C_ATTR_ACTIVE); OSD_SetAttr(&time_item_txtname3, C_ATTR_ACTIVE); OSD_SetAttr(&time_item_txtset3, C_ATTR_ACTIVE); } if( !OSD_CheckAttr(&time_item_con4, C_ATTR_INACTIVE)) { OSD_SetAttr(&time_item_con4, C_ATTR_INACTIVE); OSD_SetAttr(&time_item_txtname4, C_ATTR_INACTIVE); OSD_SetAttr(&time_item_edit4, C_ATTR_INACTIVE); } if( !OSD_CheckAttr(&time_item_con5, C_ATTR_INACTIVE)) { OSD_SetAttr(&time_item_con5, C_ATTR_INACTIVE); OSD_SetAttr(&time_item_txtname5, C_ATTR_INACTIVE); OSD_SetAttr(&time_item_edit5, C_ATTR_INACTIVE); } } else { if( !OSD_CheckAttr(&time_item_con2, C_ATTR_INACTIVE)) { OSD_SetAttr(&time_item_con2, C_ATTR_INACTIVE); OSD_SetAttr(&time_item_txtname2, C_ATTR_INACTIVE); OSD_SetAttr(&time_item_txtset2, C_ATTR_INACTIVE); } if( !OSD_CheckAttr(&time_item_con3, C_ATTR_INACTIVE)) { OSD_SetAttr(&time_item_con3, C_ATTR_INACTIVE); OSD_SetAttr(&time_item_txtname3, C_ATTR_INACTIVE); OSD_SetAttr(&time_item_txtset3, C_ATTR_INACTIVE); } if( !OSD_CheckAttr(&time_item_con4, C_ATTR_ACTIVE)) { OSD_SetAttr(&time_item_con4, C_ATTR_ACTIVE); OSD_SetAttr(&time_item_txtname4, C_ATTR_ACTIVE); OSD_SetAttr(&time_item_edit4, C_ATTR_ACTIVE); } if( !OSD_CheckAttr(&time_item_con5, C_ATTR_ACTIVE)) { OSD_SetAttr(&time_item_con5, C_ATTR_ACTIVE); OSD_SetAttr(&time_item_txtname5, C_ATTR_ACTIVE); OSD_SetAttr(&time_item_edit5, C_ATTR_ACTIVE); } } }
static PRESULT srch_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT16 title_id; POBJECT_HEAD mainmenu; UINT8 av_flag; UINT16 cur_chan; UINT8 back_saved; switch(event) { case EVN_PRE_OPEN: system_state = SYS_STATE_SEARCH_PROG; if(win_search_param.as_method == AS_METHOD_TP || win_search_param.as_method == AS_METHOD_NIT_TP) // tp scan title_id = RS_INSTALLATION_TP_SCAN; else if(win_search_param.as_method == AS_METHOD_FFT || win_search_param.as_method == AS_METHOD_MULTI_FFT)//auto scan title_id = RS_INSTALLATION_AUTO_SCAN; else if(win_search_param.as_method == AS_METHOD_SAT_TP ||win_search_param.as_method == AS_METHOD_MULTI_TP || win_search_param.as_method == AS_METHOD_NIT || win_search_param.as_method == AS_METHOD_MULTI_NIT)//preset scan title_id = RS_INSTALLATION_PRESET_SCAN; else title_id = RS_INSTALLATION_AUTO_SCAN; wincom_open_subtitle(pObj,title_id,0); /*Remove progress bar when search type is AS_METHOD_NIT_TP/AS_METHOD_NIT/AS_METHOD_MULTI_NIT*/ if(win_search_param.as_method == AS_METHOD_NIT_TP || win_search_param.as_method == AS_METHOD_NIT|| win_search_param.as_method == AS_METHOD_MULTI_NIT) { OSD_SetAttr(&srch_progress_txt, C_ATTR_HIDDEN); OSD_SetAttr(&srch_progress_bar, C_ATTR_HIDDEN); } else { OSD_SetAttr(&srch_progress_txt, C_ATTR_ACTIVE); OSD_SetAttr(&srch_progress_bar, C_ATTR_ACTIVE); } key_pan_display("srch", 4); epg_off(); stop_tdt(); #ifdef AUTOSCAN_BYPASS_CI // Before Autoscan, DMX0 bypass CI if(win_search_param.as_method == AS_METHOD_FFT || win_search_param.as_method == AS_METHOD_MULTI_FFT)//auto scan { tsi_dmx_src_select(TSI_DMX_0, TSI_TS_B); tsi_para_src_select(TSI_SPI_1,0); api_set_nim_ts_type(2, 0x03); } #endif #ifdef HW_SS830C tsi_dmx_src_select(TSI_DMX_0, TSI_TS_B); api_set_nim_ts_type(2, 0x03); #endif break; case EVN_POST_OPEN: win_search_init(); break; case EVN_PRE_CLOSE: win_search_pre_close = 1; osal_task_dispatch_off(); moving_disk = 0;/*Clear moving dish flag*/ win_search_stop_signal = 1; osal_task_dispatch_on(); as_service_stop(); db_search_exit(); //api_stop_timer(&win_search_tmr_id); /* Make OSD not flickering */ *((UINT32*)param2) &= ~C_CLOSE_CLRBACK_FLG; prog_callback_unregister(); pid_search_flg = 0; break; case EVN_POST_CLOSE: if((srch_ch_cnt[0] != 0x0) || (srch_ch_cnt[1] != 0x0)) { win_search_last_tp_ok_failed(srch_tp_cnt); win_compopup_init(WIN_POPUP_TYPE_SMSG); win_compopup_set_msg(NULL, NULL, RS_MSG_WAIT_FOR_SAVING); //win_compopup_open(); win_compopup_open_ext(&back_saved); update_data(); win_compopup_smsg_restoreback(); win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_msg("Search End", NULL, 0); win_compopup_open_ext(&back_saved); /* Change to all satellite group */ UINT32 grp_idx = sys_data_get_cur_group_index(); sys_data_check_channel_groups(); sys_data_set_cur_group_index(grp_idx); av_flag = sys_data_get_cur_chan_mode(); if(sys_data_get_sate_group_num(av_flag) == 0) { av_flag = (av_flag == TV_CHAN)? RADIO_CHAN : TV_CHAN; sys_data_set_cur_chan_mode(av_flag); } if(av_flag == RADIO_CHAN && (srch_ch_cnt[1] != 0x0)) //guop add 20101231 { av_flag = TV_CHAN; sys_data_set_cur_chan_mode(av_flag); } sys_data_change_group(grp_idx); if(srch_ch_cnt[av_flag] > 0) { cur_chan = get_prog_pos(win_search_cur_prog[av_flag].prog_id); if(cur_chan == 0xFFFF) { grp_idx = get_sat_pos(cur_sat_id) + 1; sys_data_change_group(grp_idx); cur_chan = get_prog_pos(win_search_cur_prog[av_flag].prog_id); if (cur_chan == 0xFFFF) { sys_data_change_group(0); cur_chan = get_prog_pos(win_search_cur_prog[av_flag].prog_id); if (cur_chan == 0xffff) cur_chan = 0; } } sys_data_set_cur_group_channel(cur_chan); } else if(sys_data_get_sate_group_num(av_flag)) key_pan_display("noCH", 4); else key_pan_display("----", 4); sys_data_save(1); epg_reset(); } OSD_ClearObject( (POBJECT_HEAD)&srch_progress_bar, C_UPDATE_ALL); OSD_ClearObject( (POBJECT_HEAD)&srch_progress_txt, C_UPDATE_ALL); mainmenu = (POBJECT_HEAD)&g_win_mainmenu; OSD_TrackObject(mainmenu,C_UPDATE_ALL); #ifdef AUTOSCAN_BYPASS_CI // After Autoscan, DMX0 NOT bypass CI if(win_search_param.as_method == AS_METHOD_FFT || win_search_param.as_method == AS_METHOD_MULTI_FFT)//auto scan { tsi_dmx_src_select(TSI_DMX_0, TSI_TS_A); tsi_para_src_select(TSI_SPI_1,0); } #endif start_tdt(); system_state = SYS_STATE_NORMAL; break; case EVN_MSG_GOT: ret = win_search_message_proc(param1,param2); break; } return ret; }
static void ci_info_init() { char * tmp; UINT8 *tmp_buf; // init MEMSET(&ci_info, 0, sizeof(ci_info)); // get menu string tmp_buf = (void*)(win_ci_get_tmp_buf()); tmp = api_ci_get_menu_string(tmp_buf, CI_DATA_BUFFER_LEN, ci_slot); if(tmp != NULL) { ci_info_set_string(ci_info.name, CI_MENU_TXT_LENGTH, tmp); } else { ci_info.name[0] = '\0'; } //set the window style as the difference show modal win_ci_info_set_colorstyle(); if(win_ci_info_modal == WIN_CI_INFO_SHOW_AS_MODAL) { OSD_SetColor((POBJECT_HEAD)&g_win_ci_info,WIN_SH_IDX_SD,WIN_HL_IDX_SD,WIN_SL_IDX_SD,WIN_GRY_IDX_SD); OSD_MoveObject((POBJECT_HEAD)&g_win_ci_info, W_L_SD,W_T_SD, 0);//62, 55, 0); OSD_MoveObject((POBJECT_HEAD)&txt_ci_info_split1, W_L_SD + 10, SPLIT_1_T_SD, 0); //62, SPLIT_1_T, 0); OSD_MoveObject((POBJECT_HEAD)&txt_ci_info_split2, W_L_SD + 10, SPLIT_2_T_SD, 0);//62, SPLIT_2_T - 1, 0); } else { OSD_SetColor((POBJECT_HEAD)&g_win_ci_info, WIN_SUBMENU_BODY_FRAME, WIN_SUBMENU_BODY_FRAME, WIN_SUBMENU_BODY_FRAME, WIN_SUBMENU_BODY_FRAME);//guop OSD_MoveObject((POBJECT_HEAD)&g_win_ci_info, W_L,W_T, 0); OSD_MoveObject((POBJECT_HEAD)&txt_ci_info_split1, SPLIT_1_L, SPLIT_1_T, 0); OSD_MoveObject((POBJECT_HEAD)&txt_ci_info_split2, SPLIT_1_L, SPLIT_2_T, 0); } ///////////////////////////////////////////////////////////////////////// //clear the menu //1. CI Title OSD_SetTextFieldContent(&txt_ci_info_title, STRING_UNICODE, (UINT32)""); //2. sub title ci_info_subtitle_content[0].text.pString = NULL; //3. bottom OSD_SetTextFieldContent(&txt_ci_info_bottom, STRING_UNICODE, (UINT32)""); //4. list OSD_SetObjListCount(&olst_ci_info, 0); OSD_SetAttr(&sb_ci_info, C_ATTR_HIDDEN); //show the ci enquiry dialog OSD_SetObjpNext(&txt_ci_info_bottom, NULL); //the the windows focus to the dialog g_win_ci_info.FocusObjectID = 1; }
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; }
static PRESULT tetris_key_proc(UINT32 vkey, UINT8 key_repeat_cnt, UINT8 key_status) { UINT8 back_saved; PRESULT ret = PROC_LOOP; if (key_status == PAN_KEY_PRESSED) { switch (vkey) { case V_KEY_UP: ChangeShape(&x, &y, &CurrentShape, &Status); break; case V_KEY_DOWN: GoDown(&x, &y, &CurrentShape, &Status); if (key_repeat_cnt == 0) { /* speed up drop speed */ osal_timer_set(GAME_CYCLIC_ID, 100); speed_up = TRUE; } break; case V_KEY_LEFT: GoLeft(&x, &y, &CurrentShape, &Status); break; case V_KEY_RIGHT: GoRight(&x, &y, &CurrentShape, &Status); break; case V_KEY_ENTER: if (playing == TRUE) { osal_timer_activate(GAME_CYCLIC_ID, FALSE); win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_frame(GET_MID_L(170), GET_MID_T(130), 170, 130); win_compopup_set_msg(NULL, NULL, RS_PAUSE); win_compopup_open_ext(&back_saved); osal_timer_activate(GAME_CYCLIC_ID, TRUE); } break; case V_KEY_MENU: case V_KEY_EXIT: if (playing == TRUE) { osal_timer_activate(GAME_CYCLIC_ID, FALSE); win_compopup_init(WIN_POPUP_TYPE_OKNO); //win_compopup_set_frame(GET_MID_L(250), GET_MID_T(130), 250, 130); win_compopup_set_frame(GET_MID_L(250), GET_MID_T(130), 320, 130); win_compopup_set_msg(NULL, NULL, RS_GAME_MSG_DO_YOU_QUIT); if (win_compopup_open_ext(&back_saved) == WIN_POP_CHOICE_YES) { playing = FALSE; tetris_init(); update_status(Speed, Erasered, TotalMark); tetris_redraw_main(); tetris_redraw_preview(); OSD_SetAttr((POBJECT_HEAD)&txt_start, C_ATTR_ACTIVE); OSD_ChangeFocus((POBJECT_HEAD)&game_con, 1, \ C_UPDATE_FOCUS | C_DRAW_SIGN_EVN_FLG); } else { osal_timer_activate(GAME_CYCLIC_ID, TRUE); } } break; default: ret = PROC_PASS; } } else if (key_status == PAN_KEY_RELEASE) { normal_speed(); } return ret; }
static BOOL GoDown(INT16 *x, INT16 *y, INT8 *CurrentShape, INT8 *Status) { INT8 AllAreOne = 1, removed_lines = 0; INT8 i, j, r, l, rr, ll; UINT8 back_saved; if (Possible(*x, (*y) + 1, *CurrentShape, *Status)) { hide(*x, *y, *CurrentShape, *Status); (*y)++; show(*x, *y, *CurrentShape, *Status, BLOCK_ACTIVE); return TRUE; } normal_speed(); for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { back[i + *y][j + *x] += shape[*CurrentShape][*Status][i][j]; } } for (r = 1; r < MAXY; r++)//20 { for (l = 2; l < 2 + MAXX; l++)//13 { if (back[r][l] == 0) { AllAreOne = 0; } } if (AllAreOne == 1) { for (rr = r; rr > 0; rr--) { for (ll = 2; ll < 2 + MAXX; ll++) { back[rr][ll] = back[rr - 1][ll]; } } for (ll = 2; ll < 2 + MAXX; ll++) { back[0][ll] = 0; }//the upper line will be all zero which represented the line is blank Erasered++; if((!(Erasered % 30)) && (Speed < 10)) { Speed++; osal_timer_set(GAME_CYCLIC_ID, TimeDelay[Speed - 1]); } removed_lines++; } AllAreOne = 1; } show(*x, *y, *CurrentShape, *Status, BLOCK_INACTIVE); //sunk the button CreateNewShape(x, y, CurrentShape, Status); if (!Possible(*x, *y, *CurrentShape, *Status)) { playing = FALSE; osal_timer_activate(GAME_CYCLIC_ID, FALSE); win_compopup_init(WIN_POPUP_TYPE_OK); win_compopup_set_frame(GET_MID_L(250), GET_MID_T(130), 250, 130); win_compopup_set_msg(NULL, NULL, RS_GAME_SORRY_YOU_LOST); win_compopup_open_ext(&back_saved); tetris_init(); update_status(Speed, Erasered, TotalMark); tetris_redraw_main(); tetris_redraw_preview(); OSD_SetAttr((POBJECT_HEAD)&txt_start, C_ATTR_ACTIVE); OSD_ChangeFocus((POBJECT_HEAD)&game_con, 1, \ C_UPDATE_FOCUS | C_DRAW_SIGN_EVN_FLG); } TotalMark += (Speed + 1) * (10 + removed_lines - 1) * removed_lines; update_status(Speed, Erasered, TotalMark); if (removed_lines > 0) { tetris_redraw_main(); } if (playing == TRUE) { show(*x, *y, *CurrentShape, *Status, BLOCK_ACTIVE); } return FALSE; }
static PRESULT sys_backup_item_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { UINT8 bID,back_saved; UINT16 block_idx,file_idx,popup_strid; INT32 vscr_idx,length,fileread_ret; char str_buff[20]; void *pBuff; BOOL burnflash_ret; VACTION unact; PRESULT ret; PMULTISEL pMsel; lpVSCR apVscr; win_popup_choice_t choice; UINT8 tmp[4]; UINT8 block_name[20]; UINT8 file_extention[4]; UINT8 file_name[24]; UINT32 chunk_offset; USB_BACKUP_MODE_TYPE_E usb_backup_mode; ret = PROC_PASS; bID = OSD_GetObjID(pObj); switch(event) { case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); if(unact == VACT_ENTER && bID == START_ID) { // start_backup =1; win_sys_backup_msg_clear(); win_sys_backup_process_update(0); vscr_idx = osal_task_get_current_id(); apVscr = OSD_GetTaskVscr(vscr_idx); popup_strid = RS_SYS_BACKUP_ALERT_NOPLUG; win_compopup_init(WIN_POPUP_TYPE_SMSG); win_compopup_set_msg(NULL,NULL, popup_strid); win_compopup_open_ext(&back_saved); osal_task_sleep(2000); win_compopup_smsg_restoreback(); OSD_SetAttr(&sys_backup_item_con1, C_ATTR_INACTIVE); OSD_SetAttr(&sys_backup_item_con2, C_ATTR_INACTIVE); OSD_DrawObject( (POBJECT_HEAD)&sys_backup_item_con1, C_UPDATE_ALL); OSD_DrawObject( (POBJECT_HEAD)&sys_backup_item_con2, C_UPDATE_ALL); pMsel = &sys_backup_sel_upgrade_type; usb_backup_mode = OSD_GetMultiselSel(pMsel); switch(usb_backup_mode) { case EM_BACKUP_MODE_TOTAL_FLASH: block_idx = 0; break; case EM_BACKUP_MODE_USER_DATA: block_idx = usbupg_get_block_index(USBUPG_USERDB); break; #ifdef EANBLE_BAKUP_CCCAM_NEWCAMD_DATA case EM_BACKUP_MODE_CCCAM_NEWCAMD: block_idx = usbupg_get_block_index(USBUPG_CCCAM_NEWCAMD); break; #endif #ifdef ENABLE_SOFT_CAM_KEY case EM_BACKUP_MODE_SOFTCAM: block_idx = usbupg_get_block_index(USBUPG_SOFTCAM); break; #endif default: // start_backup =0; ASSERT(0); return; } usbupg_get_blockinfo(block_idx, block_name, &chunk_offset); usb_backup_get_file_filter(usb_backup_mode, file_extention, tmp); sprintf(file_name, "%s.%s", block_name, file_extention); string_to_lower(file_name); //libc_printf("[sys_backup_item_callback]block_idx = %d, block_name = %s, file_extention = %s, file_name = %s", block_idx, block_name, file_extention, file_name); #ifdef EANBLE_BAKUP_CCCAM_NEWCAMD_DATA if(EM_BACKUP_MODE_CCCAM_NEWCAMD == usb_backup_mode) { //save the cccam data and newcamd data(first 16 group data) ret = usbupg_dump_flash2(CccamNewcamdBackup,(64*1024),file_name, win_sys_backup_process_update); } else #endif #ifdef ENABLE_SOFT_CAM_KEY if(EM_BACKUP_MODE_SOFTCAM == usb_backup_mode) { //save the softcam data ret = usbupg_dump_flash2(softcam_backup, 64*1024,file_name, win_sys_backup_process_update); } else #endif { #if 1//def WANGYANG ret = usbupg_dump_flash3(block_idx, file_name, win_sys_backup_process_update,win_progress_bar_draw_bmp); #else ret = usbupg_dump_flash(block_idx, file_name, win_sys_backup_process_update); #endif } if (ret ==RET_SUCCESS) { popup_strid = RS_MSG_BACKUP_SUCCESS; } else { popup_strid = RS_OTA_UPGRADE_FAIL; } ERROR_HANDLER: OSD_SetAttr(&sys_backup_item_con1, C_ATTR_ACTIVE); OSD_SetAttr(&sys_backup_item_con2, C_ATTR_ACTIVE); OSD_DrawObject( (POBJECT_HEAD)&sys_backup_item_con1, C_UPDATE_ALL); OSD_TrackObject( (POBJECT_HEAD)&sys_backup_item_con2, C_UPDATE_ALL); OSD_UpdateVscr(apVscr); // start_backup =0; if(popup_strid != 0) { win_sys_backup_msg_update(popup_strid); win_compopup_init(WIN_POPUP_TYPE_SMSG); win_compopup_set_msg(NULL,NULL, popup_strid); win_compopup_open_ext(&back_saved); osal_task_sleep(2000); win_compopup_smsg_restoreback(); } return ret; } break; } return ret; }
void win_set_mp_pvr_help_attr(UINT8 main_help, TITLE_TYPE title_type) { POBJECT_HEAD pObj; UINT8 i = 0; TEXT_FIELD* pTxt; struct mp_help_item1_resource* helpitem; if(title_type == TITLE_RECORD) { pObj = (OBJECT_HEAD *)&g_win_record; } else { pObj = (OBJECT_HEAD *)&g_win_usb_filelist; } if(main_help == 1) { if(OSD_GetFocusID(pObj) == MP_DEVICE_ID) { switch(title_type) { case TITLE_MUSIC: OSD_SetAttr(pHelp1Txt_ids[0], C_ATTR_INACTIVE);//play list OSD_SetAttr(pHelp1Txt_ids[1], C_ATTR_INACTIVE);//fav OSD_SetAttr(pHelp1Txt_ids[2], C_ATTR_INACTIVE);//fav all OSD_SetAttr(pHelp1Txt_ids[3], C_ATTR_ACTIVE);//edit OSD_SetAttr(pHelp1Txt_ids[4], C_ATTR_ACTIVE);//info OSD_SetAttr(pHelp2Txt_ids[0], C_ATTR_ACTIVE);//switch OSD_SetAttr(pHelp2Txt_ids[1], C_ATTR_INACTIVE);//sort OSD_SetAttr(pHelp2Txt_ids[2], C_ATTR_INACTIVE);//repeat OSD_SetAttr(pHelp2Txt_ids[3], C_ATTR_ACTIVE);//exit OSD_SetAttr(pHelp2Txt_ids[4], C_ATTR_ACTIVE); break; case TITLE_IMAGE: OSD_SetAttr(pHelp1Txt_ids[0], C_ATTR_INACTIVE);//play list OSD_SetAttr(pHelp1Txt_ids[1], C_ATTR_INACTIVE);//fav OSD_SetAttr(pHelp1Txt_ids[2], C_ATTR_INACTIVE);//fav all OSD_SetAttr(pHelp1Txt_ids[3], C_ATTR_ACTIVE);//edit OSD_SetAttr(pHelp1Txt_ids[4], C_ATTR_ACTIVE);//info OSD_SetAttr(pHelp2Txt_ids[0], C_ATTR_ACTIVE);//switch OSD_SetAttr(pHelp2Txt_ids[1], C_ATTR_INACTIVE);//sort OSD_SetAttr(pHelp2Txt_ids[2], C_ATTR_INACTIVE);//setup OSD_SetAttr(pHelp2Txt_ids[3], C_ATTR_INACTIVE);//multi view OSD_SetAttr(pHelp2Txt_ids[4], C_ATTR_ACTIVE);//exit break; case TITLE_VIDEO: OSD_SetAttr(pHelp1Txt_ids[0], C_ATTR_ACTIVE);//edit OSD_SetAttr(pHelp1Txt_ids[1], C_ATTR_ACTIVE);//info OSD_SetAttr(pHelp1Txt_ids[2], C_ATTR_ACTIVE); OSD_SetAttr(pHelp1Txt_ids[3], C_ATTR_ACTIVE); OSD_SetAttr(pHelp1Txt_ids[4], C_ATTR_ACTIVE); OSD_SetAttr(pHelp2Txt_ids[0], C_ATTR_ACTIVE);//switch OSD_SetAttr(pHelp2Txt_ids[1], C_ATTR_INACTIVE);//sort OSD_SetAttr(pHelp2Txt_ids[2], C_ATTR_ACTIVE);//exit OSD_SetAttr(pHelp2Txt_ids[3], C_ATTR_ACTIVE); OSD_SetAttr(pHelp2Txt_ids[4], C_ATTR_ACTIVE); break; case TITLE_RECORD: OSD_SetAttr(pHelp1Txt_ids[0], C_ATTR_INACTIVE);//rename OSD_SetAttr(pHelp1Txt_ids[1], C_ATTR_INACTIVE);//lock OSD_SetAttr(pHelp1Txt_ids[2], C_ATTR_INACTIVE);//delete OSD_SetAttr(pHelp1Txt_ids[3], C_ATTR_ACTIVE);//advance OSD_SetAttr(pHelp1Txt_ids[4], C_ATTR_ACTIVE);//info OSD_SetAttr(pHelp2Txt_ids[0], C_ATTR_ACTIVE);//switch OSD_SetAttr(pHelp2Txt_ids[1], C_ATTR_INACTIVE);//sort OSD_SetAttr(pHelp2Txt_ids[2], C_ATTR_ACTIVE);//exit OSD_SetAttr(pHelp2Txt_ids[3], C_ATTR_ACTIVE); OSD_SetAttr(pHelp2Txt_ids[4], C_ATTR_ACTIVE); break; default: break; } } else { for(i = 0; i < help_cnt1[title_type];i++) { pTxt = pHelp1Txt_ids[i]; OSD_SetAttr(pTxt, C_ATTR_ACTIVE); } for(i = 0; i < help_cnt2[title_type];i++) { pTxt = pHelp2Txt_ids[i]; OSD_SetAttr(pTxt, C_ATTR_ACTIVE); } } } else //edit&advance help { if(OSD_GetFocusID(pObj) == MP_DEVICE_ID) { switch(title_type) { case TITLE_MUSIC: case TITLE_IMAGE: case TITLE_VIDEO: OSD_SetAttr(pHelp1Txt_ids[0], C_ATTR_INACTIVE);//rename OSD_SetAttr(pHelp1Txt_ids[1], C_ATTR_INACTIVE);//copy OSD_SetAttr(pHelp1Txt_ids[2], C_ATTR_INACTIVE);//delete OSD_SetAttr(pHelp1Txt_ids[3], C_ATTR_INACTIVE);//+folder OSD_SetAttr(pHelp1Txt_ids[4], C_ATTR_ACTIVE);//info break; case TITLE_RECORD: OSD_SetAttr(pHelp1Txt_ids[0], C_ATTR_INACTIVE);//copy OSD_SetAttr(pHelp1Txt_ids[1], C_ATTR_ACTIVE);//info OSD_SetAttr(pHelp1Txt_ids[2], C_ATTR_ACTIVE);// OSD_SetAttr(pHelp1Txt_ids[3], C_ATTR_ACTIVE);// OSD_SetAttr(pHelp1Txt_ids[4], C_ATTR_ACTIVE);// break; default: break; } } else { for(i = 0; i < edithelp_cnt[title_type];i++) { pTxt = pHelp1Txt_ids[i]; OSD_SetAttr(pTxt, C_ATTR_ACTIVE); } } } }
BOOL ota_load_parameter() { UINT32 addr; UINT32 len; unsigned char *p = NULL; UINT32 m_ota_load_offset; BOOL ret = FALSE; UINT32 ota_bin_max_size = 0x200000; struct sto_device *flash_dev = (struct sto_device *)dev_get_by_type(NULL, HLD_DEV_TYPE_STO); #ifndef _CAS9_CA_ENABLE_ do { if(!find_ota_loader(&m_ota_load_offset)) break;; if((UINT32)flash_dev->totol_size > m_ota_load_offset) { ota_bin_max_size = (UINT32)flash_dev->totol_size-m_ota_load_offset; } if(ota_bin_max_size < 0x100000) ota_bin_max_size = 0x100000; chunk_init(m_ota_load_offset+SYS_FLASH_BASE_ADDR, ota_bin_max_size); // get user_db address if(!get_chunk_add_len(0x15Fa0200, &addr, &len)) break; p = (UINT8 *)addr; MEMCPY(&m_ota_cfg, p, sizeof(m_ota_cfg)); ota_freq = m_ota_cfg.t_node.frq; ota_symb = m_ota_cfg.t_node.sym; ota_pid = m_ota_cfg.pid; ota_pol = m_ota_cfg.t_node.pol; ota_modulation= m_ota_cfg.t_node.FEC_inner; //DVBC ret = TRUE; }while(0); #endif if((ota_freq == 0) && (ota_symb == 0) && (ota_pid == 0)) { #if (SYS_PROJECT_FE == PROJECT_FE_DVBS || SYS_PROJECT_FE == PROJECT_FE_DVBS2) ota_freq = 4150; ota_symb = 40000; ota_pid = 256; ota_pol = 0; #else //DVBC setting ota_freq = 5050; ota_symb = 6875; ota_pid = OTA_DATA_PID; ota_modulation = QAM64; #endif } #if (SYS_PROJECT_FE == PROJECT_FE_DVBS || SYS_PROJECT_FE == PROJECT_FE_DVBS2) OSD_ChangeFocus((POBJECT_HEAD)&win_otaupg_con, 7, 0); CONTAINER *con = &wota_con0; OSD_SetAttr(con, C_ATTR_INACTIVE); con = &wota_con1; OSD_SetAttr(con, C_ATTR_INACTIVE); PTEXT_FIELD pText = &wota_txt0; OSD_SetAttr(pText, C_ATTR_INACTIVE); pText = &wota_txt1; OSD_SetAttr(pText, C_ATTR_INACTIVE); PMULTISEL pmul = &wota_num0; OSD_SetAttr(pmul, C_ATTR_INACTIVE); pmul = &wota_num1; OSD_SetAttr(pmul, C_ATTR_INACTIVE); #endif return ret; }